JsModule { bom_token: missing (optional), interpreter_token: missing (optional), directives: JsDirectiveList [], items: JsModuleItemList [ JsClassDeclaration { decorators: JsDecoratorList [], abstract_token: ABSTRACT_KW@0..9 "abstract" [] [Whitespace(" ")], class_token: CLASS_KW@9..15 "class" [] [Whitespace(" ")], id: JsIdentifierBinding { name_token: IDENT@15..17 "A" [] [Whitespace(" ")], }, type_parameters: missing (optional), extends_clause: missing (optional), implements_clause: missing (optional), l_curly_token: L_CURLY@17..18 "{" [] [], members: JsClassMemberList [], r_curly_token: R_CURLY@18..19 "}" [] [], }, JsClassDeclaration { decorators: JsDecoratorList [], abstract_token: ABSTRACT_KW@19..29 "abstract" [Newline("\n")] [Whitespace(" ")], class_token: CLASS_KW@29..35 "class" [] [Whitespace(" ")], id: JsIdentifierBinding { name_token: IDENT@35..51 "ConcreteMembers" [] [Whitespace(" ")], }, type_parameters: missing (optional), extends_clause: missing (optional), implements_clause: missing (optional), l_curly_token: L_CURLY@51..52 "{" [] [], members: JsClassMemberList [ JsPropertyClassMember { modifiers: JsPropertyModifierList [], name: JsLiteralMemberName { value: IDENT@52..61 "name" [Newline("\n"), Whitespace(" ")] [], }, property_annotation: TsTypeAnnotation { colon_token: COLON@61..63 ":" [] [Whitespace(" ")], ty: TsStringType { string_token: STRING_KW@63..69 "string" [] [], }, }, value: missing (optional), semicolon_token: SEMICOLON@69..70 ";" [] [], }, JsConstructorClassMember { modifiers: JsConstructorModifierList [], name: JsLiteralMemberName { value: IDENT@70..86 "constructor" [Newline("\n"), Whitespace(" ")] [], }, parameters: JsConstructorParameters { l_paren_token: L_PAREN@86..87 "(" [] [], parameters: JsConstructorParameterList [ JsFormalParameter { decorators: JsDecoratorList [], binding: JsIdentifierBinding { name_token: IDENT@87..91 "name" [] [], }, question_mark_token: missing (optional), type_annotation: TsTypeAnnotation { colon_token: COLON@91..93 ":" [] [Whitespace(" ")], ty: TsStringType { string_token: STRING_KW@93..99 "string" [] [], }, }, initializer: missing (optional), }, ], r_paren_token: R_PAREN@99..101 ")" [] [Whitespace(" ")], }, body: JsFunctionBody { l_curly_token: L_CURLY@101..103 "{" [] [Whitespace(" ")], directives: JsDirectiveList [], statements: JsStatementList [ JsExpressionStatement { expression: JsAssignmentExpression { left: JsStaticMemberAssignment { object: JsThisExpression { this_token: THIS_KW@103..107 "this" [] [], }, dot_token: DOT@107..108 "." [] [], member: JsName { value_token: IDENT@108..113 "name" [] [Whitespace(" ")], }, }, operator_token: EQ@113..115 "=" [] [Whitespace(" ")], right: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@115..119 "name" [] [], }, }, }, semicolon_token: SEMICOLON@119..121 ";" [] [Whitespace(" ")], }, ], r_curly_token: R_CURLY@121..122 "}" [] [], }, }, JsMethodClassMember { modifiers: JsMethodModifierList [], async_token: missing (optional), star_token: missing (optional), name: JsLiteralMemberName { value: IDENT@122..134 "display" [Newline("\n"), Whitespace(" ")] [], }, question_mark_token: missing (optional), type_parameters: missing (optional), parameters: JsParameters { l_paren_token: L_PAREN@134..135 "(" [] [], items: JsParameterList [], r_paren_token: R_PAREN@135..136 ")" [] [], }, return_type_annotation: TsReturnTypeAnnotation { colon_token: COLON@136..138 ":" [] [Whitespace(" ")], ty: TsVoidType { void_token: VOID_KW@138..143 "void" [] [Whitespace(" ")], }, }, body: JsFunctionBody { l_curly_token: L_CURLY@143..145 "{" [] [Whitespace(" ")], directives: JsDirectiveList [], statements: JsStatementList [ JsExpressionStatement { expression: JsCallExpression { callee: JsStaticMemberExpression { object: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@145..152 "console" [] [], }, }, operator_token: DOT@152..153 "." [] [], member: JsName { value_token: IDENT@153..156 "log" [] [], }, }, optional_chain_token: missing (optional), type_arguments: missing (optional), arguments: JsCallArguments { l_paren_token: L_PAREN@156..157 "(" [] [], args: JsCallArgumentList [ JsStaticMemberExpression { object: JsThisExpression { this_token: THIS_KW@157..161 "this" [] [], }, operator_token: DOT@161..162 "." [] [], member: JsName { value_token: IDENT@162..166 "name" [] [], }, }, ], r_paren_token: R_PAREN@166..167 ")" [] [], }, }, semicolon_token: SEMICOLON@167..169 ";" [] [Whitespace(" ")], }, ], r_curly_token: R_CURLY@169..170 "}" [] [], }, }, JsGetterClassMember { modifiers: JsMethodModifierList [ TsAccessibilityModifier { modifier_token: PUBLIC_KW@170..182 "public" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")], }, ], get_token: GET_KW@182..186 "get" [] [Whitespace(" ")], name: JsLiteralMemberName { value: IDENT@186..193 "my_name" [] [], }, l_paren_token: L_PAREN@193..194 "(" [] [], r_paren_token: R_PAREN@194..196 ")" [] [Whitespace(" ")], return_type: missing (optional), body: JsFunctionBody { l_curly_token: L_CURLY@196..198 "{" [] [Whitespace(" ")], directives: JsDirectiveList [], statements: JsStatementList [ JsReturnStatement { return_token: RETURN_KW@198..205 "return" [] [Whitespace(" ")], argument: JsStaticMemberExpression { object: JsThisExpression { this_token: THIS_KW@205..209 "this" [] [], }, operator_token: DOT@209..210 "." [] [], member: JsName { value_token: IDENT@210..214 "name" [] [], }, }, semicolon_token: SEMICOLON@214..216 ";" [] [Whitespace(" ")], }, ], r_curly_token: R_CURLY@216..217 "}" [] [], }, }, JsSetterClassMember { modifiers: JsMethodModifierList [ TsAccessibilityModifier { modifier_token: PUBLIC_KW@217..229 "public" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")], }, ], set_token: SET_KW@229..233 "set" [] [Whitespace(" ")], name: JsLiteralMemberName { value: IDENT@233..240 "my_name" [] [], }, l_paren_token: L_PAREN@240..241 "(" [] [], parameter: JsFormalParameter { decorators: JsDecoratorList [], binding: JsIdentifierBinding { name_token: IDENT@241..245 "name" [] [], }, question_mark_token: missing (optional), type_annotation: missing (optional), initializer: missing (optional), }, r_paren_token: R_PAREN@245..247 ")" [] [Whitespace(" ")], body: JsFunctionBody { l_curly_token: L_CURLY@247..249 "{" [] [Whitespace(" ")], directives: JsDirectiveList [], statements: JsStatementList [ JsExpressionStatement { expression: JsAssignmentExpression { left: JsStaticMemberAssignment { object: JsThisExpression { this_token: THIS_KW@249..253 "this" [] [], }, dot_token: DOT@253..254 "." [] [], member: JsName { value_token: IDENT@254..259 "name" [] [Whitespace(" ")], }, }, operator_token: EQ@259..261 "=" [] [Whitespace(" ")], right: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@261..265 "name" [] [], }, }, }, semicolon_token: SEMICOLON@265..267 ";" [] [Whitespace(" ")], }, ], r_curly_token: R_CURLY@267..268 "}" [] [], }, }, JsMethodClassMember { modifiers: JsMethodModifierList [], async_token: missing (optional), star_token: missing (optional), name: JsPrivateClassMemberName { hash_token: HASH@268..274 "#" [Newline("\n"), Whitespace(" ")] [], id_token: IDENT@274..288 "private_method" [] [], }, question_mark_token: missing (optional), type_parameters: missing (optional), parameters: JsParameters { l_paren_token: L_PAREN@288..289 "(" [] [], items: JsParameterList [], r_paren_token: R_PAREN@289..291 ")" [] [Whitespace(" ")], }, return_type_annotation: missing (optional), body: JsFunctionBody { l_curly_token: L_CURLY@291..293 "{" [] [Whitespace(" ")], directives: JsDirectiveList [], statements: JsStatementList [], r_curly_token: R_CURLY@293..294 "}" [] [], }, }, ], r_curly_token: R_CURLY@294..296 "}" [Newline("\n")] [], }, JsClassDeclaration { decorators: JsDecoratorList [], abstract_token: ABSTRACT_KW@296..306 "abstract" [Newline("\n")] [Whitespace(" ")], class_token: CLASS_KW@306..312 "class" [] [Whitespace(" ")], id: JsIdentifierBinding { name_token: IDENT@312..328 "AbstractMembers" [] [Whitespace(" ")], }, type_parameters: missing (optional), extends_clause: missing (optional), implements_clause: missing (optional), l_curly_token: L_CURLY@328..329 "{" [] [], members: JsClassMemberList [ TsPropertySignatureClassMember { modifiers: TsPropertySignatureModifierList [ TsAbstractModifier { modifier_token: ABSTRACT_KW@329..343 "abstract" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")], }, ], name: JsLiteralMemberName { value: IDENT@343..347 "name" [] [], }, property_annotation: TsTypeAnnotation { colon_token: COLON@347..349 ":" [] [Whitespace(" ")], ty: TsStringType { string_token: STRING_KW@349..355 "string" [] [], }, }, semicolon_token: SEMICOLON@355..356 ";" [] [], }, TsMethodSignatureClassMember { modifiers: TsMethodSignatureModifierList [ TsAbstractModifier { modifier_token: ABSTRACT_KW@356..370 "abstract" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")], }, ], async_token: missing (optional), name: JsLiteralMemberName { value: IDENT@370..377 "display" [] [], }, question_mark_token: missing (optional), type_parameters: missing (optional), parameters: JsParameters { l_paren_token: L_PAREN@377..378 "(" [] [], items: JsParameterList [], r_paren_token: R_PAREN@378..379 ")" [] [], }, return_type_annotation: missing (optional), semicolon_token: SEMICOLON@379..380 ";" [] [], }, TsGetterSignatureClassMember { modifiers: TsMethodSignatureModifierList [ TsAbstractModifier { modifier_token: ABSTRACT_KW@380..394 "abstract" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")], }, ], get_token: GET_KW@394..398 "get" [] [Whitespace(" ")], name: JsLiteralMemberName { value: IDENT@398..405 "my_name" [] [], }, l_paren_token: L_PAREN@405..406 "(" [] [], r_paren_token: R_PAREN@406..407 ")" [] [], return_type: missing (optional), semicolon_token: SEMICOLON@407..408 ";" [] [], }, TsSetterSignatureClassMember { modifiers: TsMethodSignatureModifierList [ TsAbstractModifier { modifier_token: ABSTRACT_KW@408..422 "abstract" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")], }, ], set_token: SET_KW@422..426 "set" [] [Whitespace(" ")], name: JsLiteralMemberName { value: IDENT@426..433 "my_name" [] [], }, l_paren_token: L_PAREN@433..434 "(" [] [], parameter: JsFormalParameter { decorators: JsDecoratorList [], binding: JsIdentifierBinding { name_token: IDENT@434..437 "val" [] [], }, question_mark_token: missing (optional), type_annotation: missing (optional), initializer: missing (optional), }, r_paren_token: R_PAREN@437..438 ")" [] [], semicolon_token: SEMICOLON@438..439 ";" [] [], }, ], r_curly_token: R_CURLY@439..441 "}" [Newline("\n")] [], }, ], eof_token: EOF@441..442 "" [Newline("\n")] [], } 0: JS_MODULE@0..442 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..441 0: JS_CLASS_DECLARATION@0..19 0: JS_DECORATOR_LIST@0..0 1: ABSTRACT_KW@0..9 "abstract" [] [Whitespace(" ")] 2: CLASS_KW@9..15 "class" [] [Whitespace(" ")] 3: JS_IDENTIFIER_BINDING@15..17 0: IDENT@15..17 "A" [] [Whitespace(" ")] 4: (empty) 5: (empty) 6: (empty) 7: L_CURLY@17..18 "{" [] [] 8: JS_CLASS_MEMBER_LIST@18..18 9: R_CURLY@18..19 "}" [] [] 1: JS_CLASS_DECLARATION@19..296 0: JS_DECORATOR_LIST@19..19 1: ABSTRACT_KW@19..29 "abstract" [Newline("\n")] [Whitespace(" ")] 2: CLASS_KW@29..35 "class" [] [Whitespace(" ")] 3: JS_IDENTIFIER_BINDING@35..51 0: IDENT@35..51 "ConcreteMembers" [] [Whitespace(" ")] 4: (empty) 5: (empty) 6: (empty) 7: L_CURLY@51..52 "{" [] [] 8: JS_CLASS_MEMBER_LIST@52..294 0: JS_PROPERTY_CLASS_MEMBER@52..70 0: JS_PROPERTY_MODIFIER_LIST@52..52 1: JS_LITERAL_MEMBER_NAME@52..61 0: IDENT@52..61 "name" [Newline("\n"), Whitespace(" ")] [] 2: TS_TYPE_ANNOTATION@61..69 0: COLON@61..63 ":" [] [Whitespace(" ")] 1: TS_STRING_TYPE@63..69 0: STRING_KW@63..69 "string" [] [] 3: (empty) 4: SEMICOLON@69..70 ";" [] [] 1: JS_CONSTRUCTOR_CLASS_MEMBER@70..122 0: JS_CONSTRUCTOR_MODIFIER_LIST@70..70 1: JS_LITERAL_MEMBER_NAME@70..86 0: IDENT@70..86 "constructor" [Newline("\n"), Whitespace(" ")] [] 2: JS_CONSTRUCTOR_PARAMETERS@86..101 0: L_PAREN@86..87 "(" [] [] 1: JS_CONSTRUCTOR_PARAMETER_LIST@87..99 0: JS_FORMAL_PARAMETER@87..99 0: JS_DECORATOR_LIST@87..87 1: JS_IDENTIFIER_BINDING@87..91 0: IDENT@87..91 "name" [] [] 2: (empty) 3: TS_TYPE_ANNOTATION@91..99 0: COLON@91..93 ":" [] [Whitespace(" ")] 1: TS_STRING_TYPE@93..99 0: STRING_KW@93..99 "string" [] [] 4: (empty) 2: R_PAREN@99..101 ")" [] [Whitespace(" ")] 3: JS_FUNCTION_BODY@101..122 0: L_CURLY@101..103 "{" [] [Whitespace(" ")] 1: JS_DIRECTIVE_LIST@103..103 2: JS_STATEMENT_LIST@103..121 0: JS_EXPRESSION_STATEMENT@103..121 0: JS_ASSIGNMENT_EXPRESSION@103..119 0: JS_STATIC_MEMBER_ASSIGNMENT@103..113 0: JS_THIS_EXPRESSION@103..107 0: THIS_KW@103..107 "this" [] [] 1: DOT@107..108 "." [] [] 2: JS_NAME@108..113 0: IDENT@108..113 "name" [] [Whitespace(" ")] 1: EQ@113..115 "=" [] [Whitespace(" ")] 2: JS_IDENTIFIER_EXPRESSION@115..119 0: JS_REFERENCE_IDENTIFIER@115..119 0: IDENT@115..119 "name" [] [] 1: SEMICOLON@119..121 ";" [] [Whitespace(" ")] 3: R_CURLY@121..122 "}" [] [] 2: JS_METHOD_CLASS_MEMBER@122..170 0: JS_METHOD_MODIFIER_LIST@122..122 1: (empty) 2: (empty) 3: JS_LITERAL_MEMBER_NAME@122..134 0: IDENT@122..134 "display" [Newline("\n"), Whitespace(" ")] [] 4: (empty) 5: (empty) 6: JS_PARAMETERS@134..136 0: L_PAREN@134..135 "(" [] [] 1: JS_PARAMETER_LIST@135..135 2: R_PAREN@135..136 ")" [] [] 7: TS_RETURN_TYPE_ANNOTATION@136..143 0: COLON@136..138 ":" [] [Whitespace(" ")] 1: TS_VOID_TYPE@138..143 0: VOID_KW@138..143 "void" [] [Whitespace(" ")] 8: JS_FUNCTION_BODY@143..170 0: L_CURLY@143..145 "{" [] [Whitespace(" ")] 1: JS_DIRECTIVE_LIST@145..145 2: JS_STATEMENT_LIST@145..169 0: JS_EXPRESSION_STATEMENT@145..169 0: JS_CALL_EXPRESSION@145..167 0: JS_STATIC_MEMBER_EXPRESSION@145..156 0: JS_IDENTIFIER_EXPRESSION@145..152 0: JS_REFERENCE_IDENTIFIER@145..152 0: IDENT@145..152 "console" [] [] 1: DOT@152..153 "." [] [] 2: JS_NAME@153..156 0: IDENT@153..156 "log" [] [] 1: (empty) 2: (empty) 3: JS_CALL_ARGUMENTS@156..167 0: L_PAREN@156..157 "(" [] [] 1: JS_CALL_ARGUMENT_LIST@157..166 0: JS_STATIC_MEMBER_EXPRESSION@157..166 0: JS_THIS_EXPRESSION@157..161 0: THIS_KW@157..161 "this" [] [] 1: DOT@161..162 "." [] [] 2: JS_NAME@162..166 0: IDENT@162..166 "name" [] [] 2: R_PAREN@166..167 ")" [] [] 1: SEMICOLON@167..169 ";" [] [Whitespace(" ")] 3: R_CURLY@169..170 "}" [] [] 3: JS_GETTER_CLASS_MEMBER@170..217 0: JS_METHOD_MODIFIER_LIST@170..182 0: TS_ACCESSIBILITY_MODIFIER@170..182 0: PUBLIC_KW@170..182 "public" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")] 1: GET_KW@182..186 "get" [] [Whitespace(" ")] 2: JS_LITERAL_MEMBER_NAME@186..193 0: IDENT@186..193 "my_name" [] [] 3: L_PAREN@193..194 "(" [] [] 4: R_PAREN@194..196 ")" [] [Whitespace(" ")] 5: (empty) 6: JS_FUNCTION_BODY@196..217 0: L_CURLY@196..198 "{" [] [Whitespace(" ")] 1: JS_DIRECTIVE_LIST@198..198 2: JS_STATEMENT_LIST@198..216 0: JS_RETURN_STATEMENT@198..216 0: RETURN_KW@198..205 "return" [] [Whitespace(" ")] 1: JS_STATIC_MEMBER_EXPRESSION@205..214 0: JS_THIS_EXPRESSION@205..209 0: THIS_KW@205..209 "this" [] [] 1: DOT@209..210 "." [] [] 2: JS_NAME@210..214 0: IDENT@210..214 "name" [] [] 2: SEMICOLON@214..216 ";" [] [Whitespace(" ")] 3: R_CURLY@216..217 "}" [] [] 4: JS_SETTER_CLASS_MEMBER@217..268 0: JS_METHOD_MODIFIER_LIST@217..229 0: TS_ACCESSIBILITY_MODIFIER@217..229 0: PUBLIC_KW@217..229 "public" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")] 1: SET_KW@229..233 "set" [] [Whitespace(" ")] 2: JS_LITERAL_MEMBER_NAME@233..240 0: IDENT@233..240 "my_name" [] [] 3: L_PAREN@240..241 "(" [] [] 4: JS_FORMAL_PARAMETER@241..245 0: JS_DECORATOR_LIST@241..241 1: JS_IDENTIFIER_BINDING@241..245 0: IDENT@241..245 "name" [] [] 2: (empty) 3: (empty) 4: (empty) 5: R_PAREN@245..247 ")" [] [Whitespace(" ")] 6: JS_FUNCTION_BODY@247..268 0: L_CURLY@247..249 "{" [] [Whitespace(" ")] 1: JS_DIRECTIVE_LIST@249..249 2: JS_STATEMENT_LIST@249..267 0: JS_EXPRESSION_STATEMENT@249..267 0: JS_ASSIGNMENT_EXPRESSION@249..265 0: JS_STATIC_MEMBER_ASSIGNMENT@249..259 0: JS_THIS_EXPRESSION@249..253 0: THIS_KW@249..253 "this" [] [] 1: DOT@253..254 "." [] [] 2: JS_NAME@254..259 0: IDENT@254..259 "name" [] [Whitespace(" ")] 1: EQ@259..261 "=" [] [Whitespace(" ")] 2: JS_IDENTIFIER_EXPRESSION@261..265 0: JS_REFERENCE_IDENTIFIER@261..265 0: IDENT@261..265 "name" [] [] 1: SEMICOLON@265..267 ";" [] [Whitespace(" ")] 3: R_CURLY@267..268 "}" [] [] 5: JS_METHOD_CLASS_MEMBER@268..294 0: JS_METHOD_MODIFIER_LIST@268..268 1: (empty) 2: (empty) 3: JS_PRIVATE_CLASS_MEMBER_NAME@268..288 0: HASH@268..274 "#" [Newline("\n"), Whitespace(" ")] [] 1: IDENT@274..288 "private_method" [] [] 4: (empty) 5: (empty) 6: JS_PARAMETERS@288..291 0: L_PAREN@288..289 "(" [] [] 1: JS_PARAMETER_LIST@289..289 2: R_PAREN@289..291 ")" [] [Whitespace(" ")] 7: (empty) 8: JS_FUNCTION_BODY@291..294 0: L_CURLY@291..293 "{" [] [Whitespace(" ")] 1: JS_DIRECTIVE_LIST@293..293 2: JS_STATEMENT_LIST@293..293 3: R_CURLY@293..294 "}" [] [] 9: R_CURLY@294..296 "}" [Newline("\n")] [] 2: JS_CLASS_DECLARATION@296..441 0: JS_DECORATOR_LIST@296..296 1: ABSTRACT_KW@296..306 "abstract" [Newline("\n")] [Whitespace(" ")] 2: CLASS_KW@306..312 "class" [] [Whitespace(" ")] 3: JS_IDENTIFIER_BINDING@312..328 0: IDENT@312..328 "AbstractMembers" [] [Whitespace(" ")] 4: (empty) 5: (empty) 6: (empty) 7: L_CURLY@328..329 "{" [] [] 8: JS_CLASS_MEMBER_LIST@329..439 0: TS_PROPERTY_SIGNATURE_CLASS_MEMBER@329..356 0: TS_PROPERTY_SIGNATURE_MODIFIER_LIST@329..343 0: TS_ABSTRACT_MODIFIER@329..343 0: ABSTRACT_KW@329..343 "abstract" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")] 1: JS_LITERAL_MEMBER_NAME@343..347 0: IDENT@343..347 "name" [] [] 2: TS_TYPE_ANNOTATION@347..355 0: COLON@347..349 ":" [] [Whitespace(" ")] 1: TS_STRING_TYPE@349..355 0: STRING_KW@349..355 "string" [] [] 3: SEMICOLON@355..356 ";" [] [] 1: TS_METHOD_SIGNATURE_CLASS_MEMBER@356..380 0: TS_METHOD_SIGNATURE_MODIFIER_LIST@356..370 0: TS_ABSTRACT_MODIFIER@356..370 0: ABSTRACT_KW@356..370 "abstract" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")] 1: (empty) 2: JS_LITERAL_MEMBER_NAME@370..377 0: IDENT@370..377 "display" [] [] 3: (empty) 4: (empty) 5: JS_PARAMETERS@377..379 0: L_PAREN@377..378 "(" [] [] 1: JS_PARAMETER_LIST@378..378 2: R_PAREN@378..379 ")" [] [] 6: (empty) 7: SEMICOLON@379..380 ";" [] [] 2: TS_GETTER_SIGNATURE_CLASS_MEMBER@380..408 0: TS_METHOD_SIGNATURE_MODIFIER_LIST@380..394 0: TS_ABSTRACT_MODIFIER@380..394 0: ABSTRACT_KW@380..394 "abstract" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")] 1: GET_KW@394..398 "get" [] [Whitespace(" ")] 2: JS_LITERAL_MEMBER_NAME@398..405 0: IDENT@398..405 "my_name" [] [] 3: L_PAREN@405..406 "(" [] [] 4: R_PAREN@406..407 ")" [] [] 5: (empty) 6: SEMICOLON@407..408 ";" [] [] 3: TS_SETTER_SIGNATURE_CLASS_MEMBER@408..439 0: TS_METHOD_SIGNATURE_MODIFIER_LIST@408..422 0: TS_ABSTRACT_MODIFIER@408..422 0: ABSTRACT_KW@408..422 "abstract" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")] 1: SET_KW@422..426 "set" [] [Whitespace(" ")] 2: JS_LITERAL_MEMBER_NAME@426..433 0: IDENT@426..433 "my_name" [] [] 3: L_PAREN@433..434 "(" [] [] 4: JS_FORMAL_PARAMETER@434..437 0: JS_DECORATOR_LIST@434..434 1: JS_IDENTIFIER_BINDING@434..437 0: IDENT@434..437 "val" [] [] 2: (empty) 3: (empty) 4: (empty) 5: R_PAREN@437..438 ")" [] [] 6: SEMICOLON@438..439 ";" [] [] 9: R_CURLY@439..441 "}" [Newline("\n")] [] 4: EOF@441..442 "" [Newline("\n")] []