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