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..11 "Test" [] [Whitespace(" ")], }, type_parameters: missing (optional), extends_clause: missing (optional), implements_clause: missing (optional), l_curly_token: L_CURLY@11..12 "{" [] [], members: JsClassMemberList [ JsConstructorClassMember { modifiers: JsConstructorModifierList [], name: JsLiteralMemberName { value: IDENT@12..29 "constructor" [Newline("\n"), Whitespace(" ")] [], }, parameters: JsConstructorParameters { l_paren_token: L_PAREN@29..30 "(" [] [], parameters: JsConstructorParameterList [], r_paren_token: R_PAREN@30..32 ")" [] [Whitespace(" ")], }, body: missing (required), }, JsMethodClassMember { modifiers: JsMethodModifierList [], async_token: missing (optional), star_token: missing (optional), name: JsLiteralMemberName { value: IDENT@32..38 "method" [] [], }, question_mark_token: missing (optional), type_parameters: missing (optional), parameters: JsParameters { l_paren_token: L_PAREN@38..39 "(" [] [], items: JsParameterList [], r_paren_token: R_PAREN@39..41 ")" [] [Whitespace(" ")], }, return_type_annotation: missing (optional), body: missing (required), }, JsGetterClassMember { modifiers: JsMethodModifierList [], get_token: GET_KW@41..45 "get" [] [Whitespace(" ")], name: JsLiteralMemberName { value: IDENT@45..49 "test" [] [], }, l_paren_token: L_PAREN@49..50 "(" [] [], r_paren_token: R_PAREN@50..51 ")" [] [], return_type: missing (optional), body: missing (required), }, JsSetterClassMember { modifiers: JsMethodModifierList [], set_token: SET_KW@51..61 "set" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")], name: JsLiteralMemberName { value: IDENT@61..65 "test" [] [], }, l_paren_token: L_PAREN@65..66 "(" [] [], parameter: JsFormalParameter { decorators: JsDecoratorList [], binding: JsIdentifierBinding { name_token: IDENT@66..71 "value" [] [], }, question_mark_token: missing (optional), type_annotation: missing (optional), initializer: missing (optional), }, r_paren_token: R_PAREN@71..72 ")" [] [], body: missing (required), }, ], r_curly_token: R_CURLY@72..74 "}" [Newline("\n")] [], }, ], eof_token: EOF@74..75 "" [Newline("\n")] [], } 0: JS_MODULE@0..75 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..74 0: JS_CLASS_DECLARATION@0..74 0: JS_DECORATOR_LIST@0..0 1: (empty) 2: CLASS_KW@0..6 "class" [] [Whitespace(" ")] 3: JS_IDENTIFIER_BINDING@6..11 0: IDENT@6..11 "Test" [] [Whitespace(" ")] 4: (empty) 5: (empty) 6: (empty) 7: L_CURLY@11..12 "{" [] [] 8: JS_CLASS_MEMBER_LIST@12..72 0: JS_CONSTRUCTOR_CLASS_MEMBER@12..32 0: JS_CONSTRUCTOR_MODIFIER_LIST@12..12 1: JS_LITERAL_MEMBER_NAME@12..29 0: IDENT@12..29 "constructor" [Newline("\n"), Whitespace(" ")] [] 2: JS_CONSTRUCTOR_PARAMETERS@29..32 0: L_PAREN@29..30 "(" [] [] 1: JS_CONSTRUCTOR_PARAMETER_LIST@30..30 2: R_PAREN@30..32 ")" [] [Whitespace(" ")] 3: (empty) 1: JS_METHOD_CLASS_MEMBER@32..41 0: JS_METHOD_MODIFIER_LIST@32..32 1: (empty) 2: (empty) 3: JS_LITERAL_MEMBER_NAME@32..38 0: IDENT@32..38 "method" [] [] 4: (empty) 5: (empty) 6: JS_PARAMETERS@38..41 0: L_PAREN@38..39 "(" [] [] 1: JS_PARAMETER_LIST@39..39 2: R_PAREN@39..41 ")" [] [Whitespace(" ")] 7: (empty) 8: (empty) 2: JS_GETTER_CLASS_MEMBER@41..51 0: JS_METHOD_MODIFIER_LIST@41..41 1: GET_KW@41..45 "get" [] [Whitespace(" ")] 2: JS_LITERAL_MEMBER_NAME@45..49 0: IDENT@45..49 "test" [] [] 3: L_PAREN@49..50 "(" [] [] 4: R_PAREN@50..51 ")" [] [] 5: (empty) 6: (empty) 3: JS_SETTER_CLASS_MEMBER@51..72 0: JS_METHOD_MODIFIER_LIST@51..51 1: SET_KW@51..61 "set" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")] 2: JS_LITERAL_MEMBER_NAME@61..65 0: IDENT@61..65 "test" [] [] 3: L_PAREN@65..66 "(" [] [] 4: JS_FORMAL_PARAMETER@66..71 0: JS_DECORATOR_LIST@66..66 1: JS_IDENTIFIER_BINDING@66..71 0: IDENT@66..71 "value" [] [] 2: (empty) 3: (empty) 4: (empty) 5: R_PAREN@71..72 ")" [] [] 6: (empty) 9: R_CURLY@72..74 "}" [Newline("\n")] [] 4: EOF@74..75 "" [Newline("\n")] [] -- ts_method_members_with_missing_body.ts:2:20 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Expected a class method body but instead found 'method'. 1 │ class Test { > 2 │ constructor() method() get test() │ ^^^^^^ 3 │ set test(value) 4 │ } i Expected a class method body here. 1 │ class Test { > 2 │ constructor() method() get test() │ ^^^^^^ 3 │ set test(value) 4 │ } -- ts_method_members_with_missing_body.ts:2:29 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Expected a class method body but instead found 'get'. 1 │ class Test { > 2 │ constructor() method() get test() │ ^^^ 3 │ set test(value) 4 │ } i Expected a class method body here. 1 │ class Test { > 2 │ constructor() method() get test() │ ^^^ 3 │ set test(value) 4 │ } -- ts_method_members_with_missing_body.ts:3:6 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Expected a class method body but instead found 'set'. 1 │ class Test { 2 │ constructor() method() get test() > 3 │ set test(value) │ ^^^ 4 │ } 5 │ i Expected a class method body here. 1 │ class Test { 2 │ constructor() method() get test() > 3 │ set test(value) │ ^^^ 4 │ } 5 │ -- ts_method_members_with_missing_body.ts:4:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Expected a class method body but instead found '}'. 2 │ constructor() method() get test() 3 │ set test(value) > 4 │ } │ ^ 5 │ i Expected a class method body here. 2 │ constructor() method() get test() 3 │ set test(value) > 4 │ } │ ^ 5 │ -- class Test { constructor() method() get test() set test(value) }