Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Preserve static on decorated private accessor #16266

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -182,10 +182,9 @@ function addProxyAccessorsFor(
originalKey: t.PrivateName | t.Expression,
targetKey: t.PrivateName,
version: DecoratorVersionKind,
isComputed = false,
isComputed: boolean,
isStatic: boolean,
): void {
const { static: isStatic } = element.node;

const thisArg =
(version === "2023-11" ||
(!process.env.BABEL_8_BREAKING && version === "2023-05")) &&
Expand Down Expand Up @@ -610,6 +609,7 @@ function addCallAccessorsFor(
key: t.PrivateName,
getId: t.Identifier,
setId: t.Identifier,
isStatic: boolean,
) {
element.insertAfter(
t.classPrivateMethod(
Expand All @@ -621,6 +621,7 @@ function addCallAccessorsFor(
t.callExpression(t.cloneNode(getId), [t.thisExpression()]),
),
]),
isStatic,
),
);

Expand All @@ -637,6 +638,7 @@ function addCallAccessorsFor(
]),
),
]),
isStatic,
),
);
}
Expand Down Expand Up @@ -885,6 +887,7 @@ function transformClass(
newId,
version,
computed,
isStatic,
);
}
}
Expand Down Expand Up @@ -1099,7 +1102,7 @@ function transformClass(
`set_${name}`,
);

addCallAccessorsFor(newPath, key, getId, setId);
addCallAccessorsFor(newPath, key, getId, setId, isStatic);

