diff --git a/crates/oxc_transformer/src/es2022/class_properties/class.rs b/crates/oxc_transformer/src/es2022/class_properties/class.rs index b1527c6eba8cb..c3692456c8af0 100644 --- a/crates/oxc_transformer/src/es2022/class_properties/class.rs +++ b/crates/oxc_transformer/src/es2022/class_properties/class.rs @@ -339,6 +339,13 @@ impl<'a, 'ctx> ClassProperties<'a, 'ctx> { index_not_including_removed += 1; } + // Exit if nothing to transform + if instance_prop_count == 0 && !has_static_prop_or_static_block { + self.private_props_stack.push(None); + return; + } + + // Add entry to `private_props_stack` if private_props.is_empty() { self.private_props_stack.push(None); } else { @@ -353,11 +360,6 @@ impl<'a, 'ctx> ClassProperties<'a, 'ctx> { })); } - // Exit if nothing to transform - if instance_prop_count == 0 && !has_static_prop_or_static_block { - return; - } - // Extract properties and static blocks from class body + substitute computed method keys let mut instance_inits = Vec::with_capacity(instance_prop_count); class.body.body.retain_mut(|element| {