diff --git a/crates/swc_ecma_transforms_proposal/src/decorator_impl.rs b/crates/swc_ecma_transforms_proposal/src/decorator_impl.rs index 235b046ba01c0..0c6cc2bb23ca0 100644 --- a/crates/swc_ecma_transforms_proposal/src/decorator_impl.rs +++ b/crates/swc_ecma_transforms_proposal/src/decorator_impl.rs @@ -1054,6 +1054,13 @@ impl VisitMut for DecoratorPass { self.state.extra_stmts = old_stmts; } + fn visit_mut_class_decl(&mut self, n: &mut ClassDecl) { + let old_class_name = self.state.class_name.take(); + self.state.class_name = Some(n.ident.clone()); + n.visit_mut_children_with(self); + self.state.class_name = old_class_name; + } + fn visit_mut_class_member(&mut self, n: &mut ClassMember) { n.visit_mut_children_with(self);