Skip to content

Commit c39beb8

Browse files
committed
Fix ambiguous wording of PrivateName access error
Signed-off-by: Max Heiber <[email protected]>
1 parent 88b47d4 commit c39beb8

File tree

4 files changed

+6
-6
lines changed

4 files changed

+6
-6
lines changed

src/compiler/checker.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17867,7 +17867,7 @@ namespace ts {
1786717867
if (node.kind === SyntaxKind.PropertyAccessExpression && isPrivateName(node.name)) {
1786817868
const declaringClassDeclaration = getClassLikeDeclarationOfSymbol(getParentOfSymbol(prop)!)!;
1786917869
if (!isNodeWithinClass(node, declaringClassDeclaration)) {
17870-
error(errorNode, Diagnostics.Property_0_is_only_accessible_within_class_1_because_it_has_a_private_name, symbolToString(prop), typeToString(getDeclaringClass(prop)!));
17870+
error(errorNode, Diagnostics.Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_name, symbolToString(prop), typeToString(getDeclaringClass(prop)!));
1787117871
return false;
1787217872
}
1787317873
return true;

src/compiler/diagnosticMessages.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4178,7 +4178,7 @@
41784178
"category": "Error",
41794179
"code": 18006
41804180
},
4181-
"Property '{0}' is only accessible within class '{1}' because it has a private name.": {
4181+
"Property '{0}' is not accessible outside class '{1}' because it has a private name.": {
41824182
"category": "Error",
41834183
"code": 18007
41844184
},
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
tests/cases/conformance/classes/members/privateNames/privateNameNotAccessibleOutsideDefiningClass.ts(5,9): error TS18007: Property '#foo' is only accessible within class 'A' because it has a private name.
1+
tests/cases/conformance/classes/members/privateNames/privateNameNotAccessibleOutsideDefiningClass.ts(5,9): error TS18007: Property '#foo' is not accessible outside class 'A' because it has a private name.
22

33

44
==== tests/cases/conformance/classes/members/privateNames/privateNameNotAccessibleOutsideDefiningClass.ts (1 errors) ====
@@ -8,5 +8,5 @@ tests/cases/conformance/classes/members/privateNames/privateNameNotAccessibleOut
88

99
new A().#foo = 4; // Error
1010
~~~~
11-
!!! error TS18007: Property '#foo' is only accessible within class 'A' because it has a private name.
11+
!!! error TS18007: Property '#foo' is not accessible outside class 'A' because it has a private name.
1212

tests/baselines/reference/privateNamesInGenericClasses.errors.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
tests/cases/conformance/classes/members/privateNames/privateNamesInGenericClasses.ts(10,3): error TS18007: Property '#foo' is only accessible within class 'C<T>' because it has a private name.
1+
tests/cases/conformance/classes/members/privateNames/privateNamesInGenericClasses.ts(10,3): error TS18007: Property '#foo' is not accessible outside class 'C<T>' because it has a private name.
22
tests/cases/conformance/classes/members/privateNames/privateNamesInGenericClasses.ts(11,1): error TS2322: Type 'C<string>' is not assignable to type 'C<number>'.
33
Type 'string' is not assignable to type 'number'.
44
tests/cases/conformance/classes/members/privateNames/privateNamesInGenericClasses.ts(12,1): error TS2322: Type 'C<number>' is not assignable to type 'C<string>'.
@@ -17,7 +17,7 @@ tests/cases/conformance/classes/members/privateNames/privateNamesInGenericClasse
1717
declare let b: C<string>;
1818
a.#foo; // OK
1919
~~~~
20-
!!! error TS18007: Property '#foo' is only accessible within class 'C<T>' because it has a private name.
20+
!!! error TS18007: Property '#foo' is not accessible outside class 'C<T>' because it has a private name.
2121
a = b; // Error
2222
~
2323
!!! error TS2322: Type 'C<string>' is not assignable to type 'C<number>'.

0 commit comments

Comments
 (0)