diff --git a/crates/oxc_isolated_declarations/src/class.rs b/crates/oxc_isolated_declarations/src/class.rs index 6d953758f72b6..bb38254fdfbf6 100644 --- a/crates/oxc_isolated_declarations/src/class.rs +++ b/crates/oxc_isolated_declarations/src/class.rs @@ -241,8 +241,12 @@ impl<'a> IsolatedDeclarations<'a> { let mut elements = self.ast.new_vec(); for (index, param) in function.params.items.iter().enumerate() { if param.accessibility.is_some() || param.readonly { - // transformed params will definitely have type annotation - let type_annotation = self.ast.copy(¶ms.items[index].pattern.type_annotation); + let type_annotation = if param.accessibility.is_some_and(|a| a.is_private()) { + None + } else { + // transformed params will definitely have type annotation + self.ast.copy(¶ms.items[index].pattern.type_annotation) + }; if let Some(new_element) = self.transform_formal_parameter_to_class_property(param, type_annotation) { diff --git a/crates/oxc_isolated_declarations/tests/snapshots/class.snap b/crates/oxc_isolated_declarations/tests/snapshots/class.snap index 2101b8b656efc..7baebea6d6077 100644 --- a/crates/oxc_isolated_declarations/tests/snapshots/class.snap +++ b/crates/oxc_isolated_declarations/tests/snapshots/class.snap @@ -29,7 +29,7 @@ export declare class Baz { } export declare class Boo { readonly prop: number; - private readonly prop2: number; + private readonly prop2; readonly prop3: number; constructor(prop?: number, prop2?: number, prop3?: number); }