JsModule { bom_token: missing (optional), interpreter_token: missing (optional), directives: JsDirectiveList [], items: JsModuleItemList [ JsFunctionDeclaration { async_token: ASYNC_KW@0..6 "async" [] [Whitespace(" ")], function_token: FUNCTION_KW@6..15 "function" [] [Whitespace(" ")], star_token: missing (optional), id: JsIdentifierBinding { name_token: IDENT@15..19 "test" [] [], }, type_parameters: missing (optional), parameters: JsParameters { l_paren_token: L_PAREN@19..20 "(" [] [], items: JsParameterList [], r_paren_token: R_PAREN@20..22 ")" [] [Whitespace(" ")], }, return_type_annotation: missing (optional), body: JsFunctionBody { l_curly_token: L_CURLY@22..23 "{" [] [], directives: JsDirectiveList [], statements: JsStatementList [ JsExpressionStatement { expression: JsAwaitExpression { await_token: AWAIT_KW@23..32 "await" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")], argument: JsCallExpression { callee: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@32..37 "inner" [] [], }, }, optional_chain_token: missing (optional), type_arguments: missing (optional), arguments: JsCallArguments { l_paren_token: L_PAREN@37..38 "(" [] [], args: JsCallArgumentList [], r_paren_token: R_PAREN@38..39 ")" [] [], }, }, }, semicolon_token: SEMICOLON@39..40 ";" [] [], }, JsExpressionStatement { expression: JsBinaryExpression { left: JsAwaitExpression { await_token: AWAIT_KW@40..49 "await" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")], argument: JsParenthesizedExpression { l_paren_token: L_PAREN@49..50 "(" [] [], expression: JsCallExpression { callee: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@50..55 "inner" [] [], }, }, optional_chain_token: missing (optional), type_arguments: missing (optional), arguments: JsCallArguments { l_paren_token: L_PAREN@55..56 "(" [] [], args: JsCallArgumentList [], r_paren_token: R_PAREN@56..57 ")" [] [], }, }, r_paren_token: R_PAREN@57..59 ")" [] [Whitespace(" ")], }, }, operator_token: PLUS@59..61 "+" [] [Whitespace(" ")], right: JsAwaitExpression { await_token: AWAIT_KW@61..67 "await" [] [Whitespace(" ")], argument: JsCallExpression { callee: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@67..72 "inner" [] [], }, }, optional_chain_token: missing (optional), type_arguments: missing (optional), arguments: JsCallArguments { l_paren_token: L_PAREN@72..73 "(" [] [], args: JsCallArgumentList [], r_paren_token: R_PAREN@73..74 ")" [] [], }, }, }, }, semicolon_token: SEMICOLON@74..75 ";" [] [], }, ], r_curly_token: R_CURLY@75..77 "}" [Newline("\n")] [], }, }, JsFunctionDeclaration { async_token: ASYNC_KW@77..84 "async" [Newline("\n")] [Whitespace(" ")], function_token: FUNCTION_KW@84..93 "function" [] [Whitespace(" ")], star_token: missing (optional), id: JsIdentifierBinding { name_token: IDENT@93..98 "inner" [] [], }, type_parameters: missing (optional), parameters: JsParameters { l_paren_token: L_PAREN@98..99 "(" [] [], items: JsParameterList [], r_paren_token: R_PAREN@99..101 ")" [] [Whitespace(" ")], }, return_type_annotation: missing (optional), body: JsFunctionBody { l_curly_token: L_CURLY@101..102 "{" [] [], directives: JsDirectiveList [], statements: JsStatementList [ JsReturnStatement { return_token: RETURN_KW@102..112 "return" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")], argument: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@112..113 "4" [] [], }, semicolon_token: SEMICOLON@113..114 ";" [] [], }, ], r_curly_token: R_CURLY@114..116 "}" [Newline("\n")] [], }, }, JsExpressionStatement { expression: JsAwaitExpression { await_token: AWAIT_KW@116..123 "await" [Newline("\n")] [Whitespace(" ")], argument: JsCallExpression { callee: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@123..127 "test" [] [], }, }, optional_chain_token: missing (optional), type_arguments: missing (optional), arguments: JsCallArguments { l_paren_token: L_PAREN@127..128 "(" [] [], args: JsCallArgumentList [], r_paren_token: R_PAREN@128..129 ")" [] [], }, }, }, semicolon_token: SEMICOLON@129..130 ";" [] [], }, ], eof_token: EOF@130..131 "" [Newline("\n")] [], } 0: JS_MODULE@0..131 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..130 0: JS_FUNCTION_DECLARATION@0..77 0: ASYNC_KW@0..6 "async" [] [Whitespace(" ")] 1: FUNCTION_KW@6..15 "function" [] [Whitespace(" ")] 2: (empty) 3: JS_IDENTIFIER_BINDING@15..19 0: IDENT@15..19 "test" [] [] 4: (empty) 5: JS_PARAMETERS@19..22 0: L_PAREN@19..20 "(" [] [] 1: JS_PARAMETER_LIST@20..20 2: R_PAREN@20..22 ")" [] [Whitespace(" ")] 6: (empty) 7: JS_FUNCTION_BODY@22..77 0: L_CURLY@22..23 "{" [] [] 1: JS_DIRECTIVE_LIST@23..23 2: JS_STATEMENT_LIST@23..75 0: JS_EXPRESSION_STATEMENT@23..40 0: JS_AWAIT_EXPRESSION@23..39 0: AWAIT_KW@23..32 "await" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")] 1: JS_CALL_EXPRESSION@32..39 0: JS_IDENTIFIER_EXPRESSION@32..37 0: JS_REFERENCE_IDENTIFIER@32..37 0: IDENT@32..37 "inner" [] [] 1: (empty) 2: (empty) 3: JS_CALL_ARGUMENTS@37..39 0: L_PAREN@37..38 "(" [] [] 1: JS_CALL_ARGUMENT_LIST@38..38 2: R_PAREN@38..39 ")" [] [] 1: SEMICOLON@39..40 ";" [] [] 1: JS_EXPRESSION_STATEMENT@40..75 0: JS_BINARY_EXPRESSION@40..74 0: JS_AWAIT_EXPRESSION@40..59 0: AWAIT_KW@40..49 "await" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")] 1: JS_PARENTHESIZED_EXPRESSION@49..59 0: L_PAREN@49..50 "(" [] [] 1: JS_CALL_EXPRESSION@50..57 0: JS_IDENTIFIER_EXPRESSION@50..55 0: JS_REFERENCE_IDENTIFIER@50..55 0: IDENT@50..55 "inner" [] [] 1: (empty) 2: (empty) 3: JS_CALL_ARGUMENTS@55..57 0: L_PAREN@55..56 "(" [] [] 1: JS_CALL_ARGUMENT_LIST@56..56 2: R_PAREN@56..57 ")" [] [] 2: R_PAREN@57..59 ")" [] [Whitespace(" ")] 1: PLUS@59..61 "+" [] [Whitespace(" ")] 2: JS_AWAIT_EXPRESSION@61..74 0: AWAIT_KW@61..67 "await" [] [Whitespace(" ")] 1: JS_CALL_EXPRESSION@67..74 0: JS_IDENTIFIER_EXPRESSION@67..72 0: JS_REFERENCE_IDENTIFIER@67..72 0: IDENT@67..72 "inner" [] [] 1: (empty) 2: (empty) 3: JS_CALL_ARGUMENTS@72..74 0: L_PAREN@72..73 "(" [] [] 1: JS_CALL_ARGUMENT_LIST@73..73 2: R_PAREN@73..74 ")" [] [] 1: SEMICOLON@74..75 ";" [] [] 3: R_CURLY@75..77 "}" [Newline("\n")] [] 1: JS_FUNCTION_DECLARATION@77..116 0: ASYNC_KW@77..84 "async" [Newline("\n")] [Whitespace(" ")] 1: FUNCTION_KW@84..93 "function" [] [Whitespace(" ")] 2: (empty) 3: JS_IDENTIFIER_BINDING@93..98 0: IDENT@93..98 "inner" [] [] 4: (empty) 5: JS_PARAMETERS@98..101 0: L_PAREN@98..99 "(" [] [] 1: JS_PARAMETER_LIST@99..99 2: R_PAREN@99..101 ")" [] [Whitespace(" ")] 6: (empty) 7: JS_FUNCTION_BODY@101..116 0: L_CURLY@101..102 "{" [] [] 1: JS_DIRECTIVE_LIST@102..102 2: JS_STATEMENT_LIST@102..114 0: JS_RETURN_STATEMENT@102..114 0: RETURN_KW@102..112 "return" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")] 1: JS_NUMBER_LITERAL_EXPRESSION@112..113 0: JS_NUMBER_LITERAL@112..113 "4" [] [] 2: SEMICOLON@113..114 ";" [] [] 3: R_CURLY@114..116 "}" [Newline("\n")] [] 2: JS_EXPRESSION_STATEMENT@116..130 0: JS_AWAIT_EXPRESSION@116..129 0: AWAIT_KW@116..123 "await" [Newline("\n")] [Whitespace(" ")] 1: JS_CALL_EXPRESSION@123..129 0: JS_IDENTIFIER_EXPRESSION@123..127 0: JS_REFERENCE_IDENTIFIER@123..127 0: IDENT@123..127 "test" [] [] 1: (empty) 2: (empty) 3: JS_CALL_ARGUMENTS@127..129 0: L_PAREN@127..128 "(" [] [] 1: JS_CALL_ARGUMENT_LIST@128..128 2: R_PAREN@128..129 ")" [] [] 1: SEMICOLON@129..130 ";" [] [] 4: EOF@130..131 "" [Newline("\n")] []