Skip to content

Commit 41528f5

Browse files
author
Max Heiber
committed
WIP private methods
Signed-off-by: Max Heiber <[email protected]>
1 parent 8bfc540 commit 41528f5

10 files changed

+254
-114
lines changed

src/compiler/transformers/esnext.ts

+183-43
Large diffs are not rendered by default.

tests/baselines/reference/privateNameField.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ class A {
88

99
//// [privateNameField.js]
1010
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; };
11-
var _name;
11+
var _namePrivate;
1212
var A = /** @class */ (function () {
1313
function A(name) {
14-
_name.set(this, void 0);
15-
_classPrivateFieldSet(this, _name, name);
14+
_namePrivate.set(this, void 0);
15+
_classPrivateFieldSet(this, _namePrivate, name);
1616
}
1717
return A;
1818
}());
19-
_name = new WeakMap();
19+
_namePrivate = 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 _myFieldPrivate;
1313
var A = /** @class */ (function () {
1414
function A() {
15-
_myField.set(this, "hello world");
16-
console.log(_classPrivateFieldGet(this, _myField));
15+
_myFieldPrivate.set(this, "hello world");
16+
console.log(_classPrivateFieldGet(this, _myFieldPrivate));
1717
}
1818
return A;
1919
}());
20-
_myField = new WeakMap();
20+
_myFieldPrivate = 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 _fieldPrivate;
4242
var A = /** @class */ (function () {
4343
function A() {
44-
_field.set(this, 0);
44+
_fieldPrivate.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, _fieldPrivate, 1);
47+
_classPrivateFieldSet(this, _fieldPrivate, _classPrivateFieldGet(this, _fieldPrivate) + 2);
48+
_classPrivateFieldSet(this, _fieldPrivate, _classPrivateFieldGet(this, _fieldPrivate) - 3);
49+
_classPrivateFieldSet(this, _fieldPrivate, _classPrivateFieldGet(this, _fieldPrivate) / 4);
50+
_classPrivateFieldSet(this, _fieldPrivate, _classPrivateFieldGet(this, _fieldPrivate) * 5);
51+
_classPrivateFieldSet(this, _fieldPrivate, Math.pow(_classPrivateFieldGet(this, _fieldPrivate), 6));
52+
_classPrivateFieldSet(this, _fieldPrivate, _classPrivateFieldGet(this, _fieldPrivate) % 7);
53+
_classPrivateFieldSet(this, _fieldPrivate, _classPrivateFieldGet(this, _fieldPrivate) << 8);
54+
_classPrivateFieldSet(this, _fieldPrivate, _classPrivateFieldGet(this, _fieldPrivate) >> 9);
55+
_classPrivateFieldSet(this, _fieldPrivate, _classPrivateFieldGet(this, _fieldPrivate) >>> 10);
56+
_classPrivateFieldSet(this, _fieldPrivate, _classPrivateFieldGet(this, _fieldPrivate) & 11);
57+
_classPrivateFieldSet(this, _fieldPrivate, _classPrivateFieldGet(this, _fieldPrivate) | 12);
58+
_classPrivateFieldSet(this, _fieldPrivate, _classPrivateFieldGet(this, _fieldPrivate) ^ 13);
59+
_classPrivateFieldSet(A.getInstance(), _fieldPrivate, 1);
60+
_classPrivateFieldSet(_a = A.getInstance(), _fieldPrivate, _classPrivateFieldGet(_a, _fieldPrivate) + 2);
61+
_classPrivateFieldSet(_b = A.getInstance(), _fieldPrivate, _classPrivateFieldGet(_b, _fieldPrivate) - 3);
62+
_classPrivateFieldSet(_c = A.getInstance(), _fieldPrivate, _classPrivateFieldGet(_c, _fieldPrivate) / 4);
63+
_classPrivateFieldSet(_d = A.getInstance(), _fieldPrivate, _classPrivateFieldGet(_d, _fieldPrivate) * 5);
64+
_classPrivateFieldSet(_e = A.getInstance(), _fieldPrivate, Math.pow(_classPrivateFieldGet(_e, _fieldPrivate), 6));
65+
_classPrivateFieldSet(_f = A.getInstance(), _fieldPrivate, _classPrivateFieldGet(_f, _fieldPrivate) % 7);
66+
_classPrivateFieldSet(_g = A.getInstance(), _fieldPrivate, _classPrivateFieldGet(_g, _fieldPrivate) << 8);
67+
_classPrivateFieldSet(_h = A.getInstance(), _fieldPrivate, _classPrivateFieldGet(_h, _fieldPrivate) >> 9);
68+
_classPrivateFieldSet(_j = A.getInstance(), _fieldPrivate, _classPrivateFieldGet(_j, _fieldPrivate) >>> 10);
69+
_classPrivateFieldSet(_k = A.getInstance(), _fieldPrivate, _classPrivateFieldGet(_k, _fieldPrivate) & 11);
70+
_classPrivateFieldSet(_l = A.getInstance(), _fieldPrivate, _classPrivateFieldGet(_l, _fieldPrivate) | 12);
71+
_classPrivateFieldSet(_m = A.getInstance(), _fieldPrivate, _classPrivateFieldGet(_m, _fieldPrivate) ^ 13);
7272
}
7373
A.getInstance = function () {
7474
return new A();
7575
};
7676
return A;
7777
}());
78-
_field = new WeakMap();
78+
_fieldPrivate = 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 _fieldFuncPrivate;
1616
var A = /** @class */ (function () {
1717
function A() {
1818
var _this = this;
19-
_fieldFunc.set(this, function () { return _this.x = 10; });
19+
_fieldFuncPrivate.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, _fieldFuncPrivate).call(this);
24+
var func = _classPrivateFieldGet(this, _fieldFuncPrivate);
2525
func();
2626
};
2727
return A;
2828
}());
29-
_fieldFunc = new WeakMap();
29+
_fieldFuncPrivate = 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 _namePrivate;
99
var A = /** @class */ (function () {
1010
function A() {
11-
_name.set(this, void 0);
11+
_namePrivate.set(this, void 0);
1212
}
1313
return A;
1414
}());
15-
_name = new WeakMap();
15+
_namePrivate = 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 _fieldPrivate;
2121
var A = /** @class */ (function () {
2222
function A() {
23-
_field.set(this, 1);
23+
_fieldPrivate.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, _fieldPrivate) = x; } }.value = _a.x, y = _a.y);
27+
(_b = this.testArray(), { set value(x) { _classPrivateFieldGet(this, _fieldPrivate) = 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+
_fieldPrivate = 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 _fieldPrivate, _uninitializedPrivate;
1010
var A = /** @class */ (function () {
1111
function A() {
12-
_field.set(this, 10);
13-
_uninitialized.set(this, void 0);
12+
_fieldPrivate.set(this, 10);
13+
_uninitializedPrivate.set(this, void 0);
1414
}
1515
return A;
1616
}());
17-
_field = new WeakMap(), _uninitialized = new WeakMap();
17+
_fieldPrivate = new WeakMap(), _uninitializedPrivate = 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 _testPrivate;
2424
var C = /** @class */ (function () {
2525
function C() {
26-
_test.set(this, 24);
26+
_testPrivate.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, _testPrivate), _classPrivateFieldSet(this, _testPrivate, _a + 1), _a;
29+
_b = _classPrivateFieldGet(this, _testPrivate), _classPrivateFieldSet(this, _testPrivate, _b - 1), _b;
30+
_classPrivateFieldSet(this, _testPrivate, _classPrivateFieldGet(this, _testPrivate) + 1);
31+
_classPrivateFieldSet(this, _testPrivate, _classPrivateFieldGet(this, _testPrivate) - 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, _testPrivate), _classPrivateFieldSet(_a, _testPrivate, _b + 1), _b;
36+
_c = this.getInstance(), _d = _classPrivateFieldGet(_c, _testPrivate), _classPrivateFieldSet(_c, _testPrivate, _d - 1), _d;
37+
_classPrivateFieldSet(_e = this.getInstance(), _testPrivate, _classPrivateFieldGet(_e, _testPrivate) + 1);
38+
_classPrivateFieldSet(_f = this.getInstance(), _testPrivate, _classPrivateFieldGet(_f, _testPrivate) - 1);
3939
};
4040
C.prototype.getInstance = function () { return new C(); };
4141
return C;
4242
}());
43-
_test = new WeakMap();
43+
_testPrivate = new WeakMap();

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 _fooPrivate;
1313
var A = /** @class */ (function () {
1414
function A() {
15-
_foo.set(this, void 0);
16-
var _foo_1;
15+
_fooPrivate.set(this, void 0);
16+
var _fooPrivate;
1717
var A = /** @class */ (function () {
1818
function A() {
19-
_foo_1.set(this, void 0);
19+
_fooPrivate.set(this, void 0);
2020
}
2121
return A;
2222
}());
23-
_foo_1 = new WeakMap();
23+
_fooPrivate = new WeakMap();
2424
}
2525
return A;
2626
}());
27-
_foo = new WeakMap();
27+
_fooPrivate = new WeakMap();

0 commit comments

Comments
 (0)