JsModule { bom_token: missing (optional), interpreter_token: missing (optional), directives: JsDirectiveList [], items: JsModuleItemList [ JsExpressionStatement { expression: JsBinaryExpression { left: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@0..2 "5" [] [Whitespace(" ")], }, operator_token: STAR@2..4 "*" [] [Whitespace(" ")], right: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@4..5 "5" [] [], }, }, semicolon_token: missing (optional), }, JsExpressionStatement { expression: JsBinaryExpression { left: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@5..8 "6" [Newline("\n")] [Whitespace(" ")], }, operator_token: STAR2@8..11 "**" [] [Whitespace(" ")], right: JsBinaryExpression { left: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@11..13 "6" [] [Whitespace(" ")], }, operator_token: STAR2@13..16 "**" [] [Whitespace(" ")], right: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@16..17 "7" [] [], }, }, }, semicolon_token: missing (optional), }, JsExpressionStatement { expression: JsBinaryExpression { left: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@17..20 "1" [Newline("\n")] [Whitespace(" ")], }, operator_token: PLUS@20..22 "+" [] [Whitespace(" ")], right: JsBinaryExpression { left: JsBinaryExpression { left: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@22..24 "2" [] [Whitespace(" ")], }, operator_token: STAR@24..26 "*" [] [Whitespace(" ")], right: JsCallExpression { callee: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@26..27 "3" [] [], }, optional_chain_token: missing (optional), type_arguments: missing (optional), arguments: JsCallArguments { l_paren_token: L_PAREN@27..29 "(" [Newline("\n")] [], args: JsCallArgumentList [ JsBinaryExpression { left: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@29..31 "1" [] [Whitespace(" ")], }, operator_token: PLUS@31..33 "+" [] [Whitespace(" ")], right: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@33..34 "2" [] [], }, }, ], r_paren_token: R_PAREN@34..36 ")" [] [Whitespace(" ")], }, }, }, operator_token: STAR@36..38 "*" [] [Whitespace(" ")], right: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@38..39 "3" [] [], }, }, }, semicolon_token: missing (optional), }, JsExpressionStatement { expression: JsBinaryExpression { left: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@39..42 "1" [Newline("\n")] [Whitespace(" ")], }, operator_token: SLASH@42..44 "/" [] [Whitespace(" ")], right: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@44..45 "2" [] [], }, }, semicolon_token: missing (optional), }, JsExpressionStatement { expression: JsInExpression { property: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@45..49 "74" [Newline("\n")] [Whitespace(" ")], }, in_token: IN_KW@49..52 "in" [] [Whitespace(" ")], object: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@52..55 "foo" [] [], }, }, }, semicolon_token: missing (optional), }, JsExpressionStatement { expression: JsInstanceofExpression { left: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@55..60 "foo" [Newline("\n")] [Whitespace(" ")], }, }, instanceof_token: INSTANCEOF_KW@60..71 "instanceof" [] [Whitespace(" ")], right: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@71..76 "Array" [] [], }, }, }, semicolon_token: missing (optional), }, JsExpressionStatement { expression: JsLogicalExpression { left: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@76..81 "foo" [Newline("\n")] [Whitespace(" ")], }, }, operator_token: QUESTION2@81..84 "??" [] [Whitespace(" ")], right: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@84..87 "bar" [] [], }, }, }, semicolon_token: missing (optional), }, JsExpressionStatement { expression: JsBinaryExpression { left: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@87..90 "a" [Newline("\n")] [Whitespace(" ")], }, }, operator_token: SHR@90..93 ">>" [] [Whitespace(" ")], right: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@93..94 "b" [] [], }, }, }, semicolon_token: missing (optional), }, JsExpressionStatement { expression: JsBinaryExpression { left: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@94..97 "a" [Newline("\n")] [Whitespace(" ")], }, }, operator_token: USHR@97..101 ">>>" [] [Whitespace(" ")], right: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@101..102 "b" [] [], }, }, }, semicolon_token: missing (optional), }, JsExpressionStatement { expression: JsBinaryExpression { left: JsBinaryExpression { left: JsBinaryExpression { left: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@102..105 "1" [Newline("\n")] [Whitespace(" ")], }, operator_token: PLUS@105..107 "+" [] [Whitespace(" ")], right: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@107..109 "1" [] [Whitespace(" ")], }, }, operator_token: PLUS@109..111 "+" [] [Whitespace(" ")], right: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@111..113 "1" [] [Whitespace(" ")], }, }, operator_token: PLUS@113..115 "+" [] [Whitespace(" ")], right: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@115..116 "1" [] [], }, }, semicolon_token: missing (optional), }, JsExpressionStatement { expression: JsBinaryExpression { left: JsBinaryExpression { left: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@116..119 "5" [Newline("\n")] [Whitespace(" ")], }, operator_token: PLUS@119..121 "+" [] [Whitespace(" ")], right: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@121..123 "6" [] [Whitespace(" ")], }, }, operator_token: MINUS@123..125 "-" [] [Whitespace(" ")], right: JsBinaryExpression { left: JsBinaryExpression { left: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@125..127 "1" [] [Whitespace(" ")], }, operator_token: STAR@127..129 "*" [] [Whitespace(" ")], right: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@129..131 "2" [] [Whitespace(" ")], }, }, operator_token: SLASH@131..133 "/" [] [Whitespace(" ")], right: JsBinaryExpression { left: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@133..135 "1" [] [Whitespace(" ")], }, operator_token: STAR2@135..138 "**" [] [Whitespace(" ")], right: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@138..139 "6" [] [], }, }, }, }, semicolon_token: missing (optional), }, JsClassDeclaration { decorators: JsDecoratorList [], abstract_token: missing (optional), class_token: CLASS_KW@139..146 "class" [Newline("\n")] [Whitespace(" ")], id: JsIdentifierBinding { name_token: IDENT@146..151 "Test" [] [Whitespace(" ")], }, type_parameters: missing (optional), extends_clause: missing (optional), implements_clause: missing (optional), l_curly_token: L_CURLY@151..153 "{" [] [Whitespace(" ")], members: JsClassMemberList [ JsPropertyClassMember { modifiers: JsPropertyModifierList [], name: JsPrivateClassMemberName { hash_token: HASH@153..154 "#" [] [], id_token: IDENT@154..158 "name" [] [], }, property_annotation: missing (optional), value: missing (optional), semicolon_token: SEMICOLON@158..160 ";" [] [Whitespace(" ")], }, JsMethodClassMember { modifiers: JsMethodModifierList [], async_token: missing (optional), star_token: missing (optional), name: JsLiteralMemberName { value: IDENT@160..164 "test" [] [], }, question_mark_token: missing (optional), type_parameters: missing (optional), parameters: JsParameters { l_paren_token: L_PAREN@164..165 "(" [] [], items: JsParameterList [], r_paren_token: R_PAREN@165..167 ")" [] [Whitespace(" ")], }, return_type_annotation: missing (optional), body: JsFunctionBody { l_curly_token: L_CURLY@167..169 "{" [] [Whitespace(" ")], directives: JsDirectiveList [], statements: JsStatementList [ JsExpressionStatement { expression: JsLogicalExpression { left: JsBooleanLiteralExpression { value_token: TRUE_KW@169..174 "true" [] [Whitespace(" ")], }, operator_token: AMP2@174..177 "&&" [] [Whitespace(" ")], right: JsInExpression { property: JsPrivateName { hash_token: HASH@177..178 "#" [] [], value_token: IDENT@178..183 "name" [] [Whitespace(" ")], }, in_token: IN_KW@183..186 "in" [] [Whitespace(" ")], object: JsObjectExpression { l_curly_token: L_CURLY@186..187 "{" [] [], members: JsObjectMemberList [], r_curly_token: R_CURLY@187..189 "}" [] [Whitespace(" ")], }, }, }, semicolon_token: missing (optional), }, ], r_curly_token: R_CURLY@189..191 "}" [] [Whitespace(" ")], }, }, ], r_curly_token: R_CURLY@191..192 "}" [] [], }, ], eof_token: EOF@192..193 "" [Newline("\n")] [], } 0: JS_MODULE@0..193 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..192 0: JS_EXPRESSION_STATEMENT@0..5 0: JS_BINARY_EXPRESSION@0..5 0: JS_NUMBER_LITERAL_EXPRESSION@0..2 0: JS_NUMBER_LITERAL@0..2 "5" [] [Whitespace(" ")] 1: STAR@2..4 "*" [] [Whitespace(" ")] 2: JS_NUMBER_LITERAL_EXPRESSION@4..5 0: JS_NUMBER_LITERAL@4..5 "5" [] [] 1: (empty) 1: JS_EXPRESSION_STATEMENT@5..17 0: JS_BINARY_EXPRESSION@5..17 0: JS_NUMBER_LITERAL_EXPRESSION@5..8 0: JS_NUMBER_LITERAL@5..8 "6" [Newline("\n")] [Whitespace(" ")] 1: STAR2@8..11 "**" [] [Whitespace(" ")] 2: JS_BINARY_EXPRESSION@11..17 0: JS_NUMBER_LITERAL_EXPRESSION@11..13 0: JS_NUMBER_LITERAL@11..13 "6" [] [Whitespace(" ")] 1: STAR2@13..16 "**" [] [Whitespace(" ")] 2: JS_NUMBER_LITERAL_EXPRESSION@16..17 0: JS_NUMBER_LITERAL@16..17 "7" [] [] 1: (empty) 2: JS_EXPRESSION_STATEMENT@17..39 0: JS_BINARY_EXPRESSION@17..39 0: JS_NUMBER_LITERAL_EXPRESSION@17..20 0: JS_NUMBER_LITERAL@17..20 "1" [Newline("\n")] [Whitespace(" ")] 1: PLUS@20..22 "+" [] [Whitespace(" ")] 2: JS_BINARY_EXPRESSION@22..39 0: JS_BINARY_EXPRESSION@22..36 0: JS_NUMBER_LITERAL_EXPRESSION@22..24 0: JS_NUMBER_LITERAL@22..24 "2" [] [Whitespace(" ")] 1: STAR@24..26 "*" [] [Whitespace(" ")] 2: JS_CALL_EXPRESSION@26..36 0: JS_NUMBER_LITERAL_EXPRESSION@26..27 0: JS_NUMBER_LITERAL@26..27 "3" [] [] 1: (empty) 2: (empty) 3: JS_CALL_ARGUMENTS@27..36 0: L_PAREN@27..29 "(" [Newline("\n")] [] 1: JS_CALL_ARGUMENT_LIST@29..34 0: JS_BINARY_EXPRESSION@29..34 0: JS_NUMBER_LITERAL_EXPRESSION@29..31 0: JS_NUMBER_LITERAL@29..31 "1" [] [Whitespace(" ")] 1: PLUS@31..33 "+" [] [Whitespace(" ")] 2: JS_NUMBER_LITERAL_EXPRESSION@33..34 0: JS_NUMBER_LITERAL@33..34 "2" [] [] 2: R_PAREN@34..36 ")" [] [Whitespace(" ")] 1: STAR@36..38 "*" [] [Whitespace(" ")] 2: JS_NUMBER_LITERAL_EXPRESSION@38..39 0: JS_NUMBER_LITERAL@38..39 "3" [] [] 1: (empty) 3: JS_EXPRESSION_STATEMENT@39..45 0: JS_BINARY_EXPRESSION@39..45 0: JS_NUMBER_LITERAL_EXPRESSION@39..42 0: JS_NUMBER_LITERAL@39..42 "1" [Newline("\n")] [Whitespace(" ")] 1: SLASH@42..44 "/" [] [Whitespace(" ")] 2: JS_NUMBER_LITERAL_EXPRESSION@44..45 0: JS_NUMBER_LITERAL@44..45 "2" [] [] 1: (empty) 4: JS_EXPRESSION_STATEMENT@45..55 0: JS_IN_EXPRESSION@45..55 0: JS_NUMBER_LITERAL_EXPRESSION@45..49 0: JS_NUMBER_LITERAL@45..49 "74" [Newline("\n")] [Whitespace(" ")] 1: IN_KW@49..52 "in" [] [Whitespace(" ")] 2: JS_IDENTIFIER_EXPRESSION@52..55 0: JS_REFERENCE_IDENTIFIER@52..55 0: IDENT@52..55 "foo" [] [] 1: (empty) 5: JS_EXPRESSION_STATEMENT@55..76 0: JS_INSTANCEOF_EXPRESSION@55..76 0: JS_IDENTIFIER_EXPRESSION@55..60 0: JS_REFERENCE_IDENTIFIER@55..60 0: IDENT@55..60 "foo" [Newline("\n")] [Whitespace(" ")] 1: INSTANCEOF_KW@60..71 "instanceof" [] [Whitespace(" ")] 2: JS_IDENTIFIER_EXPRESSION@71..76 0: JS_REFERENCE_IDENTIFIER@71..76 0: IDENT@71..76 "Array" [] [] 1: (empty) 6: JS_EXPRESSION_STATEMENT@76..87 0: JS_LOGICAL_EXPRESSION@76..87 0: JS_IDENTIFIER_EXPRESSION@76..81 0: JS_REFERENCE_IDENTIFIER@76..81 0: IDENT@76..81 "foo" [Newline("\n")] [Whitespace(" ")] 1: QUESTION2@81..84 "??" [] [Whitespace(" ")] 2: JS_IDENTIFIER_EXPRESSION@84..87 0: JS_REFERENCE_IDENTIFIER@84..87 0: IDENT@84..87 "bar" [] [] 1: (empty) 7: JS_EXPRESSION_STATEMENT@87..94 0: JS_BINARY_EXPRESSION@87..94 0: JS_IDENTIFIER_EXPRESSION@87..90 0: JS_REFERENCE_IDENTIFIER@87..90 0: IDENT@87..90 "a" [Newline("\n")] [Whitespace(" ")] 1: SHR@90..93 ">>" [] [Whitespace(" ")] 2: JS_IDENTIFIER_EXPRESSION@93..94 0: JS_REFERENCE_IDENTIFIER@93..94 0: IDENT@93..94 "b" [] [] 1: (empty) 8: JS_EXPRESSION_STATEMENT@94..102 0: JS_BINARY_EXPRESSION@94..102 0: JS_IDENTIFIER_EXPRESSION@94..97 0: JS_REFERENCE_IDENTIFIER@94..97 0: IDENT@94..97 "a" [Newline("\n")] [Whitespace(" ")] 1: USHR@97..101 ">>>" [] [Whitespace(" ")] 2: JS_IDENTIFIER_EXPRESSION@101..102 0: JS_REFERENCE_IDENTIFIER@101..102 0: IDENT@101..102 "b" [] [] 1: (empty) 9: JS_EXPRESSION_STATEMENT@102..116 0: JS_BINARY_EXPRESSION@102..116 0: JS_BINARY_EXPRESSION@102..113 0: JS_BINARY_EXPRESSION@102..109 0: JS_NUMBER_LITERAL_EXPRESSION@102..105 0: JS_NUMBER_LITERAL@102..105 "1" [Newline("\n")] [Whitespace(" ")] 1: PLUS@105..107 "+" [] [Whitespace(" ")] 2: JS_NUMBER_LITERAL_EXPRESSION@107..109 0: JS_NUMBER_LITERAL@107..109 "1" [] [Whitespace(" ")] 1: PLUS@109..111 "+" [] [Whitespace(" ")] 2: JS_NUMBER_LITERAL_EXPRESSION@111..113 0: JS_NUMBER_LITERAL@111..113 "1" [] [Whitespace(" ")] 1: PLUS@113..115 "+" [] [Whitespace(" ")] 2: JS_NUMBER_LITERAL_EXPRESSION@115..116 0: JS_NUMBER_LITERAL@115..116 "1" [] [] 1: (empty) 10: JS_EXPRESSION_STATEMENT@116..139 0: JS_BINARY_EXPRESSION@116..139 0: JS_BINARY_EXPRESSION@116..123 0: JS_NUMBER_LITERAL_EXPRESSION@116..119 0: JS_NUMBER_LITERAL@116..119 "5" [Newline("\n")] [Whitespace(" ")] 1: PLUS@119..121 "+" [] [Whitespace(" ")] 2: JS_NUMBER_LITERAL_EXPRESSION@121..123 0: JS_NUMBER_LITERAL@121..123 "6" [] [Whitespace(" ")] 1: MINUS@123..125 "-" [] [Whitespace(" ")] 2: JS_BINARY_EXPRESSION@125..139 0: JS_BINARY_EXPRESSION@125..131 0: JS_NUMBER_LITERAL_EXPRESSION@125..127 0: JS_NUMBER_LITERAL@125..127 "1" [] [Whitespace(" ")] 1: STAR@127..129 "*" [] [Whitespace(" ")] 2: JS_NUMBER_LITERAL_EXPRESSION@129..131 0: JS_NUMBER_LITERAL@129..131 "2" [] [Whitespace(" ")] 1: SLASH@131..133 "/" [] [Whitespace(" ")] 2: JS_BINARY_EXPRESSION@133..139 0: JS_NUMBER_LITERAL_EXPRESSION@133..135 0: JS_NUMBER_LITERAL@133..135 "1" [] [Whitespace(" ")] 1: STAR2@135..138 "**" [] [Whitespace(" ")] 2: JS_NUMBER_LITERAL_EXPRESSION@138..139 0: JS_NUMBER_LITERAL@138..139 "6" [] [] 1: (empty) 11: JS_CLASS_DECLARATION@139..192 0: JS_DECORATOR_LIST@139..139 1: (empty) 2: CLASS_KW@139..146 "class" [Newline("\n")] [Whitespace(" ")] 3: JS_IDENTIFIER_BINDING@146..151 0: IDENT@146..151 "Test" [] [Whitespace(" ")] 4: (empty) 5: (empty) 6: (empty) 7: L_CURLY@151..153 "{" [] [Whitespace(" ")] 8: JS_CLASS_MEMBER_LIST@153..191 0: JS_PROPERTY_CLASS_MEMBER@153..160 0: JS_PROPERTY_MODIFIER_LIST@153..153 1: JS_PRIVATE_CLASS_MEMBER_NAME@153..158 0: HASH@153..154 "#" [] [] 1: IDENT@154..158 "name" [] [] 2: (empty) 3: (empty) 4: SEMICOLON@158..160 ";" [] [Whitespace(" ")] 1: JS_METHOD_CLASS_MEMBER@160..191 0: JS_METHOD_MODIFIER_LIST@160..160 1: (empty) 2: (empty) 3: JS_LITERAL_MEMBER_NAME@160..164 0: IDENT@160..164 "test" [] [] 4: (empty) 5: (empty) 6: JS_PARAMETERS@164..167 0: L_PAREN@164..165 "(" [] [] 1: JS_PARAMETER_LIST@165..165 2: R_PAREN@165..167 ")" [] [Whitespace(" ")] 7: (empty) 8: JS_FUNCTION_BODY@167..191 0: L_CURLY@167..169 "{" [] [Whitespace(" ")] 1: JS_DIRECTIVE_LIST@169..169 2: JS_STATEMENT_LIST@169..189 0: JS_EXPRESSION_STATEMENT@169..189 0: JS_LOGICAL_EXPRESSION@169..189 0: JS_BOOLEAN_LITERAL_EXPRESSION@169..174 0: TRUE_KW@169..174 "true" [] [Whitespace(" ")] 1: AMP2@174..177 "&&" [] [Whitespace(" ")] 2: JS_IN_EXPRESSION@177..189 0: JS_PRIVATE_NAME@177..183 0: HASH@177..178 "#" [] [] 1: IDENT@178..183 "name" [] [Whitespace(" ")] 1: IN_KW@183..186 "in" [] [Whitespace(" ")] 2: JS_OBJECT_EXPRESSION@186..189 0: L_CURLY@186..187 "{" [] [] 1: JS_OBJECT_MEMBER_LIST@187..187 2: R_CURLY@187..189 "}" [] [Whitespace(" ")] 1: (empty) 3: R_CURLY@189..191 "}" [] [Whitespace(" ")] 9: R_CURLY@191..192 "}" [] [] 4: EOF@192..193 "" [Newline("\n")] []