JsModule {
bom_token: missing (optional),
interpreter_token: missing (optional),
directives: JsDirectiveList [],
items: JsModuleItemList [
JsExpressionStatement {
expression: JsStaticMemberExpression {
object: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@0..3 "foo" [] [],
},
},
operator_token: DOT@3..4 "." [] [],
member: JsName {
value_token: IDENT@4..7 "bar" [] [],
},
},
semicolon_token: missing (optional),
},
JsExpressionStatement {
expression: JsStaticMemberExpression {
object: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@7..11 "foo" [Newline("\n")] [],
},
},
operator_token: DOT@11..12 "." [] [],
member: JsName {
value_token: IDENT@12..17 "await" [] [],
},
},
semicolon_token: missing (optional),
},
JsExpressionStatement {
expression: JsStaticMemberExpression {
object: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@17..21 "foo" [Newline("\n")] [],
},
},
operator_token: DOT@21..22 "." [] [],
member: JsName {
value_token: IDENT@22..27 "yield" [] [],
},
},
semicolon_token: missing (optional),
},
JsExpressionStatement {
expression: JsStaticMemberExpression {
object: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@27..31 "foo" [Newline("\n")] [],
},
},
operator_token: DOT@31..32 "." [] [],
member: JsName {
value_token: IDENT@32..35 "for" [] [],
},
},
semicolon_token: missing (optional),
},
JsExpressionStatement {
expression: JsStaticMemberExpression {
object: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@35..39 "foo" [Newline("\n")] [],
},
},
operator_token: QUESTIONDOT@39..41 "?." [] [],
member: JsName {
value_token: IDENT@41..44 "for" [] [],
},
},
semicolon_token: missing (optional),
},
JsExpressionStatement {
expression: JsStaticMemberExpression {
object: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@44..48 "foo" [Newline("\n")] [],
},
},
operator_token: QUESTIONDOT@48..50 "?." [] [],
member: JsName {
value_token: IDENT@50..53 "bar" [] [],
},
},
semicolon_token: missing (optional),
},
JsClassDeclaration {
decorators: JsDecoratorList [],
abstract_token: missing (optional),
class_token: CLASS_KW@53..60 "class" [Newline("\n")] [Whitespace(" ")],
id: JsIdentifierBinding {
name_token: IDENT@60..65 "Test" [] [Whitespace(" ")],
},
type_parameters: missing (optional),
extends_clause: missing (optional),
implements_clause: missing (optional),
l_curly_token: L_CURLY@65..66 "{" [] [],
members: JsClassMemberList [
JsPropertyClassMember {
modifiers: JsPropertyModifierList [],
name: JsPrivateClassMemberName {
hash_token: HASH@66..70 "#" [Newline("\n"), Whitespace(" ")] [],
id_token: IDENT@70..73 "bar" [] [],
},
property_annotation: missing (optional),
value: missing (optional),
semicolon_token: missing (optional),
},
JsMethodClassMember {
modifiers: JsMethodModifierList [],
async_token: missing (optional),
star_token: missing (optional),
name: JsLiteralMemberName {
value: IDENT@73..80 "test" [Newline("\n"), Whitespace(" ")] [],
},
question_mark_token: missing (optional),
type_parameters: missing (optional),
parameters: JsParameters {
l_paren_token: L_PAREN@80..81 "(" [] [],
items: JsParameterList [
JsFormalParameter {
decorators: JsDecoratorList [],
binding: JsIdentifierBinding {
name_token: IDENT@81..86 "other" [] [],
},
question_mark_token: missing (optional),
type_annotation: missing (optional),
initializer: missing (optional),
},
],
r_paren_token: R_PAREN@86..88 ")" [] [Whitespace(" ")],
},
return_type_annotation: missing (optional),
body: JsFunctionBody {
l_curly_token: L_CURLY@88..89 "{" [] [],
directives: JsDirectiveList [],
statements: JsStatementList [
JsExpressionStatement {
expression: JsStaticMemberExpression {
object: JsThisExpression {
this_token: THIS_KW@89..98 "this" [Newline("\n"), Whitespace(" ")] [],
},
operator_token: DOT@98..99 "." [] [],
member: JsPrivateName {
hash_token: HASH@99..100 "#" [] [],
value_token: IDENT@100..103 "bar" [] [],
},
},
semicolon_token: SEMICOLON@103..104 ";" [] [],
},
JsExpressionStatement {
expression: JsStaticMemberExpression {
object: JsThisExpression {
this_token: THIS_KW@104..113 "this" [Newline("\n"), Whitespace(" ")] [],
},
operator_token: QUESTIONDOT@113..115 "?." [] [],
member: JsPrivateName {
hash_token: HASH@115..116 "#" [] [],
value_token: IDENT@116..119 "bar" [] [],
},
},
semicolon_token: SEMICOLON@119..120 ";" [] [],
},
JsExpressionStatement {
expression: JsStaticMemberExpression {
object: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@120..130 "other" [Newline("\n"), Whitespace(" ")] [],
},
},
operator_token: DOT@130..131 "." [] [],
member: JsPrivateName {
hash_token: HASH@131..132 "#" [] [],
value_token: IDENT@132..135 "bar" [] [],
},
},
semicolon_token: SEMICOLON@135..136 ";" [] [],
},
JsExpressionStatement {
expression: JsStaticMemberExpression {
object: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@136..146 "other" [Newline("\n"), Whitespace(" ")] [],
},
},
operator_token: QUESTIONDOT@146..148 "?." [] [],
member: JsPrivateName {
hash_token: HASH@148..149 "#" [] [],
value_token: IDENT@149..152 "bar" [] [],
},
},
semicolon_token: SEMICOLON@152..153 ";" [] [],
},
],
r_curly_token: R_CURLY@153..157 "}" [Newline("\n"), Whitespace(" ")] [],
},
},
],
r_curly_token: R_CURLY@157..159 "}" [Newline("\n")] [],
},
],
eof_token: EOF@159..160 "" [Newline("\n")] [],
}
0: JS_MODULE@0..160
0: (empty)
1: (empty)
2: JS_DIRECTIVE_LIST@0..0
3: JS_MODULE_ITEM_LIST@0..159
0: JS_EXPRESSION_STATEMENT@0..7
0: JS_STATIC_MEMBER_EXPRESSION@0..7
0: JS_IDENTIFIER_EXPRESSION@0..3
0: JS_REFERENCE_IDENTIFIER@0..3
0: IDENT@0..3 "foo" [] []
1: DOT@3..4 "." [] []
2: JS_NAME@4..7
0: IDENT@4..7 "bar" [] []
1: (empty)
1: JS_EXPRESSION_STATEMENT@7..17
0: JS_STATIC_MEMBER_EXPRESSION@7..17
0: JS_IDENTIFIER_EXPRESSION@7..11
0: JS_REFERENCE_IDENTIFIER@7..11
0: IDENT@7..11 "foo" [Newline("\n")] []
1: DOT@11..12 "." [] []
2: JS_NAME@12..17
0: IDENT@12..17 "await" [] []
1: (empty)
2: JS_EXPRESSION_STATEMENT@17..27
0: JS_STATIC_MEMBER_EXPRESSION@17..27
0: JS_IDENTIFIER_EXPRESSION@17..21
0: JS_REFERENCE_IDENTIFIER@17..21
0: IDENT@17..21 "foo" [Newline("\n")] []
1: DOT@21..22 "." [] []
2: JS_NAME@22..27
0: IDENT@22..27 "yield" [] []
1: (empty)
3: JS_EXPRESSION_STATEMENT@27..35
0: JS_STATIC_MEMBER_EXPRESSION@27..35
0: JS_IDENTIFIER_EXPRESSION@27..31
0: JS_REFERENCE_IDENTIFIER@27..31
0: IDENT@27..31 "foo" [Newline("\n")] []
1: DOT@31..32 "." [] []
2: JS_NAME@32..35
0: IDENT@32..35 "for" [] []
1: (empty)
4: JS_EXPRESSION_STATEMENT@35..44
0: JS_STATIC_MEMBER_EXPRESSION@35..44
0: JS_IDENTIFIER_EXPRESSION@35..39
0: JS_REFERENCE_IDENTIFIER@35..39
0: IDENT@35..39 "foo" [Newline("\n")] []
1: QUESTIONDOT@39..41 "?." [] []
2: JS_NAME@41..44
0: IDENT@41..44 "for" [] []
1: (empty)
5: JS_EXPRESSION_STATEMENT@44..53
0: JS_STATIC_MEMBER_EXPRESSION@44..53
0: JS_IDENTIFIER_EXPRESSION@44..48
0: JS_REFERENCE_IDENTIFIER@44..48
0: IDENT@44..48 "foo" [Newline("\n")] []
1: QUESTIONDOT@48..50 "?." [] []
2: JS_NAME@50..53
0: IDENT@50..53 "bar" [] []
1: (empty)
6: JS_CLASS_DECLARATION@53..159
0: JS_DECORATOR_LIST@53..53
1: (empty)
2: CLASS_KW@53..60 "class" [Newline("\n")] [Whitespace(" ")]
3: JS_IDENTIFIER_BINDING@60..65
0: IDENT@60..65 "Test" [] [Whitespace(" ")]
4: (empty)
5: (empty)
6: (empty)
7: L_CURLY@65..66 "{" [] []
8: JS_CLASS_MEMBER_LIST@66..157
0: JS_PROPERTY_CLASS_MEMBER@66..73
0: JS_PROPERTY_MODIFIER_LIST@66..66
1: JS_PRIVATE_CLASS_MEMBER_NAME@66..73
0: HASH@66..70 "#" [Newline("\n"), Whitespace(" ")] []
1: IDENT@70..73 "bar" [] []
2: (empty)
3: (empty)
4: (empty)
1: JS_METHOD_CLASS_MEMBER@73..157
0: JS_METHOD_MODIFIER_LIST@73..73
1: (empty)
2: (empty)
3: JS_LITERAL_MEMBER_NAME@73..80
0: IDENT@73..80 "test" [Newline("\n"), Whitespace(" ")] []
4: (empty)
5: (empty)
6: JS_PARAMETERS@80..88
0: L_PAREN@80..81 "(" [] []
1: JS_PARAMETER_LIST@81..86
0: JS_FORMAL_PARAMETER@81..86
0: JS_DECORATOR_LIST@81..81
1: JS_IDENTIFIER_BINDING@81..86
0: IDENT@81..86 "other" [] []
2: (empty)
3: (empty)
4: (empty)
2: R_PAREN@86..88 ")" [] [Whitespace(" ")]
7: (empty)
8: JS_FUNCTION_BODY@88..157
0: L_CURLY@88..89 "{" [] []
1: JS_DIRECTIVE_LIST@89..89
2: JS_STATEMENT_LIST@89..153
0: JS_EXPRESSION_STATEMENT@89..104
0: JS_STATIC_MEMBER_EXPRESSION@89..103
0: JS_THIS_EXPRESSION@89..98
0: THIS_KW@89..98 "this" [Newline("\n"), Whitespace(" ")] []
1: DOT@98..99 "." [] []
2: JS_PRIVATE_NAME@99..103
0: HASH@99..100 "#" [] []
1: IDENT@100..103 "bar" [] []
1: SEMICOLON@103..104 ";" [] []
1: JS_EXPRESSION_STATEMENT@104..120
0: JS_STATIC_MEMBER_EXPRESSION@104..119
0: JS_THIS_EXPRESSION@104..113
0: THIS_KW@104..113 "this" [Newline("\n"), Whitespace(" ")] []
1: QUESTIONDOT@113..115 "?." [] []
2: JS_PRIVATE_NAME@115..119
0: HASH@115..116 "#" [] []
1: IDENT@116..119 "bar" [] []
1: SEMICOLON@119..120 ";" [] []
2: JS_EXPRESSION_STATEMENT@120..136
0: JS_STATIC_MEMBER_EXPRESSION@120..135
0: JS_IDENTIFIER_EXPRESSION@120..130
0: JS_REFERENCE_IDENTIFIER@120..130
0: IDENT@120..130 "other" [Newline("\n"), Whitespace(" ")] []
1: DOT@130..131 "." [] []
2: JS_PRIVATE_NAME@131..135
0: HASH@131..132 "#" [] []
1: IDENT@132..135 "bar" [] []
1: SEMICOLON@135..136 ";" [] []
3: JS_EXPRESSION_STATEMENT@136..153
0: JS_STATIC_MEMBER_EXPRESSION@136..152
0: JS_IDENTIFIER_EXPRESSION@136..146
0: JS_REFERENCE_IDENTIFIER@136..146
0: IDENT@136..146 "other" [Newline("\n"), Whitespace(" ")] []
1: QUESTIONDOT@146..148 "?." [] []
2: JS_PRIVATE_NAME@148..152
0: HASH@148..149 "#" [] []
1: IDENT@149..152 "bar" [] []
1: SEMICOLON@152..153 ";" [] []
3: R_CURLY@153..157 "}" [Newline("\n"), Whitespace(" ")] []
9: R_CURLY@157..159 "}" [Newline("\n")] []
4: EOF@159..160 "" [Newline("\n")] []