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..23 "test" [] [], }, type_parameters: missing (optional), parameters: JsParameters { l_paren_token: L_PAREN@23..24 "(" [] [], items: JsParameterList [], r_paren_token: R_PAREN@24..26 ")" [] [Whitespace(" ")], }, return_type_annotation: missing (optional), body: JsFunctionBody { l_curly_token: L_CURLY@26..28 "{" [] [Whitespace(" ")], directives: JsDirectiveList [], statements: JsStatementList [ JsExpressionStatement { expression: JsAssignmentExpression { left: JsIdentifierAssignment { name_token: IDENT@28..30 "a" [] [Whitespace(" ")], }, operator_token: EQ@30..32 "=" [] [Whitespace(" ")], right: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@32..37 "await" [] [], }, }, }, semicolon_token: SEMICOLON@37..39 ";" [] [Whitespace(" ")], }, ], r_curly_token: R_CURLY@39..40 "}" [] [], }, }, JsFunctionDeclaration { async_token: missing (optional), function_token: FUNCTION_KW@40..50 "function" [Newline("\n")] [Whitespace(" ")], star_token: missing (optional), id: JsIdentifierBinding { name_token: IDENT@50..55 "test2" [] [], }, type_parameters: missing (optional), parameters: JsParameters { l_paren_token: L_PAREN@55..56 "(" [] [], items: JsParameterList [], r_paren_token: R_PAREN@56..58 ")" [] [Whitespace(" ")], }, return_type_annotation: missing (optional), body: JsFunctionBody { l_curly_token: L_CURLY@58..60 "{" [] [Whitespace(" ")], directives: JsDirectiveList [], statements: JsStatementList [ JsReturnStatement { return_token: RETURN_KW@60..67 "return" [] [Whitespace(" ")], argument: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@67..72 "await" [] [], }, }, semicolon_token: SEMICOLON@72..74 ";" [] [Whitespace(" ")], }, ], r_curly_token: R_CURLY@74..75 "}" [] [], }, }, ], eof_token: EOF@75..76 "" [Newline("\n")] [], } 0: JS_SCRIPT@0..76 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_STATEMENT_LIST@0..75 0: JS_FUNCTION_DECLARATION@0..40 0: (empty) 1: FUNCTION_KW@0..19 "function" [Comments("// SCRIPT"), Newline("\n")] [Whitespace(" ")] 2: (empty) 3: JS_IDENTIFIER_BINDING@19..23 0: IDENT@19..23 "test" [] [] 4: (empty) 5: JS_PARAMETERS@23..26 0: L_PAREN@23..24 "(" [] [] 1: JS_PARAMETER_LIST@24..24 2: R_PAREN@24..26 ")" [] [Whitespace(" ")] 6: (empty) 7: JS_FUNCTION_BODY@26..40 0: L_CURLY@26..28 "{" [] [Whitespace(" ")] 1: JS_DIRECTIVE_LIST@28..28 2: JS_STATEMENT_LIST@28..39 0: JS_EXPRESSION_STATEMENT@28..39 0: JS_ASSIGNMENT_EXPRESSION@28..37 0: JS_IDENTIFIER_ASSIGNMENT@28..30 0: IDENT@28..30 "a" [] [Whitespace(" ")] 1: EQ@30..32 "=" [] [Whitespace(" ")] 2: JS_IDENTIFIER_EXPRESSION@32..37 0: JS_REFERENCE_IDENTIFIER@32..37 0: IDENT@32..37 "await" [] [] 1: SEMICOLON@37..39 ";" [] [Whitespace(" ")] 3: R_CURLY@39..40 "}" [] [] 1: JS_FUNCTION_DECLARATION@40..75 0: (empty) 1: FUNCTION_KW@40..50 "function" [Newline("\n")] [Whitespace(" ")] 2: (empty) 3: JS_IDENTIFIER_BINDING@50..55 0: IDENT@50..55 "test2" [] [] 4: (empty) 5: JS_PARAMETERS@55..58 0: L_PAREN@55..56 "(" [] [] 1: JS_PARAMETER_LIST@56..56 2: R_PAREN@56..58 ")" [] [Whitespace(" ")] 6: (empty) 7: JS_FUNCTION_BODY@58..75 0: L_CURLY@58..60 "{" [] [Whitespace(" ")] 1: JS_DIRECTIVE_LIST@60..60 2: JS_STATEMENT_LIST@60..74 0: JS_RETURN_STATEMENT@60..74 0: RETURN_KW@60..67 "return" [] [Whitespace(" ")] 1: JS_IDENTIFIER_EXPRESSION@67..72 0: JS_REFERENCE_IDENTIFIER@67..72 0: IDENT@67..72 "await" [] [] 2: SEMICOLON@72..74 ";" [] [Whitespace(" ")] 3: R_CURLY@74..75 "}" [] [] 4: EOF@75..76 "" [Newline("\n")] []