JsModule {
bom_token: missing (optional),
interpreter_token: missing (optional),
directives: JsDirectiveList [],
items: JsModuleItemList [
JsExpressionStatement {
expression: JsNewExpression {
new_token: NEW_KW@0..4 "new" [] [Whitespace(" ")],
callee: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@4..7 "Foo" [] [],
},
},
type_arguments: missing (optional),
arguments: JsCallArguments {
l_paren_token: L_PAREN@7..8 "(" [] [],
args: JsCallArgumentList [],
r_paren_token: R_PAREN@8..9 ")" [] [],
},
},
semicolon_token: missing (optional),
},
JsExpressionStatement {
expression: JsNewExpression {
new_token: NEW_KW@9..14 "new" [Newline("\n")] [Whitespace(" ")],
callee: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@14..17 "foo" [] [],
},
},
type_arguments: missing (optional),
arguments: missing (optional),
},
semicolon_token: SEMICOLON@17..18 ";" [] [],
},
JsExpressionStatement {
expression: JsNewTargetExpression {
new_token: NEW_KW@18..22 "new" [Newline("\n")] [],
dot_token: DOT@22..23 "." [] [],
target_token: TARGET@23..29 "target" [] [],
},
semicolon_token: missing (optional),
},
JsExpressionStatement {
expression: JsNewExpression {
new_token: NEW_KW@29..34 "new" [Newline("\n")] [Whitespace(" ")],
callee: JsNewExpression {
new_token: NEW_KW@34..38 "new" [] [Whitespace(" ")],
callee: JsNewExpression {
new_token: NEW_KW@38..42 "new" [] [Whitespace(" ")],
callee: JsNewExpression {
new_token: NEW_KW@42..46 "new" [] [Whitespace(" ")],
callee: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@46..49 "Foo" [] [],
},
},
type_arguments: missing (optional),
arguments: JsCallArguments {
l_paren_token: L_PAREN@49..50 "(" [] [],
args: JsCallArgumentList [],
r_paren_token: R_PAREN@50..51 ")" [] [],
},
},
type_arguments: missing (optional),
arguments: missing (optional),
},
type_arguments: missing (optional),
arguments: missing (optional),
},
type_arguments: missing (optional),
arguments: missing (optional),
},
semicolon_token: SEMICOLON@51..52 ";" [] [],
},
JsExpressionStatement {
expression: JsNewExpression {
new_token: NEW_KW@52..57 "new" [Newline("\n")] [Whitespace(" ")],
callee: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@57..60 "Foo" [] [],
},
},
type_arguments: missing (optional),
arguments: JsCallArguments {
l_paren_token: L_PAREN@60..61 "(" [] [],
args: JsCallArgumentList [
JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@61..64 "bar" [] [],
},
},
COMMA@64..66 "," [] [Whitespace(" ")],
JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@66..69 "baz" [] [],
},
},
COMMA@69..71 "," [] [Whitespace(" ")],
JsBinaryExpression {
left: JsNumberLiteralExpression {
value_token: JS_NUMBER_LITERAL@71..73 "6" [] [Whitespace(" ")],
},
operator_token: PLUS@73..75 "+" [] [Whitespace(" ")],
right: JsNumberLiteralExpression {
value_token: JS_NUMBER_LITERAL@75..76 "6" [] [],
},
},
COMMA@76..78 "," [] [Whitespace(" ")],
JsBinaryExpression {
left: JsComputedMemberExpression {
object: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@78..81 "foo" [] [],
},
},
optional_chain_token: missing (optional),
l_brack_token: L_BRACK@81..82 "[" [] [],
member: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@82..85 "bar" [] [],
},
},
r_brack_token: R_BRACK@85..87 "]" [] [Whitespace(" ")],
},
operator_token: PLUS@87..89 "+" [] [Whitespace(" ")],
right: JsBinaryExpression {
left: JsParenthesizedExpression {
l_paren_token: L_PAREN@89..90 "(" [] [],
expression: JsArrowFunctionExpression {
async_token: missing (optional),
type_parameters: missing (optional),
parameters: JsParameters {
l_paren_token: L_PAREN@90..91 "(" [] [],
items: JsParameterList [
JsFormalParameter {
decorators: JsDecoratorList [],
binding: JsIdentifierBinding {
name_token: IDENT@91..94 "foo" [] [],
},
question_mark_token: missing (optional),
type_annotation: missing (optional),
initializer: missing (optional),
},
],
r_paren_token: R_PAREN@94..96 ")" [] [Whitespace(" ")],
},
return_type_annotation: missing (optional),
fat_arrow_token: FAT_ARROW@96..99 "=>" [] [Whitespace(" ")],
body: JsFunctionBody {
l_curly_token: L_CURLY@99..100 "{" [] [],
directives: JsDirectiveList [],
statements: JsStatementList [],
r_curly_token: R_CURLY@100..101 "}" [] [],
},
},
r_paren_token: R_PAREN@101..103 ")" [] [Whitespace(" ")],
},
operator_token: STAR@103..105 "*" [] [Whitespace(" ")],
right: JsStaticMemberExpression {
object: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@105..108 "foo" [] [],
},
},
operator_token: QUESTIONDOT@108..110 "?." [] [],
member: JsName {
value_token: IDENT@110..113 "bar" [] [],
},
},
},
},
],
r_paren_token: R_PAREN@113..114 ")" [] [],
},
},
semicolon_token: missing (optional),
},
],
eof_token: EOF@114..115 "" [Newline("\n")] [],
}
0: JS_MODULE@0..115
0: (empty)
1: (empty)
2: JS_DIRECTIVE_LIST@0..0
3: JS_MODULE_ITEM_LIST@0..114
0: JS_EXPRESSION_STATEMENT@0..9
0: JS_NEW_EXPRESSION@0..9
0: NEW_KW@0..4 "new" [] [Whitespace(" ")]
1: JS_IDENTIFIER_EXPRESSION@4..7
0: JS_REFERENCE_IDENTIFIER@4..7
0: IDENT@4..7 "Foo" [] []
2: (empty)
3: JS_CALL_ARGUMENTS@7..9
0: L_PAREN@7..8 "(" [] []
1: JS_CALL_ARGUMENT_LIST@8..8
2: R_PAREN@8..9 ")" [] []
1: (empty)
1: JS_EXPRESSION_STATEMENT@9..18
0: JS_NEW_EXPRESSION@9..17
0: NEW_KW@9..14 "new" [Newline("\n")] [Whitespace(" ")]
1: JS_IDENTIFIER_EXPRESSION@14..17
0: JS_REFERENCE_IDENTIFIER@14..17
0: IDENT@14..17 "foo" [] []
2: (empty)
3: (empty)
1: SEMICOLON@17..18 ";" [] []
2: JS_EXPRESSION_STATEMENT@18..29
0: JS_NEW_TARGET_EXPRESSION@18..29
0: NEW_KW@18..22 "new" [Newline("\n")] []
1: DOT@22..23 "." [] []
2: TARGET@23..29 "target" [] []
1: (empty)
3: JS_EXPRESSION_STATEMENT@29..52
0: JS_NEW_EXPRESSION@29..51
0: NEW_KW@29..34 "new" [Newline("\n")] [Whitespace(" ")]
1: JS_NEW_EXPRESSION@34..51
0: NEW_KW@34..38 "new" [] [Whitespace(" ")]
1: JS_NEW_EXPRESSION@38..51
0: NEW_KW@38..42 "new" [] [Whitespace(" ")]
1: JS_NEW_EXPRESSION@42..51
0: NEW_KW@42..46 "new" [] [Whitespace(" ")]
1: JS_IDENTIFIER_EXPRESSION@46..49
0: JS_REFERENCE_IDENTIFIER@46..49
0: IDENT@46..49 "Foo" [] []
2: (empty)
3: JS_CALL_ARGUMENTS@49..51
0: L_PAREN@49..50 "(" [] []
1: JS_CALL_ARGUMENT_LIST@50..50
2: R_PAREN@50..51 ")" [] []
2: (empty)
3: (empty)
2: (empty)
3: (empty)
2: (empty)
3: (empty)
1: SEMICOLON@51..52 ";" [] []
4: JS_EXPRESSION_STATEMENT@52..114
0: JS_NEW_EXPRESSION@52..114
0: NEW_KW@52..57 "new" [Newline("\n")] [Whitespace(" ")]
1: JS_IDENTIFIER_EXPRESSION@57..60
0: JS_REFERENCE_IDENTIFIER@57..60
0: IDENT@57..60 "Foo" [] []
2: (empty)
3: JS_CALL_ARGUMENTS@60..114
0: L_PAREN@60..61 "(" [] []
1: JS_CALL_ARGUMENT_LIST@61..113
0: JS_IDENTIFIER_EXPRESSION@61..64
0: JS_REFERENCE_IDENTIFIER@61..64
0: IDENT@61..64 "bar" [] []
1: COMMA@64..66 "," [] [Whitespace(" ")]
2: JS_IDENTIFIER_EXPRESSION@66..69
0: JS_REFERENCE_IDENTIFIER@66..69
0: IDENT@66..69 "baz" [] []
3: COMMA@69..71 "," [] [Whitespace(" ")]
4: JS_BINARY_EXPRESSION@71..76
0: JS_NUMBER_LITERAL_EXPRESSION@71..73
0: JS_NUMBER_LITERAL@71..73 "6" [] [Whitespace(" ")]
1: PLUS@73..75 "+" [] [Whitespace(" ")]
2: JS_NUMBER_LITERAL_EXPRESSION@75..76
0: JS_NUMBER_LITERAL@75..76 "6" [] []
5: COMMA@76..78 "," [] [Whitespace(" ")]
6: JS_BINARY_EXPRESSION@78..113
0: JS_COMPUTED_MEMBER_EXPRESSION@78..87
0: JS_IDENTIFIER_EXPRESSION@78..81
0: JS_REFERENCE_IDENTIFIER@78..81
0: IDENT@78..81 "foo" [] []
1: (empty)
2: L_BRACK@81..82 "[" [] []
3: JS_IDENTIFIER_EXPRESSION@82..85
0: JS_REFERENCE_IDENTIFIER@82..85
0: IDENT@82..85 "bar" [] []
4: R_BRACK@85..87 "]" [] [Whitespace(" ")]
1: PLUS@87..89 "+" [] [Whitespace(" ")]
2: JS_BINARY_EXPRESSION@89..113
0: JS_PARENTHESIZED_EXPRESSION@89..103
0: L_PAREN@89..90 "(" [] []
1: JS_ARROW_FUNCTION_EXPRESSION@90..101
0: (empty)
1: (empty)
2: JS_PARAMETERS@90..96
0: L_PAREN@90..91 "(" [] []
1: JS_PARAMETER_LIST@91..94
0: JS_FORMAL_PARAMETER@91..94
0: JS_DECORATOR_LIST@91..91
1: JS_IDENTIFIER_BINDING@91..94
0: IDENT@91..94 "foo" [] []
2: (empty)
3: (empty)
4: (empty)
2: R_PAREN@94..96 ")" [] [Whitespace(" ")]
3: (empty)
4: FAT_ARROW@96..99 "=>" [] [Whitespace(" ")]
5: JS_FUNCTION_BODY@99..101
0: L_CURLY@99..100 "{" [] []
1: JS_DIRECTIVE_LIST@100..100
2: JS_STATEMENT_LIST@100..100
3: R_CURLY@100..101 "}" [] []
2: R_PAREN@101..103 ")" [] [Whitespace(" ")]
1: STAR@103..105 "*" [] [Whitespace(" ")]
2: JS_STATIC_MEMBER_EXPRESSION@105..113
0: JS_IDENTIFIER_EXPRESSION@105..108
0: JS_REFERENCE_IDENTIFIER@105..108
0: IDENT@105..108 "foo" [] []
1: QUESTIONDOT@108..110 "?." [] []
2: JS_NAME@110..113
0: IDENT@110..113 "bar" [] []
2: R_PAREN@113..114 ")" [] []
1: (empty)
4: EOF@114..115 "" [Newline("\n")] []