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..8 "A" [] [Whitespace(" ")], }, type_parameters: missing (optional), extends_clause: missing (optional), implements_clause: missing (optional), l_curly_token: L_CURLY@8..9 "{" [] [], members: JsClassMemberList [ JsBogusMember { items: [ JsPropertyModifierList [ JsAccessorModifier { modifier_token: ACCESSOR_KW@9..23 "accessor" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")], }, JsStaticModifier { modifier_token: STATIC_KW@23..30 "static" [] [Whitespace(" ")], }, ], JsLiteralMemberName { value: IDENT@30..34 "foo" [] [Whitespace(" ")], }, JsInitializerClause { eq_token: EQ@34..36 "=" [] [Whitespace(" ")], expression: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@36..37 "1" [] [], }, }, SEMICOLON@37..38 ";" [] [], ], }, ], r_curly_token: R_CURLY@38..40 "}" [Newline("\n")] [], }, ], eof_token: EOF@40..41 "" [Newline("\n")] [], } 0: JS_MODULE@0..41 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..40 0: JS_CLASS_DECLARATION@0..40 0: JS_DECORATOR_LIST@0..0 1: (empty) 2: CLASS_KW@0..6 "class" [] [Whitespace(" ")] 3: JS_IDENTIFIER_BINDING@6..8 0: IDENT@6..8 "A" [] [Whitespace(" ")] 4: (empty) 5: (empty) 6: (empty) 7: L_CURLY@8..9 "{" [] [] 8: JS_CLASS_MEMBER_LIST@9..38 0: JS_BOGUS_MEMBER@9..38 0: JS_PROPERTY_MODIFIER_LIST@9..30 0: JS_ACCESSOR_MODIFIER@9..23 0: ACCESSOR_KW@9..23 "accessor" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")] 1: JS_STATIC_MODIFIER@23..30 0: STATIC_KW@23..30 "static" [] [Whitespace(" ")] 1: JS_LITERAL_MEMBER_NAME@30..34 0: IDENT@30..34 "foo" [] [Whitespace(" ")] 2: JS_INITIALIZER_CLAUSE@34..37 0: EQ@34..36 "=" [] [Whitespace(" ")] 1: JS_NUMBER_LITERAL_EXPRESSION@36..37 0: JS_NUMBER_LITERAL@36..37 "1" [] [] 3: SEMICOLON@37..38 ";" [] [] 9: R_CURLY@38..40 "}" [Newline("\n")] [] 4: EOF@40..41 "" [Newline("\n")] [] -- class_member_static_accessor_precedence.js:2:14 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × 'static' must precede 'accessor' 1 │ class A { > 2 │ accessor static foo = 1; │ ^^^^^^ 3 │ } 4 │ i move this modifier 1 │ class A { > 2 │ accessor static foo = 1; │ ^^^^^^ 3 │ } 4 │ i before this modifier 1 │ class A { > 2 │ accessor static foo = 1; │ ^^^^^^^^ 3 │ } 4 │ -- class A { accessor static foo = 1; }