Skip to content

Commit 3341558

Browse files
author
Joseph Watts
committed
Add privateNameFieldAccess test
Signed-off-by: Joseph Watts <jwatts43@bloomberg.net>
1 parent e0730a3 commit 3341558

File tree

4 files changed

+62
-0
lines changed

4 files changed

+62
-0
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
//// [privateNameFieldAccess.ts]
2+
class A {
3+
#myField = "hello world";
4+
constructor() {
5+
console.log(this.#myField);
6+
}
7+
}
8+
9+
10+
//// [privateNameFieldAccess.js]
11+
var _classPrivateFieldGet = function (receiver, privateMap) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return privateMap.get(receiver); };
12+
var _myField;
13+
var A = /** @class */ (function () {
14+
function A() {
15+
_myField.set(this, "hello world");
16+
console.log(_classPrivateFieldGet(this, _myField));
17+
}
18+
return A;
19+
}());
20+
_myField = new WeakMap();
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
=== tests/cases/conformance/classes/members/privateNames/privateNameFieldAccess.ts ===
2+
class A {
3+
>A : Symbol(A, Decl(privateNameFieldAccess.ts, 0, 0))
4+
5+
#myField = "hello world";
6+
>#myField : Symbol(A[#myField], Decl(privateNameFieldAccess.ts, 0, 9))
7+
8+
constructor() {
9+
console.log(this.#myField);
10+
>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --))
11+
>console : Symbol(console, Decl(lib.dom.d.ts, --, --))
12+
>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --))
13+
>this.#myField : Symbol(A[#myField], Decl(privateNameFieldAccess.ts, 0, 9))
14+
>this : Symbol(A, Decl(privateNameFieldAccess.ts, 0, 0))
15+
}
16+
}
17+
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
=== tests/cases/conformance/classes/members/privateNames/privateNameFieldAccess.ts ===
2+
class A {
3+
>A : A
4+
5+
#myField = "hello world";
6+
>#myField : string
7+
>"hello world" : "hello world"
8+
9+
constructor() {
10+
console.log(this.#myField);
11+
>console.log(this.#myField) : void
12+
>console.log : (message?: any, ...optionalParams: any[]) => void
13+
>console : Console
14+
>log : (message?: any, ...optionalParams: any[]) => void
15+
>this.#myField : string
16+
>this : this
17+
}
18+
}
19+
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
class A {
2+
#myField = "hello world";
3+
constructor() {
4+
console.log(this.#myField);
5+
}
6+
}

0 commit comments

Comments
 (0)