fix(es/compat): Support updating a private field with bigint value (#4136)

This commit is contained in:
magic-akari 2022-05-02 12:34:46 +08:00 committed by GitHub
parent e170645501
commit 1e1d081805
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
43 changed files with 540 additions and 415 deletions

View File

@ -3,36 +3,35 @@ var _test = /*#__PURE__*/ new WeakMap();
// @target: es2015 // @target: es2015
class C { class C {
test() { test() {
var _ref, _this_test, _ref1, _this_test1, _ref2, _ref3, _ref4, _this_test2, _ref5, _this_test3, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _this_test4; var _ref, _ref1;
swcHelpers.classPrivateFieldSet(_ref = this.getInstance(), _test, (_this_test = +swcHelpers.classPrivateFieldGet(_ref, _test)) + 1), _this_test; swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value++;
swcHelpers.classPrivateFieldSet(_ref1 = this.getInstance(), _test, (_this_test1 = +swcHelpers.classPrivateFieldGet(_ref1, _test)) - 1), _this_test1; swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value--;
swcHelpers.classPrivateFieldSet(_ref2 = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref2, _test) + 1); ++swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value;
swcHelpers.classPrivateFieldSet(_ref3 = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref3, _test) - 1); --swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value;
const a = (swcHelpers.classPrivateFieldSet(_ref4 = this.getInstance(), _test, (_this_test2 = +swcHelpers.classPrivateFieldGet(_ref4, _test)) + 1), _this_test2); const a = swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value++;
const b = (swcHelpers.classPrivateFieldSet(_ref5 = this.getInstance(), _test, (_this_test3 = +swcHelpers.classPrivateFieldGet(_ref5, _test)) - 1), _this_test3); const b = swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value--;
const c = swcHelpers.classPrivateFieldSet(_ref6 = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref6, _test) + 1); const c = ++swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value;
const d = swcHelpers.classPrivateFieldSet(_ref7 = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref7, _test) - 1); const d = --swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value;
for(swcHelpers.classPrivateFieldSet(this.getInstance(), _test, 0); swcHelpers.classPrivateFieldGet(_ref8 = this.getInstance(), _test) < 10; swcHelpers.classPrivateFieldSet(_ref9 = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref9, _test) + 1)){} for(swcHelpers.classPrivateFieldSet(this.getInstance(), _test, 0); swcHelpers.classPrivateFieldGet(_ref = this.getInstance(), _test) < 10; ++swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value){}
for(swcHelpers.classPrivateFieldSet(this.getInstance(), _test, 0); swcHelpers.classPrivateFieldGet(_ref10 = this.getInstance(), _test) < 10; swcHelpers.classPrivateFieldSet(_ref11 = this.getInstance(), _test, (_this_test4 = +swcHelpers.classPrivateFieldGet(_ref11, _test)) + 1), _this_test4){} for(swcHelpers.classPrivateFieldSet(this.getInstance(), _test, 0); swcHelpers.classPrivateFieldGet(_ref1 = this.getInstance(), _test) < 10; swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value++){}
} }
getInstance() { getInstance() {
return new C(); return new C();
} }
constructor(){ constructor(){
var _this_test, _this_test5, _this_test6, _this_test7, _this_test8;
swcHelpers.classPrivateFieldInit(this, _test, { swcHelpers.classPrivateFieldInit(this, _test, {
writable: true, writable: true,
value: 24 value: 24
}); });
swcHelpers.classPrivateFieldSet(this, _test, (_this_test = +swcHelpers.classPrivateFieldGet(this, _test)) + 1), _this_test; swcHelpers.classPrivateFieldUpdate(this, _test).value++;
swcHelpers.classPrivateFieldSet(this, _test, (_this_test5 = +swcHelpers.classPrivateFieldGet(this, _test)) - 1), _this_test5; swcHelpers.classPrivateFieldUpdate(this, _test).value--;
swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) + 1); ++swcHelpers.classPrivateFieldUpdate(this, _test).value;
swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) - 1); --swcHelpers.classPrivateFieldUpdate(this, _test).value;
const a = (swcHelpers.classPrivateFieldSet(this, _test, (_this_test6 = +swcHelpers.classPrivateFieldGet(this, _test)) + 1), _this_test6); const a = swcHelpers.classPrivateFieldUpdate(this, _test).value++;
const b = (swcHelpers.classPrivateFieldSet(this, _test, (_this_test7 = +swcHelpers.classPrivateFieldGet(this, _test)) - 1), _this_test7); const b = swcHelpers.classPrivateFieldUpdate(this, _test).value--;
const c = swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) + 1); const c = ++swcHelpers.classPrivateFieldUpdate(this, _test).value;
const d = swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) - 1); const d = --swcHelpers.classPrivateFieldUpdate(this, _test).value;
for(swcHelpers.classPrivateFieldSet(this, _test, 0); swcHelpers.classPrivateFieldGet(this, _test) < 10; swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) + 1)){} for(swcHelpers.classPrivateFieldSet(this, _test, 0); swcHelpers.classPrivateFieldGet(this, _test) < 10; ++swcHelpers.classPrivateFieldUpdate(this, _test).value){}
for(swcHelpers.classPrivateFieldSet(this, _test, 0); swcHelpers.classPrivateFieldGet(this, _test) < 10; swcHelpers.classPrivateFieldSet(this, _test, (_this_test8 = +swcHelpers.classPrivateFieldGet(this, _test)) + 1), _this_test8){} for(swcHelpers.classPrivateFieldSet(this, _test, 0); swcHelpers.classPrivateFieldGet(this, _test) < 10; swcHelpers.classPrivateFieldUpdate(this, _test).value++){}
} }
} }

View File

@ -2,19 +2,17 @@ import * as swcHelpers from "@swc/helpers";
var _test = new WeakMap(); var _test = new WeakMap();
class C { class C {
test() { test() {
var _ref, _ref1, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _this_test; for(swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value++, swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value--, ++swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value, --swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value, swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value++, swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value--, ++swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value, --swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value, swcHelpers.classPrivateFieldSet(this.getInstance(), _test, 0); 10 > swcHelpers.classPrivateFieldGet(this.getInstance(), _test); ++swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value);
for(swcHelpers.classPrivateFieldSet(_ref = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref, _test) + 1), swcHelpers.classPrivateFieldSet(_ref1 = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref1, _test) - 1), swcHelpers.classPrivateFieldSet(_ref2 = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref2, _test) + 1), swcHelpers.classPrivateFieldSet(_ref3 = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref3, _test) - 1), swcHelpers.classPrivateFieldSet(_ref4 = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref4, _test) + 1), swcHelpers.classPrivateFieldSet(_ref5 = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref5, _test) - 1), swcHelpers.classPrivateFieldSet(_ref6 = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref6, _test) + 1), swcHelpers.classPrivateFieldSet(_ref7 = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref7, _test) - 1), swcHelpers.classPrivateFieldSet(this.getInstance(), _test, 0); 10 > swcHelpers.classPrivateFieldGet(this.getInstance(), _test); swcHelpers.classPrivateFieldSet(_ref8 = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref8, _test) + 1)); for(swcHelpers.classPrivateFieldSet(this.getInstance(), _test, 0); 10 > swcHelpers.classPrivateFieldGet(this.getInstance(), _test); swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value++);
for(swcHelpers.classPrivateFieldSet(this.getInstance(), _test, 0); 10 > swcHelpers.classPrivateFieldGet(this.getInstance(), _test); swcHelpers.classPrivateFieldSet(_ref9 = this.getInstance(), _test, (_this_test = +swcHelpers.classPrivateFieldGet(_ref9, _test)) + 1), _this_test);
} }
getInstance() { getInstance() {
return new C(); return new C();
} }
constructor(){ constructor(){
var _this_test;
for(swcHelpers.classPrivateFieldInit(this, _test, { for(swcHelpers.classPrivateFieldInit(this, _test, {
writable: !0, writable: !0,
value: 24 value: 24
}), swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) + 1), swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) - 1), swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) + 1), swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) - 1), swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) + 1), swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) - 1), swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) + 1), swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) - 1), swcHelpers.classPrivateFieldSet(this, _test, 0); 10 > swcHelpers.classPrivateFieldGet(this, _test); swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) + 1)); }), swcHelpers.classPrivateFieldUpdate(this, _test).value++, swcHelpers.classPrivateFieldUpdate(this, _test).value--, ++swcHelpers.classPrivateFieldUpdate(this, _test).value, --swcHelpers.classPrivateFieldUpdate(this, _test).value, swcHelpers.classPrivateFieldUpdate(this, _test).value++, swcHelpers.classPrivateFieldUpdate(this, _test).value--, ++swcHelpers.classPrivateFieldUpdate(this, _test).value, --swcHelpers.classPrivateFieldUpdate(this, _test).value, swcHelpers.classPrivateFieldSet(this, _test, 0); 10 > swcHelpers.classPrivateFieldGet(this, _test); ++swcHelpers.classPrivateFieldUpdate(this, _test).value);
for(swcHelpers.classPrivateFieldSet(this, _test, 0); 10 > swcHelpers.classPrivateFieldGet(this, _test); swcHelpers.classPrivateFieldSet(this, _test, (_this_test = +swcHelpers.classPrivateFieldGet(this, _test)) + 1), _this_test); for(swcHelpers.classPrivateFieldSet(this, _test, 0); 10 > swcHelpers.classPrivateFieldGet(this, _test); swcHelpers.classPrivateFieldUpdate(this, _test).value++);
} }
} }

View File