locals = [newFieldInitId, getId, setId];
} else {
Expand All @@ -1110,6 +1113,7 @@ function transformClass(
newId,
version,
isComputed,
isStatic,
);
locals = [newFieldInitId];
}
Expand Down
Expand Up @@ -10,14 +10,7 @@ const f = () => {
};
};
_computedKey = babelHelpers.toPropertyKey(f());
var _a = /*#__PURE__*/new WeakMap();
class Foo {
constructor() {
babelHelpers.classPrivateFieldInitSpec(this, _a, {
get: _get_a2,
set: _set_a2
});
}
static get a() {
return babelHelpers.classStaticPrivateFieldSpecGet(this, Foo, _A);
}
Expand Down Expand Up @@ -74,6 +67,10 @@ function _set_a2(v) {
function _get_a2() {
return _get_a(this);
}
var _a = {
get: _get_a2,
set: _set_a2
};
(() => {
[_init_a, _init_a2, _get_a, _set_a, _init_computedKey, _init_computedKey2, _init_computedKey3, _init_computedKey4, _init_computedKey5, _init_computedKey6, _init_computedKey7, _initStatic] = babelHelpers.applyDecs(_Foo, [[dec, 6, "a"], [dec, 6, "a", function () {
return babelHelpers.classStaticPrivateFieldSpecGet(this, _Foo, _B);
Expand Down
@@ -1,19 +1,6 @@
var _initStatic, _init_a, _get_a, _set_a, _init_b, _get_b, _set_b, _Foo;
const dec = () => {};
var _a = /*#__PURE__*/new WeakMap();
var _b = /*#__PURE__*/new WeakMap();
class Foo {
constructor() {
babelHelpers.classPrivateFieldInitSpec(this, _b, {
get: _get_b2,
set: _set_b2
});
babelHelpers.classPrivateFieldInitSpec(this, _a, {
get: _get_a2,
set: _set_a2
});
}
}
class Foo {}
_Foo = Foo;
function _set_a2(v) {
_set_a(this, v);
Expand All @@ -27,6 +14,14 @@ function _set_b2(v) {
function _get_b2() {
return _get_b(this);
}
var _b = {
get: _get_b2,
set: _set_b2
};
var _a = {
get: _get_a2,
set: _set_a2
};
(() => {
[_init_a, _get_a, _set_a, _init_b, _get_b, _set_b, _initStatic] = babelHelpers.applyDecs(_Foo, [[dec, 6, "a", function () {
return babelHelpers.classStaticPrivateFieldSpecGet(this, _Foo, _A);
Expand Down
Expand Up @@ -27,10 +27,10 @@ class Foo {
this.#A = v;
}
static #B = _init_a2(this);
set #a(v) {
static set #a(v) {
_set_a(this, v);
}
get #a() {
static get #a() {
return _get_a(this);
}
static #C = _init_computedKey(this);
Expand Down
Expand Up @@ -14,17 +14,17 @@ class Foo {
_initStatic(this);
}
static #A = _init_a(this);
set #a(v) {
static set #a(v) {
_set_a(this, v);
}
get #a() {
static get #a() {
return _get_a(this);
}
static #B = _init_b(this, 123);
set #b(v) {
static set #b(v) {
_set_b(this, v);
}
get #b() {
static get #b() {
return _get_b(this);
}
}
Expand Up @@ -59,12 +59,6 @@ new class extends babelHelpers.identity {
static set m(v) {
this.#C = v;
}
set #r(v) {
_set_r(this, v);
}
get #r() {
return _get_r(this);
}
}
}
#o = _call_o;
Expand All @@ -78,6 +72,12 @@ new class extends babelHelpers.identity {
_call_q(this, v);
}
#D = _init_r(this);
set #r(v) {
_set_r(this, v);
}
get #r() {
return _get_r(this);
}
constructor() {
super(_Class), _initClass();
}
Expand Down
Expand Up @@ -10,14 +10,7 @@ const f = () => {
};
};
_computedKey = babelHelpers.toPropertyKey(f());
var _a = /*#__PURE__*/new WeakMap();
class Foo {
constructor() {
babelHelpers.classPrivateFieldInitSpec(this, _a, {
get: _get_a2,
set: _set_a2
});
}
static get a() {
return babelHelpers.classStaticPrivateFieldSpecGet(this, Foo, _A);
}
Expand Down Expand Up @@ -74,6 +67,10 @@ function _set_a2(v) {
function _get_a2() {
return _get_a(this);
}
var _a = {
get: _get_a2,
set: _set_a2
};
(() => {
[_init_a, _init_a2, _get_a, _set_a, _init_computedKey, _init_computedKey2, _init_computedKey3, _init_computedKey4, _init_computedKey5, _init_computedKey6, _init_computedKey7, _initStatic] = babelHelpers.applyDecs2203R(_Foo, [[dec, 6, "a"], [dec, 6, "a", function () {
return babelHelpers.classStaticPrivateFieldSpecGet(this, _Foo, _B);
Expand Down
@@ -1,19 +1,6 @@
var _initStatic, _init_a, _get_a, _set_a, _init_b, _get_b, _set_b, _Foo;
const dec = () => {};
var _a = /*#__PURE__*/new WeakMap();
var _b = /*#__PURE__*/new WeakMap();
class Foo {
constructor() {
babelHelpers.classPrivateFieldInitSpec(this, _b, {
get: _get_b2,
set: _set_b2
});
babelHelpers.classPrivateFieldInitSpec(this, _a, {
get: _get_a2,
set: _set_a2
});
}
}
class Foo {}
_Foo = Foo;
function _set_a2(v) {
_set_a(this, v);
Expand All @@ -27,6 +14,14 @@ function _set_b2(v) {
function _get_b2() {
return _get_b(this);
}
var _b = {
get: _get_b2,
set: _set_b2
};
var _a = {
get: _get_a2,
set: _set_a2
};
(() => {
[_init_a, _get_a, _set_a, _init_b, _get_b, _set_b, _initStatic] = babelHelpers.applyDecs2203R(_Foo, [[dec, 6, "a", function () {
return babelHelpers.classStaticPrivateFieldSpecGet(this, _Foo, _A);
Expand Down
Expand Up @@ -27,10 +27,10 @@ class Foo {
this.#A = v;
}
static #B = _init_a2(this);
set #a(v) {
static set #a(v) {
_set_a(this, v);
}
get #a() {
static get #a() {
return _get_a(this);
}
static #C = _init_computedKey(this);
Expand Down
Expand Up @@ -14,17 +14,17 @@ class Foo {
_initStatic(this);
}
static #A = _init_a(this);
set #a(v) {
static set #a(v) {
_set_a(this, v);
}
get #a() {
static get #a() {
return _get_a(this);
}
static #B = _init_b(this, 123);
set #b(v) {
static set #b(v) {
_set_b(this, v);
}
get #b() {
static get #b() {
return _get_b(this);
}
}
Expand Up @@ -62,12 +62,6 @@ new class extends babelHelpers.identity {
static set m(v) {
this.#C = v;
}
set #r(v) {
_set_r(this, v);
}
get #r() {
return _get_r(this);
}
}
}
#o = _call_o;
Expand All @@ -81,6 +75,12 @@ new class extends babelHelpers.identity {
_call_q(this, v);
}
#D = _init_r(this);
set #r(v) {
_set_r(this, v);
}
get #r() {
return _get_r(this);
}
constructor() {
super(_Class), _initClass();
}
Expand Down
Expand Up @@ -10,14 +10,7 @@ const f = () => {
};
};
_computedKey = babelHelpers.toPropertyKey(f());
var _a = /*#__PURE__*/new WeakMap();
class Foo {
constructor() {
babelHelpers.classPrivateFieldInitSpec(this, _a, {
get: _get_a2,
set: _set_a2
});
}
static get a() {
return babelHelpers.classStaticPrivateFieldSpecGet(this, Foo, _A);
}
Expand Down Expand Up @@ -74,6 +67,10 @@ function _set_a2(v) {
function _get_a2() {
return _get_a(this);
}
var _a = {
get: _get_a2,
set: _set_a2
};
(() => {
[_init_a, _init_a2, _get_a, _set_a, _init_computedKey, _init_computedKey2, _init_computedKey3, _init_computedKey4, _init_computedKey5, _init_computedKey6, _init_computedKey7, _initStatic] = babelHelpers.applyDecs2301(_Foo, [[dec, 6, "a"], [dec, 6, "a", o => babelHelpers.classStaticPrivateFieldSpecGet(o, _Foo, _B), (o, v) => babelHelpers.classStaticPrivateFieldSpecSet(o, _Foo, _B, v)], [dec, 6, "b"], [dec, 6, "c"], [dec, 6, 0], [dec, 6, 1], [dec, 6, 2n], [dec, 6, 3n], [dec, 6, _computedKey]], []).e;
_initStatic(_Foo);
Expand Down
@@ -1,19 +1,6 @@
var _initStatic, _init_a, _get_a, _set_a, _init_b, _get_b, _set_b, _Foo;
const dec = () => {};
var _a = /*#__PURE__*/new WeakMap();
var _b = /*#__PURE__*/new WeakMap();
class Foo {
constructor() {
babelHelpers.classPrivateFieldInitSpec(this, _b, {
get: _get_b2,
set: _set_b2
});
babelHelpers.classPrivateFieldInitSpec(this, _a, {
get: _get_a2,
set: _set_a2
});
}
}
class Foo {}
_Foo = Foo;
function _set_a2(v) {
_set_a(this, v);
Expand All @@ -27,6 +14,14 @@ function _set_b2(v) {
function _get_b2() {
return _get_b(this);
}
var _b = {
get: _get_b2,
set: _set_b2
};
var _a = {
get: _get_a2,
set: _set_a2
};
(() => {
[_init_a, _get_a, _set_a, _init_b, _get_b, _set_b, _initStatic] = babelHelpers.applyDecs2301(_Foo, [[dec, 6, "a", o => babelHelpers.classStaticPrivateFieldSpecGet(o, _Foo, _A), (o, v) => babelHelpers.classStaticPrivateFieldSpecSet(o, _Foo, _A, v)], [dec, 6, "b", o => babelHelpers.classStaticPrivateFieldSpecGet(o, _Foo, _B), (o, v) => babelHelpers.classStaticPrivateFieldSpecSet(o, _Foo, _B, v)]], []).e;
_initStatic(_Foo);
Expand Down
Expand Up @@ -23,10 +23,10 @@ class Foo {
this.#A = v;
}
static #B = _init_a2(this);
set #a(v) {
static set #a(v) {
_set_a(this, v);
}
get #a() {
static get #a() {
return _get_a(this);
}
static #C = _init_computedKey(this);
Expand Down