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