@ -5,35 +5,34 @@ var C = /*#__PURE__*/ function() {
"use strict"; "use strict";
function C() { function C() {
swcHelpers.classCallCheck(this, C); swcHelpers.classCallCheck(this, C);
var _this_test, _this_test1, _this_test2, _this_test3, _this_test4;
swcHelpers.classPrivateFieldInit(this, _test, { swcHelpers.classPrivateFieldInit(this, _test, {
writable: true, writable: true,
value: 24 value: 24
}); });
swcHelpers.classPrivateFieldSet(this, _test, (_this_test = +swcHelpers.classPrivateFieldGet(this, _test)) + 1), _this_test; swcHelpers.classPrivateFieldUpdate(this, _test).value++;
swcHelpers.classPrivateFieldSet(this, _test, (_this_test1 = +swcHelpers.classPrivateFieldGet(this, _test)) - 1), _this_test1; swcHelpers.classPrivateFieldUpdate(this, _test).value--;
swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) + 1); ++swcHelpers.classPrivateFieldUpdate(this, _test).value;
swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) - 1); --swcHelpers.classPrivateFieldUpdate(this, _test).value;
var a = (swcHelpers.classPrivateFieldSet(this, _test, (_this_test2 = +swcHelpers.classPrivateFieldGet(this, _test)) + 1), _this_test2); var a = swcHelpers.classPrivateFieldUpdate(this, _test).value++;
var b = (swcHelpers.classPrivateFieldSet(this, _test, (_this_test3 = +swcHelpers.classPrivateFieldGet(this, _test)) - 1), _this_test3); var b = swcHelpers.classPrivateFieldUpdate(this, _test).value--;
var c = swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) + 1); var c = ++swcHelpers.classPrivateFieldUpdate(this, _test).value;
var d = swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) - 1); var d = --swcHelpers.classPrivateFieldUpdate(this, _test).value;
for(swcHelpers.classPrivateFieldSet(this, _test, 0); swcHelpers.classPrivateFieldGet(this, _test) < 10; swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) + 1)){} for(swcHelpers.classPrivateFieldSet(this, _test, 0); swcHelpers.classPrivateFieldGet(this, _test) < 10; ++swcHelpers.classPrivateFieldUpdate(this, _test).value){}
for(swcHelpers.classPrivateFieldSet(this, _test, 0); swcHelpers.classPrivateFieldGet(this, _test) < 10; swcHelpers.classPrivateFieldSet(this, _test, (_this_test4 = +swcHelpers.classPrivateFieldGet(this, _test)) + 1), _this_test4){} for(swcHelpers.classPrivateFieldSet(this, _test, 0); swcHelpers.classPrivateFieldGet(this, _test) < 10; swcHelpers.classPrivateFieldUpdate(this, _test).value++){}
} }
var _proto = C.prototype; var _proto = C.prototype;
_proto.test = function test() { _proto.test = function test() {
var _ref, _this_test, _ref1, _this_test5, _ref2, _ref3, _ref4, _this_test6, _ref5, _this_test7, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _this_test8; var _ref, _ref1;
swcHelpers.classPrivateFieldSet(_ref = this.getInstance(), _test, (_this_test = +swcHelpers.classPrivateFieldGet(_ref, _test)) + 1), _this_test; swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value++;
swcHelpers.classPrivateFieldSet(_ref1 = this.getInstance(), _test, (_this_test5 = +swcHelpers.classPrivateFieldGet(_ref1, _test)) - 1), _this_test5; swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value--;
swcHelpers.classPrivateFieldSet(_ref2 = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref2, _test) + 1); ++swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value;
swcHelpers.classPrivateFieldSet(_ref3 = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref3, _test) - 1); --swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value;
var a = (swcHelpers.classPrivateFieldSet(_ref4 = this.getInstance(), _test, (_this_test6 = +swcHelpers.classPrivateFieldGet(_ref4, _test)) + 1), _this_test6); var a = swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value++;
var b = (swcHelpers.classPrivateFieldSet(_ref5 = this.getInstance(), _test, (_this_test7 = +swcHelpers.classPrivateFieldGet(_ref5, _test)) - 1), _this_test7); var b = swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value--;
var c = swcHelpers.classPrivateFieldSet(_ref6 = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref6, _test) + 1); var c = ++swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value;
var d = swcHelpers.classPrivateFieldSet(_ref7 = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref7, _test) - 1); var d = --swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value;
for(swcHelpers.classPrivateFieldSet(this.getInstance(), _test, 0); swcHelpers.classPrivateFieldGet(_ref8 = this.getInstance(), _test) < 10; swcHelpers.classPrivateFieldSet(_ref9 = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref9, _test) + 1)){} for(swcHelpers.classPrivateFieldSet(this.getInstance(), _test, 0); swcHelpers.classPrivateFieldGet(_ref = this.getInstance(), _test) < 10; ++swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value){}
for(swcHelpers.classPrivateFieldSet(this.getInstance(), _test, 0); swcHelpers.classPrivateFieldGet(_ref10 = this.getInstance(), _test) < 10; swcHelpers.classPrivateFieldSet(_ref11 = this.getInstance(), _test, (_this_test8 = +swcHelpers.classPrivateFieldGet(_ref11, _test)) + 1), _this_test8){} for(swcHelpers.classPrivateFieldSet(this.getInstance(), _test, 0); swcHelpers.classPrivateFieldGet(_ref1 = this.getInstance(), _test) < 10; swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value++){}
}; };
_proto.getInstance = function getInstance() { _proto.getInstance = function getInstance() {
return new C(); return new C();

View File

@ -2,18 +2,16 @@ import * as swcHelpers from "@swc/helpers";
var _test = new WeakMap(), C = function() { var _test = new WeakMap(), C = function() {
"use strict"; "use strict";
function C() { function C() {
var _this_test;
for(swcHelpers.classCallCheck(this, C), swcHelpers.classPrivateFieldInit(this, _test, { for(swcHelpers.classCallCheck(this, C), swcHelpers.classPrivateFieldInit(this, _test, {
writable: !0, writable: !0,
value: 24 value: 24
}), swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) + 1), swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) - 1), swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) + 1), swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) - 1), swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) + 1), swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) - 1), swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) + 1), swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) - 1), swcHelpers.classPrivateFieldSet(this, _test, 0); 10 > swcHelpers.classPrivateFieldGet(this, _test); swcHelpers.classPrivateFieldSet(this, _test, +swcHelpers.classPrivateFieldGet(this, _test) + 1)); }), swcHelpers.classPrivateFieldUpdate(this, _test).value++, swcHelpers.classPrivateFieldUpdate(this, _test).value--, ++swcHelpers.classPrivateFieldUpdate(this, _test).value, --swcHelpers.classPrivateFieldUpdate(this, _test).value, swcHelpers.classPrivateFieldUpdate(this, _test).value++, swcHelpers.classPrivateFieldUpdate(this, _test).value--, ++swcHelpers.classPrivateFieldUpdate(this, _test).value, --swcHelpers.classPrivateFieldUpdate(this, _test).value, swcHelpers.classPrivateFieldSet(this, _test, 0); 10 > swcHelpers.classPrivateFieldGet(this, _test); ++swcHelpers.classPrivateFieldUpdate(this, _test).value);
for(swcHelpers.classPrivateFieldSet(this, _test, 0); 10 > swcHelpers.classPrivateFieldGet(this, _test); swcHelpers.classPrivateFieldSet(this, _test, (_this_test = +swcHelpers.classPrivateFieldGet(this, _test)) + 1), _this_test); for(swcHelpers.classPrivateFieldSet(this, _test, 0); 10 > swcHelpers.classPrivateFieldGet(this, _test); swcHelpers.classPrivateFieldUpdate(this, _test).value++);
} }
var _proto = C.prototype; var _proto = C.prototype;
return _proto.test = function() { return _proto.test = function() {
var _ref, _ref1, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _this_test; for(swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value++, swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value--, ++swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value, --swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value, swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value++, swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value--, ++swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value, --swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value, swcHelpers.classPrivateFieldSet(this.getInstance(), _test, 0); 10 > swcHelpers.classPrivateFieldGet(this.getInstance(), _test); ++swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value);
for(swcHelpers.classPrivateFieldSet(_ref = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref, _test) + 1), swcHelpers.classPrivateFieldSet(_ref1 = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref1, _test) - 1), swcHelpers.classPrivateFieldSet(_ref2 = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref2, _test) + 1), swcHelpers.classPrivateFieldSet(_ref3 = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref3, _test) - 1), swcHelpers.classPrivateFieldSet(_ref4 = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref4, _test) + 1), swcHelpers.classPrivateFieldSet(_ref5 = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref5, _test) - 1), swcHelpers.classPrivateFieldSet(_ref6 = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref6, _test) + 1), swcHelpers.classPrivateFieldSet(_ref7 = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref7, _test) - 1), swcHelpers.classPrivateFieldSet(this.getInstance(), _test, 0); 10 > swcHelpers.classPrivateFieldGet(this.getInstance(), _test); swcHelpers.classPrivateFieldSet(_ref8 = this.getInstance(), _test, +swcHelpers.classPrivateFieldGet(_ref8, _test) + 1)); for(swcHelpers.classPrivateFieldSet(this.getInstance(), _test, 0); 10 > swcHelpers.classPrivateFieldGet(this.getInstance(), _test); swcHelpers.classPrivateFieldUpdate(this.getInstance(), _test).value++);
for(swcHelpers.classPrivateFieldSet(this.getInstance(), _test, 0); 10 > swcHelpers.classPrivateFieldGet(this.getInstance(), _test); swcHelpers.classPrivateFieldSet(_ref9 = this.getInstance(), _test, (_this_test = +swcHelpers.classPrivateFieldGet(_ref9, _test)) + 1), _this_test);
}, _proto.getInstance = function() { }, _proto.getInstance = function() {
return new C(); return new C();
}, C; }, C;

View File

@ -3,7 +3,6 @@ var _method = /*#__PURE__*/ new WeakSet();
// @target: es2015 // @target: es2015
class A3 { class A3 {
constructor(a, b){ constructor(a, b){
var _b, _this_method;
swcHelpers.classPrivateMethodInit(this, _method); swcHelpers.classPrivateMethodInit(this, _method);
swcHelpers.classPrivateFieldSet(this, _method, ()=>{} // Error, not writable swcHelpers.classPrivateFieldSet(this, _method, ()=>{} // Error, not writable
); );
@ -14,7 +13,8 @@ class A3 {
x: ()=>{} x: ()=>{}
}); //Error, not writable }); //Error, not writable
let x = swcHelpers.classPrivateMethodGet(this, _method, method); let x = swcHelpers.classPrivateMethodGet(this, _method, method);
swcHelpers.classPrivateFieldSet(_b = b, _method, (_this_method = +swcHelpers.classPrivateMethodGet(_b, _method, method)) + 1), _this_method; //Error, not writable swcHelpers.classPrivateFieldUpdate(b, _method).value++ //Error, not writable
;
} }
} }
function method() {} function method() {}

View File

