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