{"record":{"id":"0cdacc58aaef739a","repo":"swc-project/swc","slug":"auto-accessor","errorCode":null,"errorMessage":"auto accessor","messagePattern":"auto accessor","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/swc_estree_compat/src/babelify/class.rs","lineNumber":65,"sourceCode":"}\n\nimpl Babelify for ClassMember {\n    type Output = ClassBodyEl;\n\n    fn babelify(self, ctx: &Context) -> Self::Output {\n        match self {\n            ClassMember::Constructor(c) => ClassBodyEl::Method(c.babelify(ctx)),\n            ClassMember::Method(m) => ClassBodyEl::Method(m.babelify(ctx)),\n            ClassMember::PrivateMethod(m) => ClassBodyEl::PrivateMethod(m.babelify(ctx)),\n            ClassMember::ClassProp(p) => ClassBodyEl::Prop(p.babelify(ctx)),\n            ClassMember::PrivateProp(p) => ClassBodyEl::PrivateProp(p.babelify(ctx)),\n            ClassMember::TsIndexSignature(s) => ClassBodyEl::TSIndex(s.babelify(ctx)),\n            ClassMember::Empty(_) => panic!(\n                \"illegal conversion: Cannot convert {:?} to ClassBodyEl\",\n                &self\n            ),\n            ClassMember::StaticBlock(s) => ClassBodyEl::StaticBlock(s.babelify(ctx)),\n            ClassMember::AutoAccessor(..) => todo!(\"auto accessor\"),\n            #[cfg(swc_ast_unknown)]\n            _ => panic!(\"unable to access unknown nodes\"),\n        }\n    }\n}\n\nimpl Babelify for ClassProp {\n    type Output = ClassProperty;\n\n    fn babelify(self, ctx: &Context) -> Self::Output {\n        let computed = Some(self.key.is_computed());\n\n        ClassProperty {\n            base: ctx.base(self.span),\n            key: self.key.babelify(ctx),\n            value: self\n                .value\n                .map(|val| Box::alloc().init(val.babelify(ctx).into())),","sourceCodeStart":47,"sourceCodeEnd":83,"githubUrl":"https://github.com/swc-project/swc/blob/5176682b65416c6b5de6b47379ae1588ea3ecb3f/crates/swc_estree_compat/src/babelify/class.rs#L47-L83","documentation":"A catch-all arm in `Babelify for ClassMember` (babelify/class.rs:65). The match maps swc class members to Babel ClassBodyEl variants; the arm labeled 'auto accessor' fires for auto-accessor class members (`accessor x = ...`), a decorator-proposal feature whose Babel ESTree representation is not wired up in this conversion, so any ClassMember of that shape reaching the catch-all aborts the babelify pass.","triggerScenarios":"Thrown at crates/swc_estree_compat/src/babelify/class.rs:65 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Lower auto-accessor members to explicit getter/setter backing-field pairs in an earlier pass before babelifying","Add a ClassBodyEl mapping for auto accessors if the target ESTree AST supports them","Reject inputs using accessor syntax with a clear unsupported-feature error instead of panicking"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5176682b65416c6b5de6b47379ae1588ea3ecb3f","analyzedAt":"2026-08-17T16:16:52.067Z","contentChangedAt":"2026-08-17T16:16:52.067Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}