Skip to content

Commit 87a79f8

Browse files
Max Heibermheiber
Max Heiber
authored andcommitted
simplify and fixes for private methods emit
- also: use createUniqueName instead of createFileLevelUniqueName to avoid name conflicts Signed-off-by: Max Heiber <[email protected]> Signed-off-by: Max Heiber <[email protected]>
1 parent a71323b commit 87a79f8

40 files changed

+760
-216
lines changed

src/compiler/transformers/esnext.ts

+195-52
Large diffs are not rendered by default.

tests/baselines/reference/classConstructorParametersCommentPlacement.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,18 @@ class A {
1010

1111
//// [classConstructorParametersCommentPlacement.js]
1212
var _classPrivateFieldSet = function (receiver, privateMap, value) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to set private field on non-instance"); } privateMap.set(receiver, value); return value; };
13-
var _a, _b;
13+
var _aWeakMap_1, _bWeakMap_1;
1414
// some comment
1515
var A = /** @class */ (function () {
1616
function A(b) {
1717
if (b === void 0) { b = "something"; }
18-
_a.set(this, void 0);
19-
_b.set(this, void 0);
18+
_aWeakMap_1.set(this, void 0);
19+
_bWeakMap_1.set(this, void 0);
2020
this.b = b;
21-
_classPrivateFieldSet(this, _a, "private hello");
22-
_classPrivateFieldSet(this, _b, "another private name");
21+
_classPrivateFieldSet(this, _aWeakMap_1, "private hello");
22+
_classPrivateFieldSet(this, _bWeakMap_1, "another private name");
2323
this.a = "public property";
2424
}
2525
return A;
2626
}());
27-
_a = new WeakMap(), _b = new WeakMap();
27+
_aWeakMap_1 = new WeakMap(), _bWeakMap_1 = new WeakMap();

tests/baselines/reference/privateNameConstructorReserved.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,11 @@ class A {
88

99
//// [privateNameConstructorReserved.js]
1010
// @target es6
11+
var _constructor_1, _constructorWeakSet_1;
1112
var A = /** @class */ (function () {
1213
function A() {
14+
_constructorWeakSet_1.add(this);
1315
}
14-
A.prototype.#constructor = function () { }; // Error: `#constructor` is a reserved word.
1516
return A;
1617
}());
18+
_constructorWeakSet_1 = new WeakSet(), _constructor_1 = function _constructor_1() { };

tests/baselines/reference/privateNameDuplicateField.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ class A {
99

1010
//// [privateNameDuplicateField.js]
1111
// @target es6
12-
var _foo, _foo_1;
12+
var _fooWeakMap_1, _fooWeakMap_2;
1313
"use strict";
1414
var A = /** @class */ (function () {
1515
function A() {
16-
_foo_1.set(this, "foo");
17-
_foo_1.set(this, "foo");
16+
_fooWeakMap_2.set(this, "foo");
17+
_fooWeakMap_2.set(this, "foo");
1818
}
1919
return A;
2020
}());
21-
_foo = new WeakMap(), _foo_1 = new WeakMap();
21+
_fooWeakMap_1 = new WeakMap(), _fooWeakMap_2 = new WeakMap();

tests/baselines/reference/privateNameField.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ class A {
1111
//// [privateNameField.js]
1212
// @target es6
1313
var _classPrivateFieldSet = function (receiver, privateMap, value) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to set private field on non-instance"); } privateMap.set(receiver, value); return value; };
14-
var _name;
14+
var _nameWeakMap_1;
1515
"use strict";
1616
var A = /** @class */ (function () {
1717
function A(name) {
18-
_name.set(this, void 0);
19-
_classPrivateFieldSet(this, _name, name);
18+
_nameWeakMap_1.set(this, void 0);
19+
_classPrivateFieldSet(this, _nameWeakMap_1, name);
2020
}
2121
return A;
2222
}());
23-
_name = new WeakMap();
23+
_nameWeakMap_1 = new WeakMap();

tests/baselines/reference/privateNameFieldAccess.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ class A {
99

1010
//// [privateNameFieldAccess.js]
1111
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;
12+
var _myFieldWeakMap_1;
1313
var A = /** @class */ (function () {
1414
function A() {
15-
_myField.set(this, "hello world");
16-
console.log(_classPrivateFieldGet(this, _myField));
15+
_myFieldWeakMap_1.set(this, "hello world");
16+
console.log(_classPrivateFieldGet(this, _myFieldWeakMap_1));
1717
}
1818
return A;
1919
}());
20-
_myField = new WeakMap();
20+
_myFieldWeakMap_1 = new WeakMap();

tests/baselines/reference/privateNameFieldAssignment.js

+29-29
Original file line numberDiff line numberDiff line change
@@ -38,41 +38,41 @@ class A {
3838
//// [privateNameFieldAssignment.js]
3939
var _classPrivateFieldSet = function (receiver, privateMap, value) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to set private field on non-instance"); } privateMap.set(receiver, value); return value; };
4040
var _classPrivateFieldGet = function (receiver, privateMap) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return privateMap.get(receiver); };
41-
var _field;
41+
var _fieldWeakMap_1;
4242
var A = /** @class */ (function () {
4343
function A() {
44-
_field.set(this, 0);
44+
_fieldWeakMap_1.set(this, 0);
4545
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
46-
_classPrivateFieldSet(this, _field, 1);
47-
_classPrivateFieldSet(this, _field, _classPrivateFieldGet(this, _field) + 2);
48-
_classPrivateFieldSet(this, _field, _classPrivateFieldGet(this, _field) - 3);
49-
_classPrivateFieldSet(this, _field, _classPrivateFieldGet(this, _field) / 4);
50-
_classPrivateFieldSet(this, _field, _classPrivateFieldGet(this, _field) * 5);
51-
_classPrivateFieldSet(this, _field, Math.pow(_classPrivateFieldGet(this, _field), 6));
52-
_classPrivateFieldSet(this, _field, _classPrivateFieldGet(this, _field) % 7);
53-
_classPrivateFieldSet(this, _field, _classPrivateFieldGet(this, _field) << 8);
54-
_classPrivateFieldSet(this, _field, _classPrivateFieldGet(this, _field) >> 9);
55-
_classPrivateFieldSet(this, _field, _classPrivateFieldGet(this, _field) >>> 10);
56-
_classPrivateFieldSet(this, _field, _classPrivateFieldGet(this, _field) & 11);
57-
_classPrivateFieldSet(this, _field, _classPrivateFieldGet(this, _field) | 12);
58-
_classPrivateFieldSet(this, _field, _classPrivateFieldGet(this, _field) ^ 13);
59-
_classPrivateFieldSet(A.getInstance(), _field, 1);
60-
_classPrivateFieldSet(_a = A.getInstance(), _field, _classPrivateFieldGet(_a, _field) + 2);
61-
_classPrivateFieldSet(_b = A.getInstance(), _field, _classPrivateFieldGet(_b, _field) - 3);
62-
_classPrivateFieldSet(_c = A.getInstance(), _field, _classPrivateFieldGet(_c, _field) / 4);
63-
_classPrivateFieldSet(_d = A.getInstance(), _field, _classPrivateFieldGet(_d, _field) * 5);
64-
_classPrivateFieldSet(_e = A.getInstance(), _field, Math.pow(_classPrivateFieldGet(_e, _field), 6));
65-
_classPrivateFieldSet(_f = A.getInstance(), _field, _classPrivateFieldGet(_f, _field) % 7);
66-
_classPrivateFieldSet(_g = A.getInstance(), _field, _classPrivateFieldGet(_g, _field) << 8);
67-
_classPrivateFieldSet(_h = A.getInstance(), _field, _classPrivateFieldGet(_h, _field) >> 9);
68-
_classPrivateFieldSet(_j = A.getInstance(), _field, _classPrivateFieldGet(_j, _field) >>> 10);
69-
_classPrivateFieldSet(_k = A.getInstance(), _field, _classPrivateFieldGet(_k, _field) & 11);
70-
_classPrivateFieldSet(_l = A.getInstance(), _field, _classPrivateFieldGet(_l, _field) | 12);
71-
_classPrivateFieldSet(_m = A.getInstance(), _field, _classPrivateFieldGet(_m, _field) ^ 13);
46+
_classPrivateFieldSet(this, _fieldWeakMap_1, 1);
47+
_classPrivateFieldSet(this, _fieldWeakMap_1, _classPrivateFieldGet(this, _fieldWeakMap_1) + 2);
48+
_classPrivateFieldSet(this, _fieldWeakMap_1, _classPrivateFieldGet(this, _fieldWeakMap_1) - 3);
49+
_classPrivateFieldSet(this, _fieldWeakMap_1, _classPrivateFieldGet(this, _fieldWeakMap_1) / 4);
50+
_classPrivateFieldSet(this, _fieldWeakMap_1, _classPrivateFieldGet(this, _fieldWeakMap_1) * 5);
51+
_classPrivateFieldSet(this, _fieldWeakMap_1, Math.pow(_classPrivateFieldGet(this, _fieldWeakMap_1), 6));
52+
_classPrivateFieldSet(this, _fieldWeakMap_1, _classPrivateFieldGet(this, _fieldWeakMap_1) % 7);
53+
_classPrivateFieldSet(this, _fieldWeakMap_1, _classPrivateFieldGet(this, _fieldWeakMap_1) << 8);
54+
_classPrivateFieldSet(this, _fieldWeakMap_1, _classPrivateFieldGet(this, _fieldWeakMap_1) >> 9);
55+
_classPrivateFieldSet(this, _fieldWeakMap_1, _classPrivateFieldGet(this, _fieldWeakMap_1) >>> 10);
56+
_classPrivateFieldSet(this, _fieldWeakMap_1, _classPrivateFieldGet(this, _fieldWeakMap_1) & 11);
57+
_classPrivateFieldSet(this, _fieldWeakMap_1, _classPrivateFieldGet(this, _fieldWeakMap_1) | 12);
58+
_classPrivateFieldSet(this, _fieldWeakMap_1, _classPrivateFieldGet(this, _fieldWeakMap_1) ^ 13);
59+
_classPrivateFieldSet(A.getInstance(), _fieldWeakMap_1, 1);
60+
_classPrivateFieldSet(_a = A.getInstance(), _fieldWeakMap_1, _classPrivateFieldGet(_a, _fieldWeakMap_1) + 2);
61+
_classPrivateFieldSet(_b = A.getInstance(), _fieldWeakMap_1, _classPrivateFieldGet(_b, _fieldWeakMap_1) - 3);
62+
_classPrivateFieldSet(_c = A.getInstance(), _fieldWeakMap_1, _classPrivateFieldGet(_c, _fieldWeakMap_1) / 4);
63+
_classPrivateFieldSet(_d = A.getInstance(), _fieldWeakMap_1, _classPrivateFieldGet(_d, _fieldWeakMap_1) * 5);
64+
_classPrivateFieldSet(_e = A.getInstance(), _fieldWeakMap_1, Math.pow(_classPrivateFieldGet(_e, _fieldWeakMap_1), 6));
65+
_classPrivateFieldSet(_f = A.getInstance(), _fieldWeakMap_1, _classPrivateFieldGet(_f, _fieldWeakMap_1) % 7);
66+
_classPrivateFieldSet(_g = A.getInstance(), _fieldWeakMap_1, _classPrivateFieldGet(_g, _fieldWeakMap_1) << 8);
67+
_classPrivateFieldSet(_h = A.getInstance(), _fieldWeakMap_1, _classPrivateFieldGet(_h, _fieldWeakMap_1) >> 9);
68+
_classPrivateFieldSet(_j = A.getInstance(), _fieldWeakMap_1, _classPrivateFieldGet(_j, _fieldWeakMap_1) >>> 10);
69+
_classPrivateFieldSet(_k = A.getInstance(), _fieldWeakMap_1, _classPrivateFieldGet(_k, _fieldWeakMap_1) & 11);
70+
_classPrivateFieldSet(_l = A.getInstance(), _fieldWeakMap_1, _classPrivateFieldGet(_l, _fieldWeakMap_1) | 12);
71+
_classPrivateFieldSet(_m = A.getInstance(), _fieldWeakMap_1, _classPrivateFieldGet(_m, _fieldWeakMap_1) ^ 13);
7272
}
7373
A.getInstance = function () {
7474
return new A();
7575
};
7676
return A;
7777
}());
78-
_field = new WeakMap();
78+
_fieldWeakMap_1 = new WeakMap();

tests/baselines/reference/privateNameFieldCallExpression.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,18 @@ class A {
1212

1313
//// [privateNameFieldCallExpression.js]
1414
var _classPrivateFieldGet = function (receiver, privateMap) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return privateMap.get(receiver); };
15-
var _fieldFunc;
15+
var _fieldFuncWeakMap_1;
1616
var A = /** @class */ (function () {
1717
function A() {
1818
var _this = this;
19-
_fieldFunc.set(this, function () { return _this.x = 10; });
19+
_fieldFuncWeakMap_1.set(this, function () { return _this.x = 10; });
2020
this.x = 1;
2121
}
2222
A.prototype.test = function () {
23-
_classPrivateFieldGet(this, _fieldFunc).call(this);
24-
var func = _classPrivateFieldGet(this, _fieldFunc);
23+
_classPrivateFieldGet(this, _fieldFuncWeakMap_1).call(this);
24+
var func = _classPrivateFieldGet(this, _fieldFuncWeakMap_1);
2525
func();
2626
};
2727
return A;
2828
}());
29-
_fieldFunc = new WeakMap();
29+
_fieldFuncWeakMap_1 = new WeakMap();

tests/baselines/reference/privateNameFieldDeclaration.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ class A {
55

66

77
//// [privateNameFieldDeclaration.js]
8-
var _name;
8+
var _nameWeakMap_1;
99
var A = /** @class */ (function () {
1010
function A() {
11-
_name.set(this, void 0);
11+
_nameWeakMap_1.set(this, void 0);
1212
}
1313
return A;
1414
}());
15-
_name = new WeakMap();
15+
_nameWeakMap_1 = new WeakMap();

tests/baselines/reference/privateNameFieldDestructuredBinding.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@ class A {
1717

1818
//// [privateNameFieldDestructuredBinding.js]
1919
var _classPrivateFieldGet = function (receiver, privateMap) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return privateMap.get(receiver); };
20-
var _field;
20+
var _fieldWeakMap_1;
2121
var A = /** @class */ (function () {
2222
function A() {
23-
_field.set(this, 1);
23+
_fieldWeakMap_1.set(this, 1);
2424
var _a, _b;
2525
var y;
26-
(_a = this.testObject(), { set value(x) { _classPrivateFieldGet(this, _field) = x; } }.value = _a.x, y = _a.y);
27-
(_b = this.testArray(), { set value(x) { _classPrivateFieldGet(this, _field) = x; } }.value = _b[0], y = _b[1]);
26+
(_a = this.testObject(), { set value(x) { _classPrivateFieldGet(this, _fieldWeakMap_1) = x; } }.value = _a.x, y = _a.y);
27+
(_b = this.testArray(), { set value(x) { _classPrivateFieldGet(this, _fieldWeakMap_1) = x; } }.value = _b[0], y = _b[1]);
2828
}
2929
A.prototype.testObject = function () {
3030
return { x: 10, y: 6 };
@@ -34,4 +34,4 @@ var A = /** @class */ (function () {
3434
};
3535
return A;
3636
}());
37-
_field = new WeakMap();
37+
_fieldWeakMap_1 = new WeakMap();

tests/baselines/reference/privateNameFieldInitializer.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ class A {
66

77

88
//// [privateNameFieldInitializer.js]
9-
var _field, _uninitialized;
9+
var _fieldWeakMap_1, _uninitializedWeakMap_1;
1010
var A = /** @class */ (function () {
1111
function A() {
12-
_field.set(this, 10);
13-
_uninitialized.set(this, void 0);
12+
_fieldWeakMap_1.set(this, 10);
13+
_uninitializedWeakMap_1.set(this, void 0);
1414
}
1515
return A;
1616
}());
17-
_field = new WeakMap(), _uninitialized = new WeakMap();
17+
_fieldWeakMap_1 = new WeakMap(), _uninitializedWeakMap_1 = new WeakMap();

tests/baselines/reference/privateNameFieldUnaryMutation.js

+11-11
Original file line numberDiff line numberDiff line change
@@ -20,24 +20,24 @@ class C {
2020
//// [privateNameFieldUnaryMutation.js]
2121
var _classPrivateFieldGet = function (receiver, privateMap) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return privateMap.get(receiver); };
2222
var _classPrivateFieldSet = function (receiver, privateMap, value) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to set private field on non-instance"); } privateMap.set(receiver, value); return value; };
23-
var _test;
23+
var _testWeakMap_1;
2424
var C = /** @class */ (function () {
2525
function C() {
26-
_test.set(this, 24);
26+
_testWeakMap_1.set(this, 24);
2727
var _a, _b;
28-
_a = _classPrivateFieldGet(this, _test), _classPrivateFieldSet(this, _test, _a + 1), _a;
29-
_b = _classPrivateFieldGet(this, _test), _classPrivateFieldSet(this, _test, _b - 1), _b;
30-
_classPrivateFieldSet(this, _test, _classPrivateFieldGet(this, _test) + 1);
31-
_classPrivateFieldSet(this, _test, _classPrivateFieldGet(this, _test) - 1);
28+
_a = _classPrivateFieldGet(this, _testWeakMap_1), _classPrivateFieldSet(this, _testWeakMap_1, _a + 1), _a;
29+
_b = _classPrivateFieldGet(this, _testWeakMap_1), _classPrivateFieldSet(this, _testWeakMap_1, _b - 1), _b;
30+
_classPrivateFieldSet(this, _testWeakMap_1, _classPrivateFieldGet(this, _testWeakMap_1) + 1);
31+
_classPrivateFieldSet(this, _testWeakMap_1, _classPrivateFieldGet(this, _testWeakMap_1) - 1);
3232
}
3333
C.prototype.test = function () {
3434
var _a, _b, _c, _d, _e, _f;
35-
_a = this.getInstance(), _b = _classPrivateFieldGet(_a, _test), _classPrivateFieldSet(_a, _test, _b + 1), _b;
36-
_c = this.getInstance(), _d = _classPrivateFieldGet(_c, _test), _classPrivateFieldSet(_c, _test, _d - 1), _d;
37-
_classPrivateFieldSet(_e = this.getInstance(), _test, _classPrivateFieldGet(_e, _test) + 1);
38-
_classPrivateFieldSet(_f = this.getInstance(), _test, _classPrivateFieldGet(_f, _test) - 1);
35+
_a = this.getInstance(), _b = _classPrivateFieldGet(_a, _testWeakMap_1), _classPrivateFieldSet(_a, _testWeakMap_1, _b + 1), _b;
36+
_c = this.getInstance(), _d = _classPrivateFieldGet(_c, _testWeakMap_1), _classPrivateFieldSet(_c, _testWeakMap_1, _d - 1), _d;
37+
_classPrivateFieldSet(_e = this.getInstance(), _testWeakMap_1, _classPrivateFieldGet(_e, _testWeakMap_1) + 1);
38+
_classPrivateFieldSet(_f = this.getInstance(), _testWeakMap_1, _classPrivateFieldGet(_f, _testWeakMap_1) - 1);
3939
};
4040
C.prototype.getInstance = function () { return new C(); };
4141
return C;
4242
}());
43-
_test = new WeakMap();
43+
_testWeakMap_1 = new WeakMap();

tests/baselines/reference/privateNameInObjectLiteral-2.js

+1-4
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,4 @@ const obj = {
77

88

99
//// [privateNameInObjectLiteral-2.js]
10-
var obj = {
11-
#foo: function () {
12-
}
13-
};
10+
var obj = {};

tests/baselines/reference/privateNameNestedClassNameConflict.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,19 @@ class A {
99
}
1010

1111
//// [privateNameNestedClassNameConflict.js]
12-
var _foo;
12+
var _fooWeakMap_1;
1313
var A = /** @class */ (function () {
1414
function A() {
15-
_foo.set(this, void 0);
16-
var _foo_1;
15+
_fooWeakMap_1.set(this, void 0);
16+
var _fooWeakMap_2;
1717
var A = /** @class */ (function () {
1818
function A() {
19-
_foo_1.set(this, void 0);
19+
_fooWeakMap_2.set(this, void 0);
2020
}
2121
return A;
2222
}());
23-
_foo_1 = new WeakMap();
23+
_fooWeakMap_2 = new WeakMap();
2424
}
2525
return A;
2626
}());
27-
_foo = new WeakMap();
27+
_fooWeakMap_1 = new WeakMap();

tests/baselines/reference/privateNameNotAccessibleOutsideDefiningClass.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ new A().#foo = 4; // Error
1010

1111
//// [privateNameNotAccessibleOutsideDefiningClass.js]
1212
// @target es6
13-
var _foo;
13+
var _fooWeakMap_1;
1414
"use strict";
1515
var A = /** @class */ (function () {
1616
function A() {
17-
_foo.set(this, 3);
17+
_fooWeakMap_1.set(this, 3);
1818
}
1919
return A;
2020
}());
21-
_foo = new WeakMap();
21+
_fooWeakMap_1 = new WeakMap();
2222
new A().#foo = 4; // Error

tests/baselines/reference/privateNameSneakyRuntimeException.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,17 @@ console.log(a.equals(b)); // OK at compile time but will be a runtime error
2222
var _classPrivateFieldGet = function (receiver, privateMap) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return privateMap.get(receiver); };
2323
var _classPrivateFieldSet = function (receiver, privateMap, value) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to set private field on non-instance"); } privateMap.set(receiver, value); return value; };
2424
function createClass() {
25-
var _foo, _a;
25+
var _fooWeakMap_1, _a;
2626
return _a = /** @class */ (function () {
2727
function class_1() {
28-
_foo.set(this, 3);
28+
_fooWeakMap_1.set(this, 3);
2929
}
3030
class_1.prototype.equals = function (other) {
31-
return _classPrivateFieldSet(this, _foo, _classPrivateFieldGet(other, _foo));
31+
return _classPrivateFieldSet(this, _fooWeakMap_1, _classPrivateFieldGet(other, _fooWeakMap_1));
3232
};
3333
return class_1;
3434
}()),
35-
_foo = new WeakMap(),
35+
_fooWeakMap_1 = new WeakMap(),
3636
_a;
3737
}
3838
var a = new (createClass())();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
//// [privateNamedMemberOrder.ts]
2+
class A {
3+
#foo: () => 1;
4+
#bar() {
5+
return this.#foo;
6+
}
7+
baz = this.#bar();
8+
}
9+
10+
//// [privateNamedMemberOrder.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+
function _classPrivateNamedMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
13+
var _fooWeakMap_1, _bar_1, _barWeakSet_1;
14+
var A = /** @class */ (function () {
15+
function A() {
16+
_barWeakSet_1.add(this);
17+
_fooWeakMap_1.set(this, void 0);
18+
this.baz = _classPrivateNamedMethodGet(this, _barWeakSet_1, _bar_1).call(this);
19+
}
20+
return A;
21+
}());
22+
_fooWeakMap_1 = new WeakMap(), _barWeakSet_1 = new WeakSet(), _bar_1 = function _bar_1() {
23+
return _classPrivateFieldGet(this, _fooWeakMap_1);
24+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
=== tests/cases/conformance/classes/members/privateNames/privateNamedMemberOrder.ts ===
2+
class A {
3+
>A : Symbol(A, Decl(privateNamedMemberOrder.ts, 0, 0))
4+
5+
#foo: () => 1;
6+
>#foo : Symbol(A.#foo, Decl(privateNamedMemberOrder.ts, 0, 9))
7+
8+
#bar() {
9+
>#bar : Symbol(A.#bar, Decl(privateNamedMemberOrder.ts, 1, 18))
10+
11+
return this.#foo;
12+
>this.#foo : Symbol(A.#foo, Decl(privateNamedMemberOrder.ts, 0, 9))
13+
>this : Symbol(A, Decl(privateNamedMemberOrder.ts, 0, 0))
14+
}
15+
baz = this.#bar();
16+
>baz : Symbol(A.baz, Decl(privateNamedMemberOrder.ts, 4, 5))
17+
>this.#bar : Symbol(A.#bar, Decl(privateNamedMemberOrder.ts, 1, 18))
18+
>this : Symbol(A, Decl(privateNamedMemberOrder.ts, 0, 0))
19+
}

0 commit comments

Comments
 (0)