JsScript {
bom_token: missing (optional),
interpreter_token: missing (optional),
directives: JsDirectiveList [],
statements: JsStatementList [
JsFunctionDeclaration {
async_token: missing (optional),
function_token: FUNCTION_KW@0..19 "function" [Comments("// SCRIPT"), Newline("\n")] [Whitespace(" ")],
star_token: missing (optional),
id: JsIdentifierBinding {
name_token: IDENT@19..20 "f" [] [],
},
type_parameters: missing (optional),
parameters: JsParameters {
l_paren_token: L_PAREN@20..21 "(" [] [],
items: JsParameterList [
JsFormalParameter {
decorators: JsDecoratorList [],
binding: JsIdentifierBinding {
name_token: IDENT@21..22 "x" [] [],
},
question_mark_token: missing (optional),
type_annotation: missing (optional),
initializer: missing (optional),
},
COMMA@22..24 "," [] [Whitespace(" ")],
JsFormalParameter {
decorators: JsDecoratorList [],
binding: JsIdentifierBinding {
name_token: IDENT@24..25 "o" [] [],
},
question_mark_token: missing (optional),
type_annotation: missing (optional),
initializer: missing (optional),
},
],
r_paren_token: R_PAREN@25..27 ")" [] [Whitespace(" ")],
},
return_type_annotation: missing (optional),
body: JsFunctionBody {
l_curly_token: L_CURLY@27..28 "{" [] [],
directives: JsDirectiveList [],
statements: JsStatementList [
JsWithStatement {
with_token: WITH_KW@28..36 "with" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")],
l_paren_token: L_PAREN@36..37 "(" [] [],
object: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@37..38 "o" [] [],
},
},
r_paren_token: R_PAREN@38..40 ")" [] [Whitespace(" ")],
body: JsBlockStatement {
l_curly_token: L_CURLY@40..41 "{" [] [],
statements: JsStatementList [
JsExpressionStatement {
expression: JsCallExpression {
callee: JsStaticMemberExpression {
object: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@41..53 "console" [Newline("\n"), Whitespace(" ")] [],
},
},
operator_token: DOT@53..54 "." [] [],
member: JsName {
value_token: IDENT@54..57 "log" [] [],
},
},
optional_chain_token: missing (optional),
type_arguments: missing (optional),
arguments: JsCallArguments {
l_paren_token: L_PAREN@57..58 "(" [] [],
args: JsCallArgumentList [
JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@58..59 "x" [] [],
},
},
],
r_paren_token: R_PAREN@59..60 ")" [] [],
},
},
semicolon_token: SEMICOLON@60..61 ";" [] [],
},
],
r_curly_token: R_CURLY@61..65 "}" [Newline("\n"), Whitespace(" ")] [],
},
},
],
r_curly_token: R_CURLY@65..67 "}" [Newline("\n")] [],
},
},
],
eof_token: EOF@67..68 "" [Newline("\n")] [],
}
0: JS_SCRIPT@0..68
0: (empty)
1: (empty)
2: JS_DIRECTIVE_LIST@0..0
3: JS_STATEMENT_LIST@0..67
0: JS_FUNCTION_DECLARATION@0..67
0: (empty)
1: FUNCTION_KW@0..19 "function" [Comments("// SCRIPT"), Newline("\n")] [Whitespace(" ")]
2: (empty)
3: JS_IDENTIFIER_BINDING@19..20
0: IDENT@19..20 "f" [] []
4: (empty)
5: JS_PARAMETERS@20..27
0: L_PAREN@20..21 "(" [] []
1: JS_PARAMETER_LIST@21..25
0: JS_FORMAL_PARAMETER@21..22
0: JS_DECORATOR_LIST@21..21
1: JS_IDENTIFIER_BINDING@21..22
0: IDENT@21..22 "x" [] []
2: (empty)
3: (empty)
4: (empty)
1: COMMA@22..24 "," [] [Whitespace(" ")]
2: JS_FORMAL_PARAMETER@24..25
0: JS_DECORATOR_LIST@24..24
1: JS_IDENTIFIER_BINDING@24..25
0: IDENT@24..25 "o" [] []
2: (empty)
3: (empty)
4: (empty)
2: R_PAREN@25..27 ")" [] [Whitespace(" ")]
6: (empty)
7: JS_FUNCTION_BODY@27..67
0: L_CURLY@27..28 "{" [] []
1: JS_DIRECTIVE_LIST@28..28
2: JS_STATEMENT_LIST@28..65
0: JS_WITH_STATEMENT@28..65
0: WITH_KW@28..36 "with" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")]
1: L_PAREN@36..37 "(" [] []
2: JS_IDENTIFIER_EXPRESSION@37..38
0: JS_REFERENCE_IDENTIFIER@37..38
0: IDENT@37..38 "o" [] []
3: R_PAREN@38..40 ")" [] [Whitespace(" ")]
4: JS_BLOCK_STATEMENT@40..65
0: L_CURLY@40..41 "{" [] []
1: JS_STATEMENT_LIST@41..61
0: JS_EXPRESSION_STATEMENT@41..61
0: JS_CALL_EXPRESSION@41..60
0: JS_STATIC_MEMBER_EXPRESSION@41..57
0: JS_IDENTIFIER_EXPRESSION@41..53
0: JS_REFERENCE_IDENTIFIER@41..53
0: IDENT@41..53 "console" [Newline("\n"), Whitespace(" ")] []
1: DOT@53..54 "." [] []
2: JS_NAME@54..57
0: IDENT@54..57 "log" [] []
1: (empty)
2: (empty)
3: JS_CALL_ARGUMENTS@57..60
0: L_PAREN@57..58 "(" [] []
1: JS_CALL_ARGUMENT_LIST@58..59
0: JS_IDENTIFIER_EXPRESSION@58..59
0: JS_REFERENCE_IDENTIFIER@58..59
0: IDENT@58..59 "x" [] []
2: R_PAREN@59..60 ")" [] []
1: SEMICOLON@60..61 ";" [] []
2: R_CURLY@61..65 "}" [Newline("\n"), Whitespace(" ")] []
3: R_CURLY@65..67 "}" [Newline("\n")] []
4: EOF@67..68 "" [Newline("\n")] []