JsModule {
bom_token: missing (optional),
interpreter_token: missing (optional),
directives: JsDirectiveList [],
items: JsModuleItemList [
JsClassDeclaration {
decorators: JsDecoratorList [],
abstract_token: missing (optional),
class_token: CLASS_KW@0..6 "class" [] [Whitespace(" ")],
id: JsIdentifierBinding {
name_token: IDENT@6..14 "Setters" [] [Whitespace(" ")],
},
type_parameters: missing (optional),
extends_clause: missing (optional),
implements_clause: missing (optional),
l_curly_token: L_CURLY@14..15 "{" [] [],
members: JsClassMemberList [
JsSetterClassMember {
modifiers: JsMethodModifierList [],
set_token: SET_KW@15..22 "set" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")],
name: JsLiteralMemberName {
value: IDENT@22..25 "foo" [] [],
},
l_paren_token: L_PAREN@25..26 "(" [] [],
parameter: JsFormalParameter {
decorators: JsDecoratorList [],
binding: JsIdentifierBinding {
name_token: IDENT@26..27 "a" [] [],
},
question_mark_token: missing (optional),
type_annotation: missing (optional),
initializer: missing (optional),
},
r_paren_token: R_PAREN@27..29 ")" [] [Whitespace(" ")],
body: JsFunctionBody {
l_curly_token: L_CURLY@29..30 "{" [] [],
directives: JsDirectiveList [],
statements: JsStatementList [],
r_curly_token: R_CURLY@30..31 "}" [] [],
},
},
JsSetterClassMember {
modifiers: JsMethodModifierList [],
set_token: SET_KW@31..38 "set" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")],
name: JsLiteralMemberName {
value: IDENT@38..44 "static" [] [],
},
l_paren_token: L_PAREN@44..45 "(" [] [],
parameter: JsFormalParameter {
decorators: JsDecoratorList [],
binding: JsIdentifierBinding {
name_token: IDENT@45..46 "a" [] [],
},
question_mark_token: missing (optional),
type_annotation: missing (optional),
initializer: missing (optional),
},
r_paren_token: R_PAREN@46..48 ")" [] [Whitespace(" ")],
body: JsFunctionBody {
l_curly_token: L_CURLY@48..49 "{" [] [],
directives: JsDirectiveList [],
statements: JsStatementList [],
r_curly_token: R_CURLY@49..50 "}" [] [],
},
},
JsSetterClassMember {
modifiers: JsMethodModifierList [
JsStaticModifier {
modifier_token: STATIC_KW@50..60 "static" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")],
},
],
set_token: SET_KW@60..64 "set" [] [Whitespace(" ")],
name: JsLiteralMemberName {
value: IDENT@64..67 "bar" [] [],
},
l_paren_token: L_PAREN@67..68 "(" [] [],
parameter: JsFormalParameter {
decorators: JsDecoratorList [],
binding: JsIdentifierBinding {
name_token: IDENT@68..69 "a" [] [],
},
question_mark_token: missing (optional),
type_annotation: missing (optional),
initializer: missing (optional),
},
r_paren_token: R_PAREN@69..71 ")" [] [Whitespace(" ")],
body: JsFunctionBody {
l_curly_token: L_CURLY@71..72 "{" [] [],
directives: JsDirectiveList [],
statements: JsStatementList [],
r_curly_token: R_CURLY@72..73 "}" [] [],
},
},
JsSetterClassMember {
modifiers: JsMethodModifierList [],
set_token: SET_KW@73..80 "set" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")],
name: JsLiteralMemberName {
value: JS_STRING_LITERAL@80..85 "\"baz\"" [] [],
},
l_paren_token: L_PAREN@85..86 "(" [] [],
parameter: JsFormalParameter {
decorators: JsDecoratorList [],
binding: JsIdentifierBinding {
name_token: IDENT@86..87 "a" [] [],
},
question_mark_token: missing (optional),
type_annotation: missing (optional),
initializer: missing (optional),
},
r_paren_token: R_PAREN@87..89 ")" [] [Whitespace(" ")],
body: JsFunctionBody {
l_curly_token: L_CURLY@89..90 "{" [] [],
directives: JsDirectiveList [],
statements: JsStatementList [],
r_curly_token: R_CURLY@90..91 "}" [] [],
},
},
JsSetterClassMember {
modifiers: JsMethodModifierList [],
set_token: SET_KW@91..98 "set" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")],
name: JsComputedMemberName {
l_brack_token: L_BRACK@98..99 "[" [] [],
expression: JsBinaryExpression {
left: JsStringLiteralExpression {
value_token: JS_STRING_LITERAL@99..103 "\"a\"" [] [Whitespace(" ")],
},
operator_token: PLUS@103..105 "+" [] [Whitespace(" ")],
right: JsStringLiteralExpression {
value_token: JS_STRING_LITERAL@105..108 "\"b\"" [] [],
},
},
r_brack_token: R_BRACK@108..109 "]" [] [],
},
l_paren_token: L_PAREN@109..110 "(" [] [],
parameter: JsFormalParameter {
decorators: JsDecoratorList [],
binding: JsIdentifierBinding {
name_token: IDENT@110..111 "a" [] [],
},
question_mark_token: missing (optional),
type_annotation: missing (optional),
initializer: missing (optional),
},
r_paren_token: R_PAREN@111..113 ")" [] [Whitespace(" ")],
body: JsFunctionBody {
l_curly_token: L_CURLY@113..114 "{" [] [],
directives: JsDirectiveList [],
statements: JsStatementList [],
r_curly_token: R_CURLY@114..115 "}" [] [],
},
},
JsSetterClassMember {
modifiers: JsMethodModifierList [],
set_token: SET_KW@115..122 "set" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")],
name: JsLiteralMemberName {
value: JS_NUMBER_LITERAL@122..123 "5" [] [],
},
l_paren_token: L_PAREN@123..124 "(" [] [],
parameter: JsFormalParameter {
decorators: JsDecoratorList [],
binding: JsIdentifierBinding {
name_token: IDENT@124..125 "a" [] [],
},
question_mark_token: missing (optional),
type_annotation: missing (optional),
initializer: missing (optional),
},
r_paren_token: R_PAREN@125..127 ")" [] [Whitespace(" ")],
body: JsFunctionBody {
l_curly_token: L_CURLY@127..128 "{" [] [],
directives: JsDirectiveList [],
statements: JsStatementList [],
r_curly_token: R_CURLY@128..129 "}" [] [],
},
},
JsSetterClassMember {
modifiers: JsMethodModifierList [],
set_token: SET_KW@129..136 "set" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")],
name: JsPrivateClassMemberName {
hash_token: HASH@136..137 "#" [] [],
id_token: IDENT@137..144 "private" [] [],
},
l_paren_token: L_PAREN@144..145 "(" [] [],
parameter: JsFormalParameter {
decorators: JsDecoratorList [],
binding: JsIdentifierBinding {
name_token: IDENT@145..146 "a" [] [],
},
question_mark_token: missing (optional),
type_annotation: missing (optional),
initializer: missing (optional),
},
r_paren_token: R_PAREN@146..148 ")" [] [Whitespace(" ")],
body: JsFunctionBody {
l_curly_token: L_CURLY@148..149 "{" [] [],
directives: JsDirectiveList [],
statements: JsStatementList [],
r_curly_token: R_CURLY@149..150 "}" [] [],
},
},
],
r_curly_token: R_CURLY@150..152 "}" [Newline("\n")] [],
},
JsClassDeclaration {
decorators: JsDecoratorList [],
abstract_token: missing (optional),
class_token: CLASS_KW@152..159 "class" [Newline("\n")] [Whitespace(" ")],
id: JsIdentifierBinding {
name_token: IDENT@159..170 "NotSetters" [] [Whitespace(" ")],
},
type_parameters: missing (optional),
extends_clause: missing (optional),
implements_clause: missing (optional),
l_curly_token: L_CURLY@170..171 "{" [] [],
members: JsClassMemberList [
JsMethodClassMember {
modifiers: JsMethodModifierList [],
async_token: missing (optional),
star_token: missing (optional),
name: JsLiteralMemberName {
value: IDENT@171..177 "set" [Newline("\n"), Whitespace(" ")] [],
},
question_mark_token: missing (optional),
type_parameters: missing (optional),
parameters: JsParameters {
l_paren_token: L_PAREN@177..178 "(" [] [],
items: JsParameterList [
JsFormalParameter {
decorators: JsDecoratorList [],
binding: JsIdentifierBinding {
name_token: IDENT@178..179 "a" [] [],
},
question_mark_token: missing (optional),
type_annotation: missing (optional),
initializer: missing (optional),
},
],
r_paren_token: R_PAREN@179..181 ")" [] [Whitespace(" ")],
},
return_type_annotation: missing (optional),
body: JsFunctionBody {
l_curly_token: L_CURLY@181..182 "{" [] [],
directives: JsDirectiveList [],
statements: JsStatementList [],
r_curly_token: R_CURLY@182..183 "}" [] [],
},
},
JsMethodClassMember {
modifiers: JsMethodModifierList [],
async_token: ASYNC_KW@183..192 "async" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")],
star_token: missing (optional),
name: JsLiteralMemberName {
value: IDENT@192..195 "set" [] [],
},
question_mark_token: missing (optional),
type_parameters: missing (optional),
parameters: JsParameters {
l_paren_token: L_PAREN@195..196 "(" [] [],
items: JsParameterList [
JsFormalParameter {
decorators: JsDecoratorList [],
binding: JsIdentifierBinding {
name_token: IDENT@196..197 "a" [] [],
},
question_mark_token: missing (optional),
type_annotation: missing (optional),
initializer: missing (optional),
},
],
r_paren_token: R_PAREN@197..199 ")" [] [Whitespace(" ")],
},
return_type_annotation: missing (optional),
body: JsFunctionBody {
l_curly_token: L_CURLY@199..200 "{" [] [],
directives: JsDirectiveList [],
statements: JsStatementList [],
r_curly_token: R_CURLY@200..201 "}" [] [],
},
},
JsMethodClassMember {
modifiers: JsMethodModifierList [
JsStaticModifier {
modifier_token: STATIC_KW@201..211 "static" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")],
},
],
async_token: missing (optional),
star_token: missing (optional),
name: JsLiteralMemberName {
value: IDENT@211..214 "set" [] [],
},
question_mark_token: missing (optional),
type_parameters: missing (optional),
parameters: JsParameters {
l_paren_token: L_PAREN@214..215 "(" [] [],
items: JsParameterList [
JsFormalParameter {
decorators: JsDecoratorList [],
binding: JsIdentifierBinding {
name_token: IDENT@215..216 "a" [] [],
},
question_mark_token: missing (optional),
type_annotation: missing (optional),
initializer: missing (optional),
},
],
r_paren_token: R_PAREN@216..218 ")" [] [Whitespace(" ")],
},
return_type_annotation: missing (optional),
body: JsFunctionBody {
l_curly_token: L_CURLY@218..219 "{" [] [],
directives: JsDirectiveList [],
statements: JsStatementList [],
r_curly_token: R_CURLY@219..220 "}" [] [],
},
},
],
r_curly_token: R_CURLY@220..222 "}" [Newline("\n")] [],
},
],
eof_token: EOF@222..223 "" [Newline("\n")] [],
}
0: JS_MODULE@0..223
0: (empty)
1: (empty)
2: JS_DIRECTIVE_LIST@0..0
3: JS_MODULE_ITEM_LIST@0..222
0: JS_CLASS_DECLARATION@0..152
0: JS_DECORATOR_LIST@0..0
1: (empty)
2: CLASS_KW@0..6 "class" [] [Whitespace(" ")]
3: JS_IDENTIFIER_BINDING@6..14
0: IDENT@6..14 "Setters" [] [Whitespace(" ")]
4: (empty)
5: (empty)
6: (empty)
7: L_CURLY@14..15 "{" [] []
8: JS_CLASS_MEMBER_LIST@15..150
0: JS_SETTER_CLASS_MEMBER@15..31
0: JS_METHOD_MODIFIER_LIST@15..15
1: SET_KW@15..22 "set" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")]
2: JS_LITERAL_MEMBER_NAME@22..25
0: IDENT@22..25 "foo" [] []
3: L_PAREN@25..26 "(" [] []
4: JS_FORMAL_PARAMETER@26..27
0: JS_DECORATOR_LIST@26..26
1: JS_IDENTIFIER_BINDING@26..27
0: IDENT@26..27 "a" [] []
2: (empty)
3: (empty)
4: (empty)
5: R_PAREN@27..29 ")" [] [Whitespace(" ")]
6: JS_FUNCTION_BODY@29..31
0: L_CURLY@29..30 "{" [] []
1: JS_DIRECTIVE_LIST@30..30
2: JS_STATEMENT_LIST@30..30
3: R_CURLY@30..31 "}" [] []
1: JS_SETTER_CLASS_MEMBER@31..50
0: JS_METHOD_MODIFIER_LIST@31..31
1: SET_KW@31..38 "set" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")]
2: JS_LITERAL_MEMBER_NAME@38..44
0: IDENT@38..44 "static" [] []
3: L_PAREN@44..45 "(" [] []
4: JS_FORMAL_PARAMETER@45..46
0: JS_DECORATOR_LIST@45..45
1: JS_IDENTIFIER_BINDING@45..46
0: IDENT@45..46 "a" [] []
2: (empty)
3: (empty)
4: (empty)
5: R_PAREN@46..48 ")" [] [Whitespace(" ")]
6: JS_FUNCTION_BODY@48..50
0: L_CURLY@48..49 "{" [] []
1: JS_DIRECTIVE_LIST@49..49
2: JS_STATEMENT_LIST@49..49
3: R_CURLY@49..50 "}" [] []
2: JS_SETTER_CLASS_MEMBER@50..73
0: JS_METHOD_MODIFIER_LIST@50..60
0: JS_STATIC_MODIFIER@50..60
0: STATIC_KW@50..60 "static" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")]
1: SET_KW@60..64 "set" [] [Whitespace(" ")]
2: JS_LITERAL_MEMBER_NAME@64..67
0: IDENT@64..67 "bar" [] []
3: L_PAREN@67..68 "(" [] []
4: JS_FORMAL_PARAMETER@68..69
0: JS_DECORATOR_LIST@68..68
1: JS_IDENTIFIER_BINDING@68..69
0: IDENT@68..69 "a" [] []
2: (empty)
3: (empty)
4: (empty)
5: R_PAREN@69..71 ")" [] [Whitespace(" ")]
6: JS_FUNCTION_BODY@71..73
0: L_CURLY@71..72 "{" [] []
1: JS_DIRECTIVE_LIST@72..72
2: JS_STATEMENT_LIST@72..72
3: R_CURLY@72..73 "}" [] []
3: JS_SETTER_CLASS_MEMBER@73..91
0: JS_METHOD_MODIFIER_LIST@73..73
1: SET_KW@73..80 "set" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")]
2: JS_LITERAL_MEMBER_NAME@80..85
0: JS_STRING_LITERAL@80..85 "\"baz\"" [] []
3: L_PAREN@85..86 "(" [] []
4: JS_FORMAL_PARAMETER@86..87
0: JS_DECORATOR_LIST@86..86
1: JS_IDENTIFIER_BINDING@86..87
0: IDENT@86..87 "a" [] []
2: (empty)
3: (empty)
4: (empty)
5: R_PAREN@87..89 ")" [] [Whitespace(" ")]
6: JS_FUNCTION_BODY@89..91
0: L_CURLY@89..90 "{" [] []
1: JS_DIRECTIVE_LIST@90..90
2: JS_STATEMENT_LIST@90..90
3: R_CURLY@90..91 "}" [] []
4: JS_SETTER_CLASS_MEMBER@91..115
0: JS_METHOD_MODIFIER_LIST@91..91
1: SET_KW@91..98 "set" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")]
2: JS_COMPUTED_MEMBER_NAME@98..109
0: L_BRACK@98..99 "[" [] []
1: JS_BINARY_EXPRESSION@99..108
0: JS_STRING_LITERAL_EXPRESSION@99..103
0: JS_STRING_LITERAL@99..103 "\"a\"" [] [Whitespace(" ")]
1: PLUS@103..105 "+" [] [Whitespace(" ")]
2: JS_STRING_LITERAL_EXPRESSION@105..108
0: JS_STRING_LITERAL@105..108 "\"b\"" [] []
2: R_BRACK@108..109 "]" [] []
3: L_PAREN@109..110 "(" [] []
4: JS_FORMAL_PARAMETER@110..111
0: JS_DECORATOR_LIST@110..110
1: JS_IDENTIFIER_BINDING@110..111
0: IDENT@110..111 "a" [] []
2: (empty)
3: (empty)
4: (empty)
5: R_PAREN@111..113 ")" [] [Whitespace(" ")]
6: JS_FUNCTION_BODY@113..115
0: L_CURLY@113..114 "{" [] []
1: JS_DIRECTIVE_LIST@114..114
2: JS_STATEMENT_LIST@114..114
3: R_CURLY@114..115 "}" [] []
5: JS_SETTER_CLASS_MEMBER@115..129
0: JS_METHOD_MODIFIER_LIST@115..115
1: SET_KW@115..122 "set" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")]
2: JS_LITERAL_MEMBER_NAME@122..123
0: JS_NUMBER_LITERAL@122..123 "5" [] []
3: L_PAREN@123..124 "(" [] []
4: JS_FORMAL_PARAMETER@124..125
0: JS_DECORATOR_LIST@124..124
1: JS_IDENTIFIER_BINDING@124..125
0: IDENT@124..125 "a" [] []
2: (empty)
3: (empty)
4: (empty)
5: R_PAREN@125..127 ")" [] [Whitespace(" ")]
6: JS_FUNCTION_BODY@127..129
0: L_CURLY@127..128 "{" [] []
1: JS_DIRECTIVE_LIST@128..128
2: JS_STATEMENT_LIST@128..128
3: R_CURLY@128..129 "}" [] []
6: JS_SETTER_CLASS_MEMBER@129..150
0: JS_METHOD_MODIFIER_LIST@129..129
1: SET_KW@129..136 "set" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")]
2: JS_PRIVATE_CLASS_MEMBER_NAME@136..144
0: HASH@136..137 "#" [] []
1: IDENT@137..144 "private" [] []
3: L_PAREN@144..145 "(" [] []
4: JS_FORMAL_PARAMETER@145..146
0: JS_DECORATOR_LIST@145..145
1: JS_IDENTIFIER_BINDING@145..146
0: IDENT@145..146 "a" [] []
2: (empty)
3: (empty)
4: (empty)
5: R_PAREN@146..148 ")" [] [Whitespace(" ")]
6: JS_FUNCTION_BODY@148..150
0: L_CURLY@148..149 "{" [] []
1: JS_DIRECTIVE_LIST@149..149
2: JS_STATEMENT_LIST@149..149
3: R_CURLY@149..150 "}" [] []
9: R_CURLY@150..152 "}" [Newline("\n")] []
1: JS_CLASS_DECLARATION@152..222
0: JS_DECORATOR_LIST@152..152
1: (empty)
2: CLASS_KW@152..159 "class" [Newline("\n")] [Whitespace(" ")]
3: JS_IDENTIFIER_BINDING@159..170
0: IDENT@159..170 "NotSetters" [] [Whitespace(" ")]
4: (empty)
5: (empty)
6: (empty)
7: L_CURLY@170..171 "{" [] []
8: JS_CLASS_MEMBER_LIST@171..220
0: JS_METHOD_CLASS_MEMBER@171..183
0: JS_METHOD_MODIFIER_LIST@171..171
1: (empty)
2: (empty)
3: JS_LITERAL_MEMBER_NAME@171..177
0: IDENT@171..177 "set" [Newline("\n"), Whitespace(" ")] []
4: (empty)
5: (empty)
6: JS_PARAMETERS@177..181
0: L_PAREN@177..178 "(" [] []
1: JS_PARAMETER_LIST@178..179
0: JS_FORMAL_PARAMETER@178..179
0: JS_DECORATOR_LIST@178..178
1: JS_IDENTIFIER_BINDING@178..179
0: IDENT@178..179 "a" [] []
2: (empty)
3: (empty)
4: (empty)
2: R_PAREN@179..181 ")" [] [Whitespace(" ")]
7: (empty)
8: JS_FUNCTION_BODY@181..183
0: L_CURLY@181..182 "{" [] []
1: JS_DIRECTIVE_LIST@182..182
2: JS_STATEMENT_LIST@182..182
3: R_CURLY@182..183 "}" [] []
1: JS_METHOD_CLASS_MEMBER@183..201
0: JS_METHOD_MODIFIER_LIST@183..183
1: ASYNC_KW@183..192 "async" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")]
2: (empty)
3: JS_LITERAL_MEMBER_NAME@192..195
0: IDENT@192..195 "set" [] []
4: (empty)
5: (empty)
6: JS_PARAMETERS@195..199
0: L_PAREN@195..196 "(" [] []
1: JS_PARAMETER_LIST@196..197
0: JS_FORMAL_PARAMETER@196..197
0: JS_DECORATOR_LIST@196..196
1: JS_IDENTIFIER_BINDING@196..197
0: IDENT@196..197 "a" [] []
2: (empty)
3: (empty)
4: (empty)
2: R_PAREN@197..199 ")" [] [Whitespace(" ")]
7: (empty)
8: JS_FUNCTION_BODY@199..201
0: L_CURLY@199..200 "{" [] []
1: JS_DIRECTIVE_LIST@200..200
2: JS_STATEMENT_LIST@200..200
3: R_CURLY@200..201 "}" [] []
2: JS_METHOD_CLASS_MEMBER@201..220
0: JS_METHOD_MODIFIER_LIST@201..211
0: JS_STATIC_MODIFIER@201..211
0: STATIC_KW@201..211 "static" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")]
1: (empty)
2: (empty)
3: JS_LITERAL_MEMBER_NAME@211..214
0: IDENT@211..214 "set" [] []
4: (empty)
5: (empty)
6: JS_PARAMETERS@214..218
0: L_PAREN@214..215 "(" [] []
1: JS_PARAMETER_LIST@215..216
0: JS_FORMAL_PARAMETER@215..216
0: JS_DECORATOR_LIST@215..215
1: JS_IDENTIFIER_BINDING@215..216
0: IDENT@215..216 "a" [] []
2: (empty)
3: (empty)
4: (empty)
2: R_PAREN@216..218 ")" [] [Whitespace(" ")]
7: (empty)
8: JS_FUNCTION_BODY@218..220
0: L_CURLY@218..219 "{" [] []
1: JS_DIRECTIVE_LIST@219..219
2: JS_STATEMENT_LIST@219..219
3: R_CURLY@219..220 "}" [] []
9: R_CURLY@220..222 "}" [Newline("\n")] []
4: EOF@222..223 "" [Newline("\n")] []