@ -4,7 +4,6 @@ var _method = /*#__PURE__*/ new WeakSet();
var A3 = function A3(a, b) { var A3 = function A3(a, b) {
"use strict"; "use strict";
swcHelpers.classCallCheck(this, A3); swcHelpers.classCallCheck(this, A3);
var _b, _this_method;
swcHelpers.classPrivateMethodInit(this, _method); swcHelpers.classPrivateMethodInit(this, _method);
swcHelpers.classPrivateFieldSet(this, _method, function() {} // Error, not writable swcHelpers.classPrivateFieldSet(this, _method, function() {} // Error, not writable
); );
@ -16,6 +15,7 @@ var A3 = function A3(a, b) {
x: function() {} x: function() {}
}, swcHelpers.classPrivateFieldDestructureSet(this, _method).value = ref.x, ref; //Error, not writable }, swcHelpers.classPrivateFieldDestructureSet(this, _method).value = ref.x, ref; //Error, not writable
var x = swcHelpers.classPrivateMethodGet(this, _method, method); var x = swcHelpers.classPrivateMethodGet(this, _method, method);
swcHelpers.classPrivateFieldSet(_b = b, _method, (_this_method = +swcHelpers.classPrivateMethodGet(_b, _method, method)) + 1), _this_method; //Error, not writable swcHelpers.classPrivateFieldUpdate(b, _method).value++ //Error, not writable
;
}; };
function method() {} function method() {}

View File

@ -1,9 +1,9 @@
import * as swcHelpers from "@swc/helpers"; import * as swcHelpers from "@swc/helpers";
var _method = new WeakSet(), A3 = function(a, b) { var _method = new WeakSet(), A3 = function(a, b) {
"use strict"; "use strict";
var _b, ref; var ref;
swcHelpers.classCallCheck(this, A3), swcHelpers.classPrivateMethodInit(this, _method), swcHelpers.classPrivateFieldSet(this, _method, function() {}), swcHelpers.classPrivateFieldSet(a, _method, function() {}), swcHelpers.classPrivateFieldSet(b, _method, function() {}), ref = { swcHelpers.classCallCheck(this, A3), swcHelpers.classPrivateMethodInit(this, _method), swcHelpers.classPrivateFieldSet(this, _method, function() {}), swcHelpers.classPrivateFieldSet(a, _method, function() {}), swcHelpers.classPrivateFieldSet(b, _method, function() {}), ref = {
x: function() {} x: function() {}
}, swcHelpers.classPrivateFieldDestructureSet(this, _method).value = ref.x, swcHelpers.classPrivateMethodGet(this, _method, method), swcHelpers.classPrivateFieldSet(_b = b, _method, +swcHelpers.classPrivateMethodGet(_b, _method, method) + 1); }, swcHelpers.classPrivateFieldDestructureSet(this, _method).value = ref.x, swcHelpers.classPrivateMethodGet(this, _method, method), swcHelpers.classPrivateFieldUpdate(b, _method).value++;
}; };
function method() {} function method() {}

View File

@ -15,32 +15,32 @@ class A {
]; ];
} }
static test(_a) { static test(_a) {
[swcHelpers.classStaticPrivateFieldDestructureSet(_a, _field).value] = [ [swcHelpers.classStaticPrivateFieldDestructureSet(_a, A, _field).value] = [
2 2
]; ];
} }
constructor(){ constructor(){
this.otherClass = A; this.otherClass = A;
let y; let y;
({ x: swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value , y } = this.testObject()); ({ x: swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value , y } = this.testObject());
[swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value, y] = this.testArray(); [swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value, y] = this.testArray();
({ a: swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value , b: [swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value] } = { ({ a: swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value , b: [swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value] } = {
a: 1, a: 1,
b: [ b: [
2 2
] ]
}); });
[swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value, [swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value]] = [ [swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value, [swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value]] = [
1, 1,
[ [
2 2
] ]
]; ];
({ a: swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value = 1 , b: [swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value = 1] } = { ({ a: swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value = 1 , b: [swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value = 1] } = {
b: [] b: []
}); });
[swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value = 2] = []; [swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value = 2] = [];
[swcHelpers.classStaticPrivateFieldDestructureSet(this.otherClass, _field).value = 2] = []; [swcHelpers.classStaticPrivateFieldDestructureSet(this.otherClass, A, _field).value = 2] = [];
} }
} }
var _field = { var _field = {

View File

@ -13,26 +13,26 @@ class A {
]; ];
} }
static test(_a) { static test(_a) {
[swcHelpers.classStaticPrivateFieldDestructureSet(_a, _field).value] = [ [swcHelpers.classStaticPrivateFieldDestructureSet(_a, A, _field).value] = [
2 2
]; ];
} }
constructor(){ constructor(){
this.otherClass = A; this.otherClass = A;
let y; let y;
({ x: swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value , y } = this.testObject()), [swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value, y] = this.testArray(), ({ a: swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value , b: [swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value] } = { ({ x: swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value , y } = this.testObject()), [swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value, y] = this.testArray(), ({ a: swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value , b: [swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value] } = {
a: 1, a: 1,
b: [ b: [
2 2
] ]
}), [swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value, [swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value]] = [ }), [swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value, [swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value]] = [
1, 1,
[ [
2 2
] ]
], ({ a: swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value = 1 , b: [swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value = 1] } = { ], ({ a: swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value = 1 , b: [swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value = 1] } = {
b: [] b: []
}), [swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value = 2] = [], [swcHelpers.classStaticPrivateFieldDestructureSet(this.otherClass, _field).value = 2] = []; }), [swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value = 2] = [], [swcHelpers.classStaticPrivateFieldDestructureSet(this.otherClass, A, _field).value = 2] = [];
} }
} }
var _field = { var _field = {

View File

@ -8,28 +8,28 @@ var A = /*#__PURE__*/ function() {
this.otherClass = A; this.otherClass = A;
var y; var y;
var ref; var ref;
ref = this.testObject(), swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value = ref.x, y = ref.y, ref; ref = this.testObject(), swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value = ref.x, y = ref.y, ref;
var ref1; var ref1;
ref1 = swcHelpers.slicedToArray(this.testArray(), 2), swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value = ref1[0], y = ref1[1], ref1; ref1 = swcHelpers.slicedToArray(this.testArray(), 2), swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value = ref1[0], y = ref1[1], ref1;
var ref2, ref3; var ref2, ref3;
ref2 = { ref2 = {
a: 1, a: 1,
b: [ b: [
2 2
] ]
}, swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value = ref2.a, ref3 = swcHelpers.slicedToArray(ref2.b, 1), swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value = ref3[0], ref3, ref2; }, swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value = ref2.a, ref3 = swcHelpers.slicedToArray(ref2.b, 1), swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value = ref3[0], ref3, ref2;
var ref4; var ref4;
swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value = 1, ref4 = [ swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value = 1, ref4 = [
2 2
], swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value = ref4[0], ref4; ], swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value = ref4[0], ref4;
var ref5, ref6, ref7, ref8; var ref5, ref6, ref7, ref8;
ref5 = { ref5 = {
b: [] b: []
}, ref6 = ref5.a, swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value = ref6 === void 0 ? 1 : ref6, ref7 = swcHelpers.slicedToArray(ref5.b, 1), ref8 = ref7[0], swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value = ref8 === void 0 ? 1 : ref8, ref7, ref5; }, ref6 = ref5.a, swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value = ref6 === void 0 ? 1 : ref6, ref7 = swcHelpers.slicedToArray(ref5.b, 1), ref8 = ref7[0], swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value = ref8 === void 0 ? 1 : ref8, ref7, ref5;
var ref9, ref10; var ref9, ref10;
ref9 = [], ref10 = ref9[0], swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value = ref10 === void 0 ? 2 : ref10, ref9; ref9 = [], ref10 = ref9[0], swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value = ref10 === void 0 ? 2 : ref10, ref9;
var ref11, ref12; var ref11, ref12;
ref11 = [], ref12 = ref11[0], swcHelpers.classStaticPrivateFieldDestructureSet(this.otherClass, _field).value = ref12 === void 0 ? 2 : ref12, ref11; ref11 = [], ref12 = ref11[0], swcHelpers.classStaticPrivateFieldDestructureSet(this.otherClass, A, _field).value = ref12 === void 0 ? 2 : ref12, ref11;
} }
var _proto = A.prototype; var _proto = A.prototype;
_proto.testObject = function testObject() { _proto.testObject = function testObject() {
@ -45,7 +45,7 @@ var A = /*#__PURE__*/ function() {
]; ];
}; };
A.test = function test(_a) { A.test = function test(_a) {
swcHelpers.classStaticPrivateFieldDestructureSet(_a, _field).value = 2; swcHelpers.classStaticPrivateFieldDestructureSet(_a, A, _field).value = 2;
}; };
return A; return A;
}(); }();

View File

