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")] []