JsModule { bom_token: missing (optional), interpreter_token: missing (optional), directives: JsDirectiveList [], items: JsModuleItemList [ JsBogusStatement { items: [ JsDecoratorList [], CLASS_KW@0..6 "class" [] [Whitespace(" ")], JsIdentifierBinding { name_token: IDENT@6..8 "B" [] [Whitespace(" ")], }, JsBogus { items: [ IMPLEMENTS_KW@8..19 "implements" [] [Whitespace(" ")], TsTypeList [ TsNameWithTypeArguments { name: JsReferenceIdentifier { value_token: IDENT@19..21 "C" [] [Whitespace(" ")], }, type_arguments: missing (optional), }, ], ], }, L_CURLY@21..22 "{" [] [], JsClassMemberList [], R_CURLY@22..23 "}" [] [], ], }, ], eof_token: EOF@23..24 "" [Newline("\n")] [], } 0: JS_MODULE@0..24 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..23 0: JS_BOGUS_STATEMENT@0..23 0: JS_DECORATOR_LIST@0..0 1: CLASS_KW@0..6 "class" [] [Whitespace(" ")] 2: JS_IDENTIFIER_BINDING@6..8 0: IDENT@6..8 "B" [] [Whitespace(" ")] 3: JS_BOGUS@8..21 0: IMPLEMENTS_KW@8..19 "implements" [] [Whitespace(" ")] 1: TS_TYPE_LIST@19..21 0: TS_NAME_WITH_TYPE_ARGUMENTS@19..21 0: JS_REFERENCE_IDENTIFIER@19..21 0: IDENT@19..21 "C" [] [Whitespace(" ")] 1: (empty) 4: L_CURLY@21..22 "{" [] [] 5: JS_CLASS_MEMBER_LIST@22..22 6: R_CURLY@22..23 "}" [] [] 4: EOF@23..24 "" [Newline("\n")] [] -- class_implements.js:1:9 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × classes can only implement interfaces in TypeScript files > 1 │ class B implements C {} │ ^^^^^^^^^^^^ 2 │ -- class B implements C {}