@ -3,16 +3,16 @@ var A = function() {
"use strict"; "use strict";
function A() { function A() {
var ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7, ref8, ref9; var ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7, ref8, ref9;
swcHelpers.classCallCheck(this, A), this.otherClass = A, ref = this.testObject(), swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value = ref.x, ref.y, ref1 = swcHelpers.slicedToArray(this.testArray(), 2), swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value = ref1[0], ref1[1], ref2 = { swcHelpers.classCallCheck(this, A), this.otherClass = A, ref = this.testObject(), swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value = ref.x, ref.y, ref1 = swcHelpers.slicedToArray(this.testArray(), 2), swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value = ref1[0], ref1[1], ref2 = {
a: 1, a: 1,
b: [ b: [
2 2
] ]
}, swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value = ref2.a, ref3 = swcHelpers.slicedToArray(ref2.b, 1), swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value = ref3[0], swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value = 1, ref4 = [ }, swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value = ref2.a, ref3 = swcHelpers.slicedToArray(ref2.b, 1), swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value = ref3[0], swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value = 1, ref4 = [
2 2
], swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value = ref4[0], ref6 = (ref5 = { ], swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value = ref4[0], ref6 = (ref5 = {
b: [] b: []
}).a, swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value = void 0 === ref6 ? 1 : ref6, ref7 = swcHelpers.slicedToArray(ref5.b, 1)[0], swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value = void 0 === ref7 ? 1 : ref7, ref8 = void 0, swcHelpers.classStaticPrivateFieldDestructureSet(A, _field).value = void 0 === ref8 ? 2 : ref8, ref9 = void 0, swcHelpers.classStaticPrivateFieldDestructureSet(this.otherClass, _field).value = void 0 === ref9 ? 2 : ref9; }).a, swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value = void 0 === ref6 ? 1 : ref6, ref7 = swcHelpers.slicedToArray(ref5.b, 1)[0], swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value = void 0 === ref7 ? 1 : ref7, ref8 = void 0, swcHelpers.classStaticPrivateFieldDestructureSet(A, A, _field).value = void 0 === ref8 ? 2 : ref8, ref9 = void 0, swcHelpers.classStaticPrivateFieldDestructureSet(this.otherClass, A, _field).value = void 0 === ref9 ? 2 : ref9;
} }
var _proto = A.prototype; var _proto = A.prototype;
return _proto.testObject = function() { return _proto.testObject = function() {
@ -26,7 +26,7 @@ var A = function() {
11 11
]; ];
}, A.test = function(_a) { }, A.test = function(_a) {
swcHelpers.classStaticPrivateFieldDestructureSet(_a, _field).value = 2; swcHelpers.classStaticPrivateFieldDestructureSet(_a, A, _field).value = 2;
}, A; }, A;
}(), _field = { }(), _field = {
writable: !0, writable: !0,

View File

@ -2,33 +2,31 @@ import * as swcHelpers from "@swc/helpers";
// @target: es2015 // @target: es2015
class C { class C {
test() { test() {
var _this_test, _this_test1, _this_test2, _this_test3, _this_test4; swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value++;
swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, (_this_test = +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test)) + 1), _this_test; swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value--;
swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, (_this_test1 = +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test)) - 1), _this_test1; ++swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value;
swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) + 1); --swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value;
swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) - 1); const a = swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value++;
const a = (swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, (_this_test2 = +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test)) + 1), _this_test2); const b = swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value--;
const b = (swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, (_this_test3 = +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test)) - 1), _this_test3); const c = ++swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value;
const c = swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) + 1); const d = --swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value;
const d = swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) - 1); for(swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, 0); swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) < 10; ++swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value){}
for(swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, 0); swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) < 10; swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) + 1)){} for(swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, 0); swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) < 10; swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value++){}
for(swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, 0); swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) < 10; swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, (_this_test4 = +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test)) + 1), _this_test4){}
} }
getClass() { getClass() {
return C; return C;
} }
constructor(){ constructor(){
var _this_test, _this_test5, _this_test6, _this_test7, _this_test8; swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value++;
swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, (_this_test = +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test)) + 1), _this_test; swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value--;
swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, (_this_test5 = +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test)) - 1), _this_test5; ++swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value;
swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) + 1); --swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value;
swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) - 1); const a = swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value++;
const a = (swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, (_this_test6 = +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test)) + 1), _this_test6); const b = swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value--;
const b = (swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, (_this_test7 = +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test)) - 1), _this_test7); const c = ++swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value;
const c = swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) + 1); const d = --swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value;
const d = swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) - 1); for(swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, 0); swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) < 10; ++swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value){}
for(swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, 0); swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) < 10; swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) + 1)){} for(swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, 0); swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) < 10; swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value++){}
for(swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, 0); swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) < 10; swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, (_this_test8 = +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test)) + 1), _this_test8){}
} }
} }
var _test = { var _test = {

View File

@ -1,17 +1,15 @@
import * as swcHelpers from "@swc/helpers"; import * as swcHelpers from "@swc/helpers";
class C { class C {
test() { test() {
var _this_test; for(swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value++, swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value--, ++swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value, --swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value, swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value++, swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value--, ++swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value, --swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value, swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, 0); 10 > swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test); ++swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value);
for(swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) + 1), swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) - 1), swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) + 1), swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) - 1), swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) + 1), swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) - 1), swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) + 1), swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) - 1), swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, 0); 10 > swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test); swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) + 1)); for(swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, 0); 10 > swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test); swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value++);
for(swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, 0); 10 > swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test); swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, (_this_test = +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test)) + 1), _this_test);
} }
getClass() { getClass() {
return C; return C;
} }
constructor(){ constructor(){
var _this_test; for(swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value++, swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value--, ++swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value, --swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value, swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value++, swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value--, ++swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value, --swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value, swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, 0); 10 > swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test); ++swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value);
for(swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) + 1), swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) - 1), swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) + 1), swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) - 1), swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) + 1), swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) - 1), swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) + 1), swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) - 1), swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, 0); 10 > swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test); swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) + 1)); for(swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, 0); 10 > swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test); swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value++);
for(swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, 0); 10 > swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test); swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, (_this_test = +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test)) + 1), _this_test);
} }
} }
var _test = { var _test = {

View File

@ -4,31 +4,29 @@ var C = /*#__PURE__*/ function() {
"use strict"; "use strict";
function C() { function C() {
swcHelpers.classCallCheck(this, C); swcHelpers.classCallCheck(this, C);
var _this_test, _this_test1, _this_test2, _this_test3, _this_test4; swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value++;
swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, (_this_test = +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test)) + 1), _this_test; swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value--;
swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, (_this_test1 = +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test)) - 1), _this_test1; ++swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value;
swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) + 1); --swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value;
swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) - 1); var a = swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value++;
var a = (swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, (_this_test2 = +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test)) + 1), _this_test2); var b = swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value--;
var b = (swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, (_this_test3 = +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test)) - 1), _this_test3); var c = ++swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value;
var c = swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) + 1); var d = --swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value;
var d = swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) - 1); for(swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, 0); swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) < 10; ++swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value){}
for(swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, 0); swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) < 10; swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) + 1)){} for(swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, 0); swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) < 10; swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value++){}
for(swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, 0); swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) < 10; swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, (_this_test4 = +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test)) + 1), _this_test4){}
} }
var _proto = C.prototype; var _proto = C.prototype;
_proto.test = function test() { _proto.test = function test() {
var _this_test, _this_test5, _this_test6, _this_test7, _this_test8; swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value++;
swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, (_this_test = +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test)) + 1), _this_test; swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value--;
swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, (_this_test5 = +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test)) - 1), _this_test5; ++swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value;
swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) + 1); --swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value;
swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) - 1); var a = swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value++;
var a = (swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, (_this_test6 = +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test)) + 1), _this_test6); var b = swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value--;
var b = (swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, (_this_test7 = +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test)) - 1), _this_test7); var c = ++swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value;
var c = swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) + 1); var d = --swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value;
var d = swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) - 1); for(swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, 0); swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) < 10; ++swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value){}
for(swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, 0); swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) < 10; swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) + 1)){} for(swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, 0); swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) < 10; swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value++){}
for(swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, 0); swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) < 10; swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, (_this_test8 = +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test)) + 1), _this_test8){}
}; };
_proto.getClass = function getClass() { _proto.getClass = function getClass() {
return C; return C;

View File

@ -2,15 +2,13 @@ import * as swcHelpers from "@swc/helpers";
var C = function() { var C = function() {
"use strict"; "use strict";
function C() { function C() {
var _this_test; for(swcHelpers.classCallCheck(this, C), swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value++, swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value--, ++swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value, --swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value, swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value++, swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value--, ++swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value, --swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value, swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, 0); 10 > swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test); ++swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value);
for(swcHelpers.classCallCheck(this, C), swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) + 1), swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) - 1), swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) + 1), swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) - 1), swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) + 1), swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) - 1), swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) + 1), swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) - 1), swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, 0); 10 > swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test); swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test) + 1)); for(swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, 0); 10 > swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test); swcHelpers.classStaticPrivateFieldUpdate(C, C, _test).value++);
for(swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, 0); 10 > swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test); swcHelpers.classStaticPrivateFieldSpecSet(C, C, _test, (_this_test = +swcHelpers.classStaticPrivateFieldSpecGet(C, C, _test)) + 1), _this_test);
} }
var _proto = C.prototype; var _proto = C.prototype;
return _proto.test = function() { return _proto.test = function() {
var _this_test; for(swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value++, swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value--, ++swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value, --swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value, swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value++, swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value--, ++swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value, --swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value, swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, 0); 10 > swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test); ++swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value);
for(swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) + 1), swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) - 1), swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) + 1), swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) - 1), swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) + 1), swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) - 1), swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) + 1), swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) - 1), swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, 0); 10 > swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test); swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test) + 1)); for(swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, 0); 10 > swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test); swcHelpers.classStaticPrivateFieldUpdate(this.getClass(), C, _test).value++);
for(swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, 0); 10 > swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test); swcHelpers.classStaticPrivateFieldSpecSet(this.getClass(), C, _test, (_this_test = +swcHelpers.classStaticPrivateFieldSpecGet(this.getClass(), C, _test)) + 1), _this_test);
}, _proto.getClass = function() { }, _proto.getClass = function() {
return C; return C;
}, C; }, C;

View File

@ -2,17 +2,17 @@ import * as swcHelpers from "@swc/helpers";
// @target: es2015 // @target: es2015
class A3 { class A3 {
constructor(a, b){ constructor(a, b){
var _this_method;
swcHelpers.classStaticPrivateFieldSpecSet(A3, A3, _method, ()=>{} // Error, not writable swcHelpers.classStaticPrivateFieldSpecSet(A3, A3, _method, ()=>{} // Error, not writable
); );
swcHelpers.classStaticPrivateFieldSpecSet(a, A3, _method, ()=>{}); // Error, not writable swcHelpers.classStaticPrivateFieldSpecSet(a, A3, _method, ()=>{}); // Error, not writable
swcHelpers.classStaticPrivateFieldSpecSet(b, A3, _method, ()=>{} //Error, not writable swcHelpers.classStaticPrivateFieldSpecSet(b, A3, _method, ()=>{} //Error, not writable
); );
({ x: swcHelpers.classStaticPrivateFieldDestructureSet(A3, _method).value } = { ({ x: swcHelpers.classStaticPrivateFieldDestructureSet(A3, A3, _method).value } = {
x: ()=>{} x: ()=>{}
}); //Error, not writable }); //Error, not writable
let x = swcHelpers.classStaticPrivateMethodGet(A3, A3, method); let x = swcHelpers.classStaticPrivateMethodGet(A3, A3, method);
swcHelpers.classStaticPrivateFieldSpecSet(b, A3, _method, (_this_method = +swcHelpers.classStaticPrivateMethodGet(b, A3, method)) + 1), _this_method; //Error, not writable swcHelpers.classStaticPrivateFieldUpdate(b, A3, _method).value++ //Error, not writable
;
} }
} }
function method() {} function method() {}

