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..19 "{" [] [Whitespace(" ")], members: JsClassMemberList [ JsBogusMember { items: [ JsBogus { items: [ TsAbstractModifier { modifier_token: ABSTRACT_KW@19..28 "abstract" [] [Whitespace(" ")], }, ], }, JsLiteralMemberName { value: IDENT@28..39 "constructor" [] [], }, JsConstructorParameters { l_paren_token: L_PAREN@39..40 "(" [] [], parameters: JsConstructorParameterList [], r_paren_token: R_PAREN@40..42 ")" [] [Whitespace(" ")], }, ], }, TsMethodSignatureClassMember { modifiers: TsMethodSignatureModifierList [ TsAbstractModifier { modifier_token: ABSTRACT_KW@42..51 "abstract" [] [Whitespace(" ")], }, ], async_token: missing (optional), name: JsLiteralMemberName { value: IDENT@51..57 "method" [] [], }, question_mark_token: missing (optional), type_parameters: missing (optional), parameters: JsParameters { l_paren_token: L_PAREN@57..58 "(" [] [], items: JsParameterList [], r_paren_token: R_PAREN@58..60 ")" [] [Whitespace(" ")], }, return_type_annotation: missing (optional), semicolon_token: missing (optional), }, TsGetterSignatureClassMember { modifiers: TsMethodSignatureModifierList [ TsAbstractModifier { modifier_token: ABSTRACT_KW@60..69 "abstract" [] [Whitespace(" ")], }, ], get_token: GET_KW@69..73 "get" [] [Whitespace(" ")], name: JsLiteralMemberName { value: IDENT@73..79 "getter" [] [], }, l_paren_token: L_PAREN@79..80 "(" [] [], r_paren_token: R_PAREN@80..82 ")" [] [Whitespace(" ")], return_type: missing (optional), semicolon_token: missing (optional), }, TsSetterSignatureClassMember { modifiers: TsMethodSignatureModifierList [ TsAbstractModifier { modifier_token: ABSTRACT_KW@82..91 "abstract" [] [Whitespace(" ")], }, ], set_token: SET_KW@91..95 "set" [] [Whitespace(" ")], name: JsLiteralMemberName { value: IDENT@95..101 "setter" [] [], }, l_paren_token: L_PAREN@101..102 "(" [] [], parameter: JsFormalParameter { decorators: JsDecoratorList [], binding: JsIdentifierBinding { name_token: IDENT@102..107 "value" [] [], }, question_mark_token: missing (optional), type_annotation: missing (optional), initializer: missing (optional), }, r_paren_token: R_PAREN@107..109 ")" [] [Whitespace(" ")], semicolon_token: missing (optional), }, TsPropertySignatureClassMember { modifiers: TsPropertySignatureModifierList [ TsAbstractModifier { modifier_token: ABSTRACT_KW@109..118 "abstract" [] [Whitespace(" ")], }, ], name: JsLiteralMemberName { value: IDENT@118..123 "prop" [] [Whitespace(" ")], }, property_annotation: missing (optional), semicolon_token: missing (optional), }, ], r_curly_token: R_CURLY@123..124 "}" [] [], }, ], eof_token: EOF@124..125 "" [Newline("\n")] [], } 0: JS_MODULE@0..125 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..124 0: JS_CLASS_DECLARATION@0..124 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..19 "{" [] [Whitespace(" ")] 8: JS_CLASS_MEMBER_LIST@19..123 0: JS_BOGUS_MEMBER@19..42 0: JS_BOGUS@19..28 0: TS_ABSTRACT_MODIFIER@19..28 0: ABSTRACT_KW@19..28 "abstract" [] [Whitespace(" ")] 1: JS_LITERAL_MEMBER_NAME@28..39 0: IDENT@28..39 "constructor" [] [] 2: JS_CONSTRUCTOR_PARAMETERS@39..42 0: L_PAREN@39..40 "(" [] [] 1: JS_CONSTRUCTOR_PARAMETER_LIST@40..40 2: R_PAREN@40..42 ")" [] [Whitespace(" ")] 1: TS_METHOD_SIGNATURE_CLASS_MEMBER@42..60 0: TS_METHOD_SIGNATURE_MODIFIER_LIST@42..51 0: TS_ABSTRACT_MODIFIER@42..51 0: ABSTRACT_KW@42..51 "abstract" [] [Whitespace(" ")] 1: (empty) 2: JS_LITERAL_MEMBER_NAME@51..57 0: IDENT@51..57 "method" [] [] 3: (empty) 4: (empty) 5: JS_PARAMETERS@57..60 0: L_PAREN@57..58 "(" [] [] 1: JS_PARAMETER_LIST@58..58 2: R_PAREN@58..60 ")" [] [Whitespace(" ")] 6: (empty) 7: (empty) 2: TS_GETTER_SIGNATURE_CLASS_MEMBER@60..82 0: TS_METHOD_SIGNATURE_MODIFIER_LIST@60..69 0: TS_ABSTRACT_MODIFIER@60..69 0: ABSTRACT_KW@60..69 "abstract" [] [Whitespace(" ")] 1: GET_KW@69..73 "get" [] [Whitespace(" ")] 2: JS_LITERAL_MEMBER_NAME@73..79 0: IDENT@73..79 "getter" [] [] 3: L_PAREN@79..80 "(" [] [] 4: R_PAREN@80..82 ")" [] [Whitespace(" ")] 5: (empty) 6: (empty) 3: TS_SETTER_SIGNATURE_CLASS_MEMBER@82..109 0: TS_METHOD_SIGNATURE_MODIFIER_LIST@82..91 0: TS_ABSTRACT_MODIFIER@82..91 0: ABSTRACT_KW@82..91 "abstract" [] [Whitespace(" ")] 1: SET_KW@91..95 "set" [] [Whitespace(" ")] 2: JS_LITERAL_MEMBER_NAME@95..101 0: IDENT@95..101 "setter" [] [] 3: L_PAREN@101..102 "(" [] [] 4: JS_FORMAL_PARAMETER@102..107 0: JS_DECORATOR_LIST@102..102 1: JS_IDENTIFIER_BINDING@102..107 0: IDENT@102..107 "value" [] [] 2: (empty) 3: (empty) 4: (empty) 5: R_PAREN@107..109 ")" [] [Whitespace(" ")] 6: (empty) 4: TS_PROPERTY_SIGNATURE_CLASS_MEMBER@109..123 0: TS_PROPERTY_SIGNATURE_MODIFIER_LIST@109..118 0: TS_ABSTRACT_MODIFIER@109..118 0: ABSTRACT_KW@109..118 "abstract" [] [Whitespace(" ")] 1: JS_LITERAL_MEMBER_NAME@118..123 0: IDENT@118..123 "prop" [] [Whitespace(" ")] 2: (empty) 3: (empty) 9: R_CURLY@123..124 "}" [] [] 4: EOF@124..125 "" [Newline("\n")] [] -- ts_abstract_member_ansi.ts:1:43 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Expected a class method body but instead found 'abstract'. > 1 │ abstract class A { abstract constructor() abstract method() abstract get getter() abstract set setter(value) abstract prop } │ ^^^^^^^^ 2 │ i Expected a class method body here. > 1 │ abstract class A { abstract constructor() abstract method() abstract get getter() abstract set setter(value) abstract prop } │ ^^^^^^^^ 2 │ -- ts_abstract_member_ansi.ts:1:20 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × 'abstract' cannot appear on a constructor declaration. > 1 │ abstract class A { abstract constructor() abstract method() abstract get getter() abstract set setter(value) abstract prop } │ ^^^^^^^^ 2 │ -- ts_abstract_member_ansi.ts:1:43 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × expected a semicolon to end the method declaration, but found none > 1 │ abstract class A { abstract constructor() abstract method() abstract get getter() abstract set setter(value) abstract prop } │ ^^^^^^^^^^^^^^^^^ 2 │ -- ts_abstract_member_ansi.ts:1:61 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × expected a semicolon to end the method declaration, but found none > 1 │ abstract class A { abstract constructor() abstract method() abstract get getter() abstract set setter(value) abstract prop } │ ^^^^^^^^^^^^^^^^^^^^^ 2 │ -- ts_abstract_member_ansi.ts:1:83 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × expected a semicolon to end the method declaration, but found none > 1 │ abstract class A { abstract constructor() abstract method() abstract get getter() abstract set setter(value) abstract prop } │ ^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 │ -- abstract class A { abstract constructor() abstract method() abstract get getter() abstract set setter(value) abstract prop }