Skip to content

Commit e48cd3a

Browse files
ajafffRyanCavanaugh
authored andcommitted
Fix noImplicitAny check on ambient private getters (#33896)
1 parent 3d130b7 commit e48cd3a

5 files changed

+21
-1
lines changed

src/compiler/checker.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7436,7 +7436,9 @@ namespace ts {
74367436
}
74377437
else {
74387438
Debug.assert(!!getter, "there must exist a getter as we are current checking either setter or getter in this function");
7439-
errorOrSuggestion(noImplicitAny, getter!, Diagnostics.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation, symbolToString(symbol));
7439+
if (!isPrivateWithinAmbient(getter!)) {
7440+
errorOrSuggestion(noImplicitAny, getter!, Diagnostics.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation, symbolToString(symbol));
7441+
}
74407442
}
74417443
return anyType;
74427444
}

tests/baselines/reference/noImplicitAnyAndPrivateMembersWithoutTypeAnnotations.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ declare class Something
55
{
66
private static someStaticVar;
77
private someVar;
8+
private get getter();
9+
private set setter(v);
810
}
911

1012
//// [app.ts]

tests/baselines/reference/noImplicitAnyAndPrivateMembersWithoutTypeAnnotations.symbols

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,12 @@ declare class Something
1313

1414
private someVar;
1515
>someVar : Symbol(Something.someVar, Decl(test.d.ts, 2, 33))
16+
17+
private get getter();
18+
>getter : Symbol(Something.getter, Decl(test.d.ts, 3, 20))
19+
20+
private set setter(v);
21+
>setter : Symbol(Something.setter, Decl(test.d.ts, 4, 25))
22+
>v : Symbol(v, Decl(test.d.ts, 5, 23))
1623
}
1724

tests/baselines/reference/noImplicitAnyAndPrivateMembersWithoutTypeAnnotations.types

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,12 @@ declare class Something
1414

1515
private someVar;
1616
>someVar : any
17+
18+
private get getter();
19+
>getter : any
20+
21+
private set setter(v);
22+
>setter : any
23+
>v : any
1724
}
1825

tests/cases/compiler/noImplicitAnyAndPrivateMembersWithoutTypeAnnotations.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ declare class Something
33
{
44
private static someStaticVar;
55
private someVar;
6+
private get getter();
7+
private set setter(v);
68
}
79

810
// @noimplicitany: true

0 commit comments

Comments
 (0)