diff --git a/crates/oxc_isolated_declarations/src/signatures.rs b/crates/oxc_isolated_declarations/src/signatures.rs index bb3a29a36f85e..54af9ea94107c 100644 --- a/crates/oxc_isolated_declarations/src/signatures.rs +++ b/crates/oxc_isolated_declarations/src/signatures.rs @@ -30,12 +30,12 @@ impl<'a> IsolatedDeclarations<'a> { }; let entry = method_annotations.entry(name).or_default(); - entry.0 |= first_param.pattern.type_annotation.is_some(); + entry.0 |= first_param.pattern.type_annotation.is_none(); entry.1 = Some(&mut first_param.pattern.type_annotation); } TSMethodSignatureKind::Get => { let entry = method_annotations.entry(name).or_default(); - entry.0 |= method.return_type.is_some(); + entry.0 |= method.return_type.is_none(); entry.2 = Some(&mut method.return_type); } }; diff --git a/crates/oxc_isolated_declarations/tests/fixtures/signatures.ts b/crates/oxc_isolated_declarations/tests/fixtures/signatures.ts index 57efd21518f3d..aa7c76012ef7a 100644 --- a/crates/oxc_isolated_declarations/tests/fixtures/signatures.ts +++ b/crates/oxc_isolated_declarations/tests/fixtures/signatures.ts @@ -11,3 +11,10 @@ export interface I { set value(_); get value(): string; } + + +// Do nothing +export interface Ref { + get value(): T + set value(_: S) +} \ No newline at end of file diff --git a/crates/oxc_isolated_declarations/tests/snapshots/signatures.snap b/crates/oxc_isolated_declarations/tests/snapshots/signatures.snap index 757b8cc6a6e74..dee8df0d152a6 100644 --- a/crates/oxc_isolated_declarations/tests/snapshots/signatures.snap +++ b/crates/oxc_isolated_declarations/tests/snapshots/signatures.snap @@ -23,3 +23,10 @@ export interface I { set value(_: string); get value(): string; } +export interface Ref< + T = any, + S = T +> { + get value(): T; + set value(_: S); +}