From 4f63418870cb7091b35ea7c0b32e3e810c307221 Mon Sep 17 00:00:00 2001 From: Titian Cernicova-Dragomir Date: Fri, 1 Mar 2024 19:07:47 +0000 Subject: [PATCH] Accessor declared type was not visited --- src/compiler/transformers/declarations.ts | 5 ++++- .../accessorDeclarationEmitVisibilityErrors.errors.txt | 5 ++++- .../reference/accessorDeclarationEmitVisibilityErrors.js | 6 ------ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/compiler/transformers/declarations.ts b/src/compiler/transformers/declarations.ts index 2ec0cfc60df4b..dfb83e31ed234 100644 --- a/src/compiler/transformers/declarations.ts +++ b/src/compiler/transformers/declarations.ts @@ -881,7 +881,10 @@ export function transformDeclarations(context: TransformationContext) { function typeFromAccessor(node: AccessorDeclaration) { const accessorDeclarations = resolver.getAllAccessorDeclarations(node); const accessorType = getTypeAnnotationFromAllAccessorDeclarations(node, accessorDeclarations); - return accessorType ?? inferAccessorType(accessorDeclarations.getAccessor ?? node); + if (accessorType) { + return visitTypeNode(accessorType); + } + return inferAccessorType(accessorDeclarations.getAccessor ?? node); } function typeFromVariable(node: VariableDeclaration) { const declaredType = node.type; diff --git a/tests/baselines/reference/accessorDeclarationEmitVisibilityErrors.errors.txt b/tests/baselines/reference/accessorDeclarationEmitVisibilityErrors.errors.txt index d1125074a66c0..0e908206a5638 100644 --- a/tests/baselines/reference/accessorDeclarationEmitVisibilityErrors.errors.txt +++ b/tests/baselines/reference/accessorDeclarationEmitVisibilityErrors.errors.txt @@ -1,9 +1,12 @@ accessorDeclarationEmitVisibilityErrors.ts(2,18): error TS2304: Cannot find name 'DoesNotExist'. +accessorDeclarationEmitVisibilityErrors.ts(2,18): error TS4106: Parameter 'arg' of accessor has or is using private name 'DoesNotExist'. -==== accessorDeclarationEmitVisibilityErrors.ts (1 errors) ==== +==== accessorDeclarationEmitVisibilityErrors.ts (2 errors) ==== export class Q { set bet(arg: DoesNotExist) {} ~~~~~~~~~~~~ !!! error TS2304: Cannot find name 'DoesNotExist'. + ~~~~~~~~~~~~ +!!! error TS4106: Parameter 'arg' of accessor has or is using private name 'DoesNotExist'. } \ No newline at end of file diff --git a/tests/baselines/reference/accessorDeclarationEmitVisibilityErrors.js b/tests/baselines/reference/accessorDeclarationEmitVisibilityErrors.js index b39fcf58b08bc..cd31e4220f4bd 100644 --- a/tests/baselines/reference/accessorDeclarationEmitVisibilityErrors.js +++ b/tests/baselines/reference/accessorDeclarationEmitVisibilityErrors.js @@ -9,9 +9,3 @@ export class Q { export class Q { set bet(arg) { } } - - -//// [accessorDeclarationEmitVisibilityErrors.d.ts] -export declare class Q { - set bet(arg: DoesNotExist); -}