View File

@ -1,9 +1,8 @@
import * as swcHelpers from "@swc/helpers"; import * as swcHelpers from "@swc/helpers";
class A3 { class A3 {
constructor(a, b){ constructor(a, b){
swcHelpers.classStaticPrivateFieldSpecSet(A3, A3, _method, ()=>{}), swcHelpers.classStaticPrivateFieldSpecSet(a, A3, _method, ()=>{}), swcHelpers.classStaticPrivateFieldSpecSet(b, A3, _method, ()=>{}), ({ x: swcHelpers.classStaticPrivateFieldDestructureSet(A3, _method).value } = { swcHelpers.classStaticPrivateFieldSpecSet(A3, A3, _method, ()=>{}), swcHelpers.classStaticPrivateFieldSpecSet(a, A3, _method, ()=>{}), swcHelpers.classStaticPrivateFieldSpecSet(b, A3, _method, ()=>{}), ({ x: swcHelpers.classStaticPrivateFieldDestructureSet(A3, A3, _method).value } = {
x () {} x () {}
}), swcHelpers.classStaticPrivateMethodGet(A3, A3, method), swcHelpers.classStaticPrivateFieldSpecSet(b, A3, _method, +swcHelpers.classStaticPrivateMethodGet(b, A3, method) + 1); }), swcHelpers.classStaticPrivateMethodGet(A3, A3, function() {}), swcHelpers.classStaticPrivateFieldUpdate(b, A3, _method).value++;
} }
} }
function method() {}

View File

@ -3,7 +3,6 @@ import * as swcHelpers from "@swc/helpers";
var A3 = function A3(a, b) { var A3 = function A3(a, b) {
"use strict"; "use strict";
swcHelpers.classCallCheck(this, A3); swcHelpers.classCallCheck(this, A3);
var _this_method;
swcHelpers.classStaticPrivateFieldSpecSet(A3, A3, _method, function() {} // Error, not writable swcHelpers.classStaticPrivateFieldSpecSet(A3, A3, _method, function() {} // Error, not writable
); );
swcHelpers.classStaticPrivateFieldSpecSet(a, A3, _method, function() {}); // Error, not writable swcHelpers.classStaticPrivateFieldSpecSet(a, A3, _method, function() {}); // Error, not writable
@ -12,8 +11,9 @@ var A3 = function A3(a, b) {
var ref; var ref;
ref = { ref = {
x: function() {} x: function() {}
}, swcHelpers.classStaticPrivateFieldDestructureSet(A3, _method).value = ref.x, ref; //Error, not writable }, swcHelpers.classStaticPrivateFieldDestructureSet(A3, A3, _method).value = ref.x, ref; //Error, not writable
var x = swcHelpers.classStaticPrivateMethodGet(A3, A3, method); var x = swcHelpers.classStaticPrivateMethodGet(A3, A3, method);
swcHelpers.classStaticPrivateFieldSpecSet(b, A3, _method, (_this_method = +swcHelpers.classStaticPrivateMethodGet(b, A3, method)) + 1), _this_method; //Error, not writable swcHelpers.classStaticPrivateFieldUpdate(b, A3, _method).value++ //Error, not writable
;
}; };
function method() {} function method() {}

View File

@ -4,6 +4,6 @@ var A3 = function(a, b) {
var ref; var ref;
swcHelpers.classCallCheck(this, A3), swcHelpers.classStaticPrivateFieldSpecSet(A3, A3, _method, function() {}), swcHelpers.classStaticPrivateFieldSpecSet(a, A3, _method, function() {}), swcHelpers.classStaticPrivateFieldSpecSet(b, A3, _method, function() {}), ref = { swcHelpers.classCallCheck(this, A3), swcHelpers.classStaticPrivateFieldSpecSet(A3, A3, _method, function() {}), swcHelpers.classStaticPrivateFieldSpecSet(a, A3, _method, function() {}), swcHelpers.classStaticPrivateFieldSpecSet(b, A3, _method, function() {}), ref = {
x: function() {} x: function() {}
}, swcHelpers.classStaticPrivateFieldDestructureSet(A3, _method).value = ref.x, swcHelpers.classStaticPrivateMethodGet(A3, A3, method), swcHelpers.classStaticPrivateFieldSpecSet(b, A3, _method, +swcHelpers.classStaticPrivateMethodGet(b, A3, method) + 1); }, swcHelpers.classStaticPrivateFieldDestructureSet(A3, A3, _method).value = ref.x, swcHelpers.classStaticPrivateMethodGet(A3, A3, method), swcHelpers.classStaticPrivateFieldUpdate(b, A3, _method).value++;
}; };
function method() {} function method() {}

View File

@ -5,12 +5,11 @@ import * as swcHelpers from "@swc/helpers";
// @useDefineForClassFields: false // @useDefineForClassFields: false
class A { class A {
constructor(){ constructor(){
var _this_quux;
swcHelpers.classStaticPrivateMethodGet(A, A, foo).call(A, 30); swcHelpers.classStaticPrivateMethodGet(A, A, foo).call(A, 30);
swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30); swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30);
swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30); swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30);
swcHelpers.classStaticPrivateFieldSpecSet(A, A, _quux, swcHelpers.classStaticPrivateFieldSpecGet(A, A, _quux) + 1); swcHelpers.classStaticPrivateFieldSpecSet(A, A, _quux, swcHelpers.classStaticPrivateFieldSpecGet(A, A, _quux) + 1);
swcHelpers.classStaticPrivateFieldSpecSet(A, A, _quux, (_this_quux = +swcHelpers.classStaticPrivateFieldSpecGet(A, A, _quux)) + 1), _this_quux; swcHelpers.classStaticPrivateFieldUpdate(A, A, _quux).value++;
} }
} }
var _quux = { var _quux = {

View File

@ -1,7 +1,7 @@
import * as swcHelpers from "@swc/helpers"; import * as swcHelpers from "@swc/helpers";
class A { class A {
constructor(){ constructor(){
swcHelpers.classStaticPrivateMethodGet(A, A, function(a) {}).call(A, 30), swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30), swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30), swcHelpers.classStaticPrivateFieldSpecSet(A, A, _quux, swcHelpers.classStaticPrivateFieldSpecGet(A, A, _quux) + 1), swcHelpers.classStaticPrivateFieldSpecSet(A, A, _quux, +swcHelpers.classStaticPrivateFieldSpecGet(A, A, _quux) + 1); swcHelpers.classStaticPrivateMethodGet(A, A, function(a) {}).call(A, 30), swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30), swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30), swcHelpers.classStaticPrivateFieldSpecSet(A, A, _quux, swcHelpers.classStaticPrivateFieldSpecGet(A, A, _quux) + 1), swcHelpers.classStaticPrivateFieldUpdate(A, A, _quux).value++;
} }
} }
var _quux = { var _quux = {

View File

@ -7,12 +7,11 @@ import regeneratorRuntime from "regenerator-runtime";
var A = function A() { var A = function A() {
"use strict"; "use strict";
swcHelpers.classCallCheck(this, A); swcHelpers.classCallCheck(this, A);
var _this_quux;
swcHelpers.classStaticPrivateMethodGet(A, A, foo).call(A, 30); swcHelpers.classStaticPrivateMethodGet(A, A, foo).call(A, 30);
swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30); swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30);
swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30); swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30);
swcHelpers.classStaticPrivateFieldSpecSet(A, A, _quux, swcHelpers.classStaticPrivateFieldSpecGet(A, A, _quux) + 1); swcHelpers.classStaticPrivateFieldSpecSet(A, A, _quux, swcHelpers.classStaticPrivateFieldSpecGet(A, A, _quux) + 1);
swcHelpers.classStaticPrivateFieldSpecSet(A, A, _quux, (_this_quux = +swcHelpers.classStaticPrivateFieldSpecGet(A, A, _quux)) + 1), _this_quux; swcHelpers.classStaticPrivateFieldUpdate(A, A, _quux).value++;
}; };
var _quux = { var _quux = {
get: get_quux, get: get_quux,

View File

@ -2,7 +2,7 @@ import * as swcHelpers from "@swc/helpers";
import regeneratorRuntime from "regenerator-runtime"; import regeneratorRuntime from "regenerator-runtime";
var A = function() { var A = function() {
"use strict"; "use strict";
swcHelpers.classCallCheck(this, A), swcHelpers.classStaticPrivateMethodGet(A, A, foo).call(A, 30), swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30), swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30), swcHelpers.classStaticPrivateFieldSpecSet(A, A, _quux, swcHelpers.classStaticPrivateFieldSpecGet(A, A, _quux) + 1), swcHelpers.classStaticPrivateFieldSpecSet(A, A, _quux, +swcHelpers.classStaticPrivateFieldSpecGet(A, A, _quux) + 1); swcHelpers.classCallCheck(this, A), swcHelpers.classStaticPrivateMethodGet(A, A, foo).call(A, 30), swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30), swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30), swcHelpers.classStaticPrivateFieldSpecSet(A, A, _quux, swcHelpers.classStaticPrivateFieldSpecGet(A, A, _quux) + 1), swcHelpers.classStaticPrivateFieldUpdate(A, A, _quux).value++;
}, _quux = { }, _quux = {
get: function() { get: function() {
return swcHelpers.classStaticPrivateFieldSpecGet(this, A, __quux); return swcHelpers.classStaticPrivateFieldSpecGet(this, A, __quux);

View File

@ -5,7 +5,6 @@ var _foo = /*#__PURE__*/ new WeakSet(), _bar = /*#__PURE__*/ new WeakSet(), _baz
// @useDefineForClassFields: false // @useDefineForClassFields: false
class A { class A {
constructor(){ constructor(){
var _this_quux;
swcHelpers.classPrivateMethodInit(this, _foo); swcHelpers.classPrivateMethodInit(this, _foo);
swcHelpers.classPrivateMethodInit(this, _bar); swcHelpers.classPrivateMethodInit(this, _bar);
swcHelpers.classPrivateMethodInit(this, _baz); swcHelpers.classPrivateMethodInit(this, _baz);
@ -21,7 +20,7 @@ class A {
swcHelpers.classPrivateMethodGet(this, _bar, bar).call(this, 30); swcHelpers.classPrivateMethodGet(this, _bar, bar).call(this, 30);
swcHelpers.classPrivateMethodGet(this, _baz, baz).call(this, 30); swcHelpers.classPrivateMethodGet(this, _baz, baz).call(this, 30);
swcHelpers.classPrivateFieldSet(this, _quux, swcHelpers.classPrivateFieldGet(this, _quux) + 1); swcHelpers.classPrivateFieldSet(this, _quux, swcHelpers.classPrivateFieldGet(this, _quux) + 1);
swcHelpers.classPrivateFieldSet(this, _quux, (_this_quux = +swcHelpers.classPrivateFieldGet(this, _quux)) + 1), _this_quux; swcHelpers.classPrivateFieldUpdate(this, _quux).value++;
} }
} }
function foo(a) {} function foo(a) {}

View File

@ -7,7 +7,6 @@ var _foo = /*#__PURE__*/ new WeakSet(), _bar = /*#__PURE__*/ new WeakSet(), _baz
var A = function A() { var A = function A() {
"use strict"; "use strict";
swcHelpers.classCallCheck(this, A); swcHelpers.classCallCheck(this, A);
var _this_quux;
swcHelpers.classPrivateMethodInit(this, _foo); swcHelpers.classPrivateMethodInit(this, _foo);
swcHelpers.classPrivateMethodInit(this, _bar); swcHelpers.classPrivateMethodInit(this, _bar);
swcHelpers.classPrivateMethodInit(this, _baz); swcHelpers.classPrivateMethodInit(this, _baz);
@ -23,7 +22,7 @@ var A = function A() {
swcHelpers.classPrivateMethodGet(this, _bar, bar).call(this, 30); swcHelpers.classPrivateMethodGet(this, _bar, bar).call(this, 30);
swcHelpers.classPrivateMethodGet(this, _baz, baz).call(this, 30); swcHelpers.classPrivateMethodGet(this, _baz, baz).call(this, 30);
swcHelpers.classPrivateFieldSet(this, _quux, swcHelpers.classPrivateFieldGet(this, _quux) + 1); swcHelpers.classPrivateFieldSet(this, _quux, swcHelpers.classPrivateFieldGet(this, _quux) + 1);
swcHelpers.classPrivateFieldSet(this, _quux, (_this_quux = +swcHelpers.classPrivateFieldGet(this, _quux)) + 1), _this_quux; swcHelpers.classPrivateFieldUpdate(this, _quux).value++;
}; };
function foo(a) {} function foo(a) {}
function bar(a) { function bar(a) {

View File

@ -8,7 +8,7 @@ var _foo = new WeakSet(), _bar = new WeakSet(), _baz = new WeakSet(), __quux = n
}), swcHelpers.classPrivateFieldInit(this, __quux, { }), swcHelpers.classPrivateFieldInit(this, __quux, {
writable: !0, writable: !0,
value: void 0 value: void 0
}), swcHelpers.classPrivateMethodGet(this, _foo, foo).call(this, 30), swcHelpers.classPrivateMethodGet(this, _bar, bar).call(this, 30), swcHelpers.classPrivateMethodGet(this, _baz, baz).call(this, 30), swcHelpers.classPrivateFieldSet(this, _quux, swcHelpers.classPrivateFieldGet(this, _quux) + 1), swcHelpers.classPrivateFieldSet(this, _quux, +swcHelpers.classPrivateFieldGet(this, _quux) + 1); }), swcHelpers.classPrivateMethodGet(this, _foo, foo).call(this, 30), swcHelpers.classPrivateMethodGet(this, _bar, bar).call(this, 30), swcHelpers.classPrivateMethodGet(this, _baz, baz).call(this, 30), swcHelpers.classPrivateFieldSet(this, _quux, swcHelpers.classPrivateFieldGet(this, _quux) + 1), swcHelpers.classPrivateFieldUpdate(this, _quux).value++;
}; };
function foo(a) {} function foo(a) {}
function bar(a) { function bar(a) {

View File

@ -5,12 +5,11 @@ import * as swcHelpers from "@swc/helpers";
// @useDefineForClassFields: false // @useDefineForClassFields: false
class A { class A {
constructor(){ constructor(){
var _this_quux;
swcHelpers.classStaticPrivateMethodGet(A, A, foo).call(A, 30); swcHelpers.classStaticPrivateMethodGet(A, A, foo).call(A, 30);
swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30); swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30);
swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30); swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30);
swcHelpers.classStaticPrivateFieldSpecSet(A, A, _quux, swcHelpers.classStaticPrivateFieldSpecGet(A, A, _quux) + 1); swcHelpers.classStaticPrivateFieldSpecSet(A, A, _quux, swcHelpers.classStaticPrivateFieldSpecGet(A, A, _quux) + 1);
swcHelpers.classStaticPrivateFieldSpecSet(A, A, _quux, (_this_quux = +swcHelpers.classStaticPrivateFieldSpecGet(A, A, _quux)) + 1), _this_quux; swcHelpers.classStaticPrivateFieldUpdate(A, A, _quux).value++;
} }
} }
var _quux = { var _quux = {

View File

@ -1,7 +1,7 @@
import * as swcHelpers from "@swc/helpers"; import * as swcHelpers from "@swc/helpers";
class A { class A {
constructor(){ constructor(){
swcHelpers.classStaticPrivateMethodGet(A, A, function(a) {}).call(A, 30), swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30), swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30), swcHelpers.classStaticPrivateFieldSpecSet(A, A, _quux, swcHelpers.classStaticPrivateFieldSpecGet(A, A, _quux) + 1), swcHelpers.classStaticPrivateFieldSpecSet(A, A, _quux, +swcHelpers.classStaticPrivateFieldSpecGet(A, A, _quux) + 1); swcHelpers.classStaticPrivateMethodGet(A, A, function(a) {}).call(A, 30), swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30), swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30), swcHelpers.classStaticPrivateFieldSpecSet(A, A, _quux, swcHelpers.classStaticPrivateFieldSpecGet(A, A, _quux) + 1), swcHelpers.classStaticPrivateFieldUpdate(A, A, _quux).value++;
} }
} }
var _quux = { var _quux = {

View File

@ -7,12 +7,11 @@ import regeneratorRuntime from "regenerator-runtime";
var A = function A() { var A = function A() {
"use strict"; "use strict";
swcHelpers.classCallCheck(this, A); swcHelpers.classCallCheck(this, A);
var _this_quux;
swcHelpers.classStaticPrivateMethodGet(A, A, foo).call(A, 30); swcHelpers.classStaticPrivateMethodGet(A, A, foo).call(A, 30);
swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30); swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30);
swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30); swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30);
swcHelpers.classStaticPrivateFieldSpecSet(A, A, _quux, swcHelpers.classStaticPrivateFieldSpecGet(A, A, _quux) + 1); swcHelpers.classStaticPrivateFieldSpecSet(A, A, _quux, swcHelpers.classStaticPrivateFieldSpecGet(A, A, _quux) + 1);
swcHelpers.classStaticPrivateFieldSpecSet(A, A, _quux, (_this_quux = +swcHelpers.classStaticPrivateFieldSpecGet(A, A, _quux)) + 1), _this_quux; swcHelpers.classStaticPrivateFieldUpdate(A, A, _quux).value++;
}; };
var _quux = { var _quux = {
get: get_quux, get: get_quux,

View File

@ -2,7 +2,7 @@ import * as swcHelpers from "@swc/helpers";
import regeneratorRuntime from "regenerator-runtime"; import regeneratorRuntime from "regenerator-runtime";
var A = function() { var A = function() {
"use strict"; "use strict";
swcHelpers.classCallCheck(this, A), swcHelpers.classStaticPrivateMethodGet(A, A, foo).call(A, 30), swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30), swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30), swcHelpers.classStaticPrivateFieldSpecSet(A, A, _quux, swcHelpers.classStaticPrivateFieldSpecGet(A, A, _quux) + 1), swcHelpers.classStaticPrivateFieldSpecSet(A, A, _quux, +swcHelpers.classStaticPrivateFieldSpecGet(A, A, _quux) + 1); swcHelpers.classCallCheck(this, A), swcHelpers.classStaticPrivateMethodGet(A, A, foo).call(A, 30), swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30), swcHelpers.classStaticPrivateMethodGet(A, A, bar).call(A, 30), swcHelpers.classStaticPrivateFieldSpecSet(A, A, _quux, swcHelpers.classStaticPrivateFieldSpecGet(A, A, _quux) + 1), swcHelpers.classStaticPrivateFieldUpdate(A, A, _quux).value++;
}, _quux = { }, _quux = {
get: function() { get: function() {
return swcHelpers.classStaticPrivateFieldSpecGet(this, A, __quux); return swcHelpers.classStaticPrivateFieldSpecGet(this, A, __quux);

View File

@ -0,0 +1,23 @@
function _classApplyDescriptorUpdate(receiver, descriptor) {
if (descriptor.set) {
if (!("__destrWrapper" in descriptor)) {
descriptor.__destrWrapper = {
set value(v) {
descriptor.set.call(receiver, v);
},
get value() {
return descriptor.get.call(receiver);
},
};
}
return descriptor.__destrWrapper;
} else {
if (!descriptor.writable) {
// This should only throw in strict mode, but class bodies are
// always strict and private fields can only be used inside
// class bodies.
throw new TypeError("attempted to set read only private field");
}
return descriptor;
}
}

View File

@ -0,0 +1,4 @@
function _classPrivateFieldUpdate(receiver, privateMap) {
var descriptor = _classExtractFieldDescriptor( receiver, privateMap, "update");
return _classApplyDescriptorUpdate(receiver, descriptor);
}

View File

@ -0,0 +1,5 @@
function _classStaticPrivateFieldUpdate(receiver, classConstructor, descriptor) {
_classCheckPrivateStaticAccess(receiver, classConstructor);
_classCheckPrivateStaticFieldDescriptor(descriptor, "update");
return _classApplyDescriptorUpdate(receiver, descriptor);
}

View File

@ -186,6 +186,7 @@ define_helpers!(Helpers {
class_apply_descriptor_destructure: (), class_apply_descriptor_destructure: (),
class_apply_descriptor_get: (), class_apply_descriptor_get: (),
class_apply_descriptor_set: (), class_apply_descriptor_set: (),
class_apply_descriptor_update: (),
class_call_check: (), class_call_check: (),
class_check_private_static_field_descriptor: (), class_check_private_static_field_descriptor: (),
class_extract_field_descriptor: (), class_extract_field_descriptor: (),
@ -195,6 +196,10 @@ define_helpers!(Helpers {
class_private_field_loose_base: (), class_private_field_loose_base: (),
class_private_field_loose_key: (), class_private_field_loose_key: (),
class_private_field_set: (class_extract_field_descriptor, class_apply_descriptor_set), class_private_field_set: (class_extract_field_descriptor, class_apply_descriptor_set),
class_private_field_update: (
class_extract_field_descriptor,
class_apply_descriptor_update
),
class_private_method_get: (), class_private_method_get: (),
class_private_method_init: (check_private_redeclaration), class_private_method_init: (check_private_redeclaration),
class_private_method_set: (), class_private_method_set: (),
@ -208,6 +213,11 @@ define_helpers!(Helpers {
class_check_private_static_field_descriptor, class_check_private_static_field_descriptor,
class_apply_descriptor_set class_apply_descriptor_set
), ),
class_static_private_field_update: (
class_check_private_static_access,
class_check_private_static_field_descriptor,
class_apply_descriptor_update
),
construct: (set_prototype_of), construct: (set_prototype_of),
create_class: (), create_class: (),
decorate: (to_array, to_property_key), decorate: (to_array, to_property_key),

View File

@ -880,7 +880,7 @@ impl<C: Comments> ClassProperties<C> {
private_method_fn_decls.visit_mut_with(&mut PrivateAccessVisitor { private_method_fn_decls.visit_mut_with(&mut PrivateAccessVisitor {
private: &self.private, private: &self.private,
vars: vec![], vars: vec![],
in_assign_pat: false, private_access_type: Default::default(),
c: self.c, c: self.c,
}); });
@ -891,7 +891,7 @@ impl<C: Comments> ClassProperties<C> {
members.visit_mut_with(&mut PrivateAccessVisitor { members.visit_mut_with(&mut PrivateAccessVisitor {
private: &self.private, private: &self.private,
vars: vec![], vars: vec![],
in_assign_pat: false, private_access_type: Default::default(),
c: self.c, c: self.c,
}); });

View File

@ -143,10 +143,23 @@ impl VisitMut for BrandCheckHandler<'_> {
} }
} }
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub(super) enum PrivateAccessType {
Get,
DestructureSet,
Update,
}
impl Default for PrivateAccessType {
fn default() -> Self {
Self::Get
}
}
pub(super) struct PrivateAccessVisitor<'a> { pub(super) struct PrivateAccessVisitor<'a> {
pub vars: Vec<VarDeclarator>, pub vars: Vec<VarDeclarator>,
pub private: &'a PrivateRecord, pub private: &'a PrivateRecord,
pub in_assign_pat: bool, pub private_access_type: PrivateAccessType,
pub c: Config, pub c: Config,
} }
@ -214,138 +227,12 @@ impl<'a> VisitMut for PrivateAccessVisitor<'a> {
} }
match e { match e {
Expr::Update(UpdateExpr { Expr::Update(UpdateExpr { arg, .. }) if arg.is_member() => {
span, let old_access_type = self.private_access_type;
prefix,
op, self.private_access_type = PrivateAccessType::Update;
arg,
}) if arg.is_member() => {
let mut arg = arg.take().member().unwrap();
arg.visit_mut_with(self); arg.visit_mut_with(self);
self.private_access_type = old_access_type;
let n = match &arg.prop {
MemberProp::PrivateName(n) => n,
_ => {
*e = Expr::Update(UpdateExpr {
span: *span,
prefix: *prefix,
op: *op,
arg: Box::new(Expr::Member(arg)),
});
e.visit_mut_children_with(self);
return;
}
};
let obj = arg.obj.clone();
let (mark, kind, class_name) = self.private.get(&n.id);
if mark == Mark::root() {
return;
}
let ident = Ident::new(format!("_{}", n.id.sym).into(), n.id.span.apply_mark(mark));
let var = alias_ident_for(&obj, "_ref");
let this = if matches!(*obj, Expr::This(..)) {
ThisExpr { span: DUMMY_SP }.as_arg()
} else if kind.is_static {
obj.as_arg()
} else {
self.vars.push(VarDeclarator {
span: DUMMY_SP,
name: var.clone().into(),
init: None,
definite: false,
});
AssignExpr {
span: obj.span(),
left: PatOrExpr::Pat(var.clone().into()),
op: op!("="),
right: obj,
}
.as_arg()
};
// Used iff !prefix
let old_var = Ident {
// be more like babel
sym: (String::from("_this") + &ident.sym).into(),
span: ident.span.apply_mark(Mark::fresh(Mark::root())),
optional: false,
};
if !*prefix {
self.vars.push(VarDeclarator {
span: DUMMY_SP,
name: old_var.clone().into(),
init: None,
definite: false,
});
}
let value = {
let arg = Box::new(self.visit_mut_private_get(&mut arg, Some(var)).0);
let left = Box::new(Expr::Unary(UnaryExpr {
span: DUMMY_SP,
op: op!(unary, "+"),
arg,
}));
let left = if *prefix {
left
} else {
Box::new(Expr::Assign(AssignExpr {
span: DUMMY_SP,
left: PatOrExpr::Pat(old_var.clone().into()),
op: op!("="),
right: left,
}))
};
BinExpr {
span: DUMMY_SP,
left,
op: match op {
op!("++") => op!(bin, "+"),
op!("--") => op!(bin, "-"),
},
right: Box::new(Expr::Lit(Lit::Num(Number {
span: DUMMY_SP,
value: 1.0,
raw: None,
}))),
}
.as_arg()
};
let expr = if kind.is_static {
Expr::Call(CallExpr {
span: DUMMY_SP,
callee: helper!(
class_static_private_field_spec_set,
"classStaticPrivateFieldSpecSet"
),
args: vec![this, class_name.clone().as_arg(), ident.as_arg(), value],
type_args: Default::default(),
})
} else {
Expr::Call(CallExpr {
span: DUMMY_SP,
callee: helper!(class_private_field_set, "classPrivateFieldSet"),
args: vec![this, ident.as_arg(), value],
type_args: Default::default(),
})
};
if *prefix {
*e = expr;
} else {
*e = Expr::Seq(SeqExpr {
span: DUMMY_SP,
exprs: vec![Box::new(expr), Box::new(Expr::Ident(old_var))],
});
}
} }
Expr::Assign(AssignExpr { Expr::Assign(AssignExpr {
@ -449,9 +336,11 @@ impl<'a> VisitMut for PrivateAccessVisitor<'a> {
.. ..
}) => { }) => {
right.visit_mut_with(self); right.visit_mut_with(self);
self.in_assign_pat = true; let old_access_type = self.private_access_type;
self.private_access_type = PrivateAccessType::DestructureSet;
left.visit_mut_with(self); left.visit_mut_with(self);
self.in_assign_pat = false; self.private_access_type = old_access_type;
} }
// Actually this is a call and we should bind `this`. // Actually this is a call and we should bind `this`.
@ -596,16 +485,17 @@ impl<'a> VisitMut for PrivateAccessVisitor<'a> {
if let Pat::Expr(expr) = &p { if let Pat::Expr(expr) = &p {
if let Expr::Member(me) = &**expr { if let Expr::Member(me) = &**expr {
if let MemberProp::PrivateName(..) = &me.prop { if let MemberProp::PrivateName(..) = &me.prop {
self.in_assign_pat = true; let old_access_type = self.private_access_type;
self.private_access_type = PrivateAccessType::DestructureSet;
p.visit_mut_children_with(self); p.visit_mut_children_with(self);
self.in_assign_pat = false; self.private_access_type = old_access_type;
return; return;
} }
} }
} }
self.in_assign_pat = false; self.private_access_type = Default::default();
p.visit_mut_children_with(self); p.visit_mut_children_with(self);
} }
} }
@ -618,7 +508,7 @@ pub(super) fn visit_private_in_expr(
let mut priv_visitor = PrivateAccessVisitor { let mut priv_visitor = PrivateAccessVisitor {
private, private,
vars: vec![], vars: vec![],
in_assign_pat: false, private_access_type: Default::default(),
c: config, c: config,
}; };
@ -659,23 +549,52 @@ impl<'a> PrivateAccessVisitor<'a> {
let ident = Ident::new(format!("_{}", n.id.sym).into(), n.id.span.apply_mark(mark)); let ident = Ident::new(format!("_{}", n.id.sym).into(), n.id.span.apply_mark(mark));
if kind.is_static { if kind.is_static {
if self.in_assign_pat { match self.private_access_type {
let set = helper!( PrivateAccessType::DestructureSet => {
class_static_private_field_destructure, let set = helper!(
"classStaticPrivateFieldDestructureSet" class_static_private_field_destructure,
); "classStaticPrivateFieldDestructureSet"
);
return ( return (
CallExpr { CallExpr {
span: DUMMY_SP, span: DUMMY_SP,
callee: set, callee: set,
args: vec![obj.clone().as_arg(), ident.as_arg()], args: vec![
obj.clone().as_arg(),
class_name.clone().as_arg(),
ident.as_arg(),
],
type_args: Default::default(), type_args: Default::default(),
} }
.make_member(quote_ident!("value")), .make_member(quote_ident!("value")),
Some(*obj), Some(*obj),
); );
}
PrivateAccessType::Update => {
let set = helper!(
class_static_private_field_update,
"classStaticPrivateFieldUpdate"
);
return (
CallExpr {
span: DUMMY_SP,
callee: set,
args: vec![
obj.clone().as_arg(),
class_name.clone().as_arg(),
ident.as_arg(),
],
type_args: Default::default(),
}
.make_member(quote_ident!("value")),
Some(*obj),
);
}
_ => {}
} }
if kind.is_method() { if kind.is_method() {
@ -714,23 +633,41 @@ impl<'a> PrivateAccessVisitor<'a> {
Some(Expr::Ident(class_name.clone())), Some(Expr::Ident(class_name.clone())),
) )
} else { } else {
if self.in_assign_pat { match self.private_access_type {
let set = helper!( PrivateAccessType::DestructureSet => {
class_private_field_destructure, let set = helper!(
"classPrivateFieldDestructureSet" class_private_field_destructure,
); "classPrivateFieldDestructureSet"
);
return ( return (
CallExpr { CallExpr {
span: DUMMY_SP, span: DUMMY_SP,
callee: set, callee: set,
args: vec![obj.clone().as_arg(), ident.as_arg()], args: vec![obj.clone().as_arg(), ident.as_arg()],
type_args: Default::default(), type_args: Default::default(),
} }
.make_member(quote_ident!("value")), .make_member(quote_ident!("value")),
Some(*obj), Some(*obj),
); );
}
PrivateAccessType::Update => {
let set = helper!(class_private_field_update, "classPrivateFieldUpdate");
return (
CallExpr {
span: DUMMY_SP,
callee: set,
args: vec![obj.clone().as_arg(), ident.as_arg()],
type_args: Default::default(),
}
.make_member(quote_ident!("value")),
Some(*obj),
);
}
_ => {}
} }
let get = if self.c.private_as_properties { let get = if self.c.private_as_properties {

View File

@ -0,0 +1,38 @@
class A {
#a = 1n;
static #b = 2n;
get #c() {
return this.#a;
}
set #c(v) {
this.#a = v;
}
static get #d() {
return this.#b;
}
static set #d(v) {
this.#b = v;
}
foo() {
let a = this.#a++;
a = ++this.#a;
let b = this.#c++;
b = ++this.#c;
console.log(a, b);
}
static bar() {
let d = this.#d++;
d = ++this.#d;
let e = A.#d++;
e = ++A.#d;
console.log(d, e);
}
}
const a = new A();
a.foo();
A.bar();

View File

@ -0,0 +1,38 @@
class A {
#a = 1n;
static #b = 2n;
get #c() {
return this.#a;
}
set #c(v) {
this.#a = v;
}
static get #d() {
return this.#b;
}
static set #d(v) {
this.#b = v;
}
foo() {
let a = this.#a++;
a = ++this.#a;
let b = this.#c++;
b = ++this.#c;
console.log(a, b);
}
static bar() {
let d = this.#d++;
d = ++this.#d;
let e = A.#d++;
e = ++A.#d;
console.log(d, e);
}
}
const a = new A();
a.foo();
A.bar();

View File

@ -0,0 +1,62 @@
var _a = /*#__PURE__*/ new WeakMap(), _c = /*#__PURE__*/ new WeakMap();
let A = /*#__PURE__*/ function() {
"use strict";
function A() {
_classCallCheck(this, A);
_classPrivateFieldInit(this, _c, {
get: get_c,
set: set_c
});
_classPrivateFieldInit(this, _a, {
writable: true,
value: 1n
});
}
_createClass(A, [
{
key: "foo",
value: function foo() {
let a = _classPrivateFieldUpdate(this, _a).value++;
a = ++_classPrivateFieldUpdate(this, _a).value;
let b = _classPrivateFieldUpdate(this, _c).value++;
b = ++_classPrivateFieldUpdate(this, _c).value;
console.log(a, b);
}
}
], [
{
key: "bar",
value: function bar() {
let d = _classStaticPrivateFieldUpdate(this, A, _d).value++;
d = ++_classStaticPrivateFieldUpdate(this, A, _d).value;
let e = _classStaticPrivateFieldUpdate(A, A, _d).value++;
e = ++_classStaticPrivateFieldUpdate(A, A, _d).value;
console.log(d, e);
}
}
]);
return A;
}();
var _d = {
get: get_d,
set: set_d
};
var _b = {
writable: true,
value: 2n
};
function get_c() {
return _classPrivateFieldGet(this, _a);
}
function set_c(v) {
_classPrivateFieldSet(this, _a, v);
}
function get_d() {
return _classStaticPrivateFieldSpecGet(this, A, _b);
}
function set_d(v) {
_classStaticPrivateFieldSpecSet(this, A, _b, v);
}
const a = new A();
a.foo();
A.bar();

View File

@ -1485,32 +1485,27 @@ class Foo {
"#, "#,
r#" r#"
var _foo = new WeakMap(); var _foo = new WeakMap();
var Foo = var Foo = function() {
/*#__PURE__*/ "use strict";
function () { function Foo() {
"use strict"; _classCallCheck(this, Foo);
_classPrivateFieldInit(this, _foo, {
function Foo() { writable: true,
_classCallCheck(this, Foo); value: 0
});
_classPrivateFieldInit(this, _foo, {
writable: true,
value: 0
});
}
_createClass(Foo, [{
key: "test",
value: function test(other) {
var _this_foo, _obj, _this_foo1, _obj1;
_classPrivateFieldSet(this, _foo, (_this_foo = +_classPrivateFieldGet(this, _foo)) + 1), _this_foo;
_classPrivateFieldSet(this, _foo, +_classPrivateFieldGet(this, _foo) + 1);
_classPrivateFieldSet(_obj = other.obj, _foo, (_this_foo1 = +_classPrivateFieldGet(_obj, _foo)) + 1), _this_foo1;
_classPrivateFieldSet(_obj1 = other.obj, _foo, +_classPrivateFieldGet(_obj1, _foo) + 1);
} }
}]); _createClass(Foo, [
return Foo; {
key: "test",
value: function test(other) {
_classPrivateFieldUpdate(this, _foo).value++;
++_classPrivateFieldUpdate(this, _foo).value;
_classPrivateFieldUpdate(other.obj, _foo).value++;
++_classPrivateFieldUpdate(other.obj, _foo).value;
}
}
]);
return Foo;
}(); }();
"# "#
); );
@ -2725,33 +2720,32 @@ class Foo {
} }
} }
", ",
" r#"
var _x = new WeakMap(); var _x = new WeakMap();
var Foo = function () { var Foo = function () {
\"use strict\"; "use strict";
function Foo() { function Foo() {
_classCallCheck(this, Foo); _classCallCheck(this, Foo);
_classPrivateFieldInit(this, _x, { _classPrivateFieldInit(this, _x, {
writable: true, writable: true,
value: 0 value: 0
}); });
}
_createClass(Foo, [{
key: \"test\",
value: function test() {
var _this_x;
_classPrivateFieldSet(this, _x, (_this_x = +_classPrivateFieldGet(this, _x)) + 1), _this_x;
_classPrivateFieldSet(this, _x, +_classPrivateFieldGet(this, _x) + 1);
} }
}]);
return Foo; _createClass(Foo, [
{
key: "test",
value: function test() {
_classPrivateFieldUpdate(this, _x).value++;
++_classPrivateFieldUpdate(this, _x).value;
}
}
]);
return Foo;
}(); }();
" "#
); );
test!( test!(
@ -2768,33 +2762,30 @@ class Foo {
} }
} }
", ",
" r#"
var Foo = function () { var Foo = function () {
\"use strict\"; "use strict";
function Foo() { function Foo() {
_classCallCheck(this, Foo); _classCallCheck(this, Foo);
} }
_createClass(Foo, [{ _createClass(Foo, [
key: \"test\", {
value: function test() { key: "test",
var _this_x; value: function test() {
_classStaticPrivateFieldUpdate(Foo, Foo, _x).value++;
_classStaticPrivateFieldSpecSet(Foo, Foo, _x, (_this_x = \ ++_classStaticPrivateFieldUpdate(Foo, Foo, _x).value;
+_classStaticPrivateFieldSpecGet(Foo, Foo, _x)) + 1), _this_x; }
}
_classStaticPrivateFieldSpecSet(Foo, Foo, _x, +_classStaticPrivateFieldSpecGet(Foo, Foo, _x) \ ]);
+ 1);
}
}]);
return Foo; return Foo;
}(); }();
var _x = { var _x = {
writable: true, writable: true,
value: 0 value: 0
};" };
"#
); );
test!( test!(
@ -3518,17 +3509,17 @@ class Foo {
r#" r#"
var _client = new WeakMap(); var _client = new WeakMap();
var Foo = function Foo(props) { var Foo = function Foo(props) {
"use strict"; "use strict";
_classCallCheck(this, Foo); _classCallCheck(this, Foo);
_classPrivateFieldInit(this, _client, { _classPrivateFieldInit(this, _client, {
writable: true, writable: true,
value: void 0 value: void 0
}); });
_classPrivateFieldSet(this, _client, 1); _classPrivateFieldSet(this, _client, 1);
[this.x = _classPrivateFieldGet(this, _client), _classPrivateFieldDestructureSet(this, _client).value, this.y = _classPrivateFieldGet(this, _client)] = props; [this.x = _classPrivateFieldGet(this, _client), _classPrivateFieldDestructureSet(this, _client).value, this.y = _classPrivateFieldGet(this, _client)] = props;
}; };
"# "#
); );
@ -5819,9 +5810,8 @@ class A {
var _D = new WeakMap(); var _D = new WeakMap();
class A { class A {
B() { B() {
var _C, _this_D;
1; 1;
_classPrivateFieldSet(_C = C, _D, (_this_D = +_classPrivateFieldGet(_C, _D)) + 1), _this_D; _classPrivateFieldUpdate(C, _D).value++;
E(function() {}); E(function() {});
} }
constructor(){ constructor(){

View File

@ -0,0 +1,23 @@
export default function _classApplyDescriptorUpdate(receiver, descriptor) {
if (descriptor.set) {
if (!("__destrWrapper" in descriptor)) {
descriptor.__destrWrapper = {
set value(v) {
descriptor.set.call(receiver, v);
},
get value() {
return descriptor.get.call(receiver);
},
};
}
return descriptor.__destrWrapper;
} else {
if (!descriptor.writable) {
// This should only throw in strict mode, but class bodies are
// always strict and private fields can only be used inside
// class bodies.
throw new TypeError("attempted to set read only private field");
}
return descriptor;
}
}

View File

@ -0,0 +1,7 @@
import classExtractFieldDescriptor from "./_class_extract_field_descriptor";
import classApplyDescriptorUpdate from "./_class_apply_descriptor_update";
export default function _classPrivateFieldUpdate(receiver, privateMap) {
var descriptor = classExtractFieldDescriptor(receiver, privateMap, "update");
return classApplyDescriptorUpdate(receiver, descriptor);
}

View File

@ -0,0 +1,9 @@
import classCheckPrivateStaticAccess from './_class_check_private_static_access';
import classCheckPrivateStaticFieldDescriptor from './_class_check_private_static_access';
import classApplyDescriptorUpdate from './_class_apply_descriptor_update';
export default function _classStaticPrivateFieldUpdate(receiver, classConstructor, descriptor) {
classCheckPrivateStaticAccess(receiver, classConstructor);
classCheckPrivateStaticFieldDescriptor(descriptor, "update");
return classApplyDescriptorUpdate(receiver, descriptor);
}