From ea1f619f25e96141676d3f7f1ceef660322219e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hu=C3=A1ng=20J=C3=B9nli=C3=A0ng?= Date: Fri, 26 Feb 2021 12:02:37 -0500 Subject: [PATCH 1/3] fix: ensure static private method init run before static property init Per 15.7.12 Runtime Semantics: ClassDefinitionEvaluation, when DefineField is invoked, the class binding used in field initializer will have a receiver F, which has all static methods defined but may still have uninvoked initializer due to the order of DefineField executions on staticFields. Therefore, we place static class methods definition before static field. --- .../babel-helper-create-class-features-plugin/src/fields.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/babel-helper-create-class-features-plugin/src/fields.js b/packages/babel-helper-create-class-features-plugin/src/fields.js index 5c935a751352..d98a183caca8 100644 --- a/packages/babel-helper-create-class-features-plugin/src/fields.js +++ b/packages/babel-helper-create-class-features-plugin/src/fields.js @@ -806,7 +806,7 @@ export function buildFieldsInitNodes( break; case isStatic && isPrivate && isMethod && !privateFieldsAsProperties: needsClassRef = true; - staticNodes.push( + staticNodes.unshift( buildPrivateStaticFieldInitSpec(prop, privateNamesMap), ); staticNodes.unshift( @@ -819,7 +819,7 @@ export function buildFieldsInitNodes( break; case isStatic && isPrivate && isMethod && privateFieldsAsProperties: needsClassRef = true; - staticNodes.push( + staticNodes.unshift( buildPrivateStaticMethodInitLoose( t.cloneNode(ref), prop, From 6daf911648c6f442ee556b23c06cbee515f5dcba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hu=C3=A1ng=20J=C3=B9nli=C3=A0ng?= Date: Fri, 26 Feb 2021 16:52:08 -0500 Subject: [PATCH 2/3] revise test cases on the correct behavior --- .../access-before-declaration/exec.js | 29 --------------- .../exec.js | 35 +++++++++++++++++++ .../access-before-declaration/exec.js | 29 --------------- .../exec.js | 35 +++++++++++++++++++ .../access-before-declaration/exec.js | 29 --------------- .../exec.js | 35 +++++++++++++++++++ 6 files changed, 105 insertions(+), 87 deletions(-) delete mode 100644 packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-loose/access-before-declaration/exec.js create mode 100644 packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-loose/access-in-static-field-initializer/exec.js delete mode 100644 packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-privateFieldsAsProperties/access-before-declaration/exec.js create mode 100644 packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-privateFieldsAsProperties/access-in-static-field-initializer/exec.js delete mode 100644 packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/access-before-declaration/exec.js create mode 100644 packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/access-in-static-field-initializer/exec.js diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-loose/access-before-declaration/exec.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-loose/access-before-declaration/exec.js deleted file mode 100644 index 792eaa32fe41..000000000000 --- a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-loose/access-before-declaration/exec.js +++ /dev/null @@ -1,29 +0,0 @@ -expect(() => { - class C { - static #_ = new C; - static get #p() { return C }; - constructor() { - C.#p; - } - } -}).toThrow(/attempted to use private field on non-instance/); - -expect(() => { - class C { - static #_ = new C; - static set #p(v) {}; - constructor() { - C.#p = 0; - } - } -}).toThrow(/attempted to use private field on non-instance/); - -expect(() => { - class C { - static #_ = new C; - static set #p(v) {}; - constructor() { - for (C.#p of [0]); - } - } -}).toThrow(/attempted to use private field on non-instance/); diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-loose/access-in-static-field-initializer/exec.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-loose/access-in-static-field-initializer/exec.js new file mode 100644 index 000000000000..b5c8dc3918df --- /dev/null +++ b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-loose/access-in-static-field-initializer/exec.js @@ -0,0 +1,35 @@ +expect((() => { + let r; + class C { + static #_ = new C; + static get #p() { return 0 }; + constructor() { + r = C.#p; + } + } + return r; +})()).toBe(0); + +expect((() => { + let r; + class C { + static #_ = new C; + static set #p(v) { r = v; }; + constructor() { + C.#p = 0; + } + } + return r; +})()).toBe(0); + +expect((() => { + let r; + class C { + static #_ = new C; + static set #p(v) { r = v; }; + constructor() { + for (C.#p of [0]); + } + } + return r; +})()).toBe(0); diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-privateFieldsAsProperties/access-before-declaration/exec.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-privateFieldsAsProperties/access-before-declaration/exec.js deleted file mode 100644 index 792eaa32fe41..000000000000 --- a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-privateFieldsAsProperties/access-before-declaration/exec.js +++ /dev/null @@ -1,29 +0,0 @@ -expect(() => { - class C { - static #_ = new C; - static get #p() { return C }; - constructor() { - C.#p; - } - } -}).toThrow(/attempted to use private field on non-instance/); - -expect(() => { - class C { - static #_ = new C; - static set #p(v) {}; - constructor() { - C.#p = 0; - } - } -}).toThrow(/attempted to use private field on non-instance/); - -expect(() => { - class C { - static #_ = new C; - static set #p(v) {}; - constructor() { - for (C.#p of [0]); - } - } -}).toThrow(/attempted to use private field on non-instance/); diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-privateFieldsAsProperties/access-in-static-field-initializer/exec.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-privateFieldsAsProperties/access-in-static-field-initializer/exec.js new file mode 100644 index 000000000000..b5c8dc3918df --- /dev/null +++ b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-privateFieldsAsProperties/access-in-static-field-initializer/exec.js @@ -0,0 +1,35 @@ +expect((() => { + let r; + class C { + static #_ = new C; + static get #p() { return 0 }; + constructor() { + r = C.#p; + } + } + return r; +})()).toBe(0); + +expect((() => { + let r; + class C { + static #_ = new C; + static set #p(v) { r = v; }; + constructor() { + C.#p = 0; + } + } + return r; +})()).toBe(0); + +expect((() => { + let r; + class C { + static #_ = new C; + static set #p(v) { r = v; }; + constructor() { + for (C.#p of [0]); + } + } + return r; +})()).toBe(0); diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/access-before-declaration/exec.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/access-before-declaration/exec.js deleted file mode 100644 index 6555875117e7..000000000000 --- a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/access-before-declaration/exec.js +++ /dev/null @@ -1,29 +0,0 @@ -expect(() => { - class C { - static #_ = new C; - static get #p() { return C }; - constructor() { - C.#p; - } - } -}).toThrow(/attempted to get private static field before its declaration/); - -expect(() => { - class C { - static #_ = new C; - static set #p(v) {}; - constructor() { - C.#p = 0; - } - } -}).toThrow(/attempted to set private static field before its declaration/); - -expect(() => { - class C { - static #_ = new C; - static set #p(v) {}; - constructor() { - for (C.#p of [0]); - } - } -}).toThrow(/attempted to set private static field before its declaration/); diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/access-in-static-field-initializer/exec.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/access-in-static-field-initializer/exec.js new file mode 100644 index 000000000000..b5c8dc3918df --- /dev/null +++ b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/access-in-static-field-initializer/exec.js @@ -0,0 +1,35 @@ +expect((() => { + let r; + class C { + static #_ = new C; + static get #p() { return 0 }; + constructor() { + r = C.#p; + } + } + return r; +})()).toBe(0); + +expect((() => { + let r; + class C { + static #_ = new C; + static set #p(v) { r = v; }; + constructor() { + C.#p = 0; + } + } + return r; +})()).toBe(0); + +expect((() => { + let r; + class C { + static #_ = new C; + static set #p(v) { r = v; }; + constructor() { + for (C.#p of [0]); + } + } + return r; +})()).toBe(0); From 4ca3404d06d543094b0b9479fb7b3dd06ad681b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hu=C3=A1ng=20J=C3=B9nli=C3=A0ng?= Date: Fri, 26 Feb 2021 16:52:27 -0500 Subject: [PATCH 3/3] chore: update test fixtures --- .../fixtures/private-static-method-loose/this/output.js | 7 ++++--- .../this/output.js | 7 ++++--- .../test/fixtures/static-accessors-loose/basic/output.js | 8 ++++---- .../static-accessors-loose/get-only-setter/output.js | 8 ++++---- .../static-accessors-loose/set-only-getter/output.js | 8 ++++---- .../fixtures/static-accessors-loose/updates/output.js | 8 ++++---- .../basic/output.js | 8 ++++---- .../get-only-setter/output.js | 8 ++++---- .../set-only-getter/output.js | 8 ++++---- .../updates/output.js | 8 ++++---- .../test/fixtures/static-accessors/basic/output.js | 8 ++++---- .../fixtures/static-accessors/get-only-setter/output.js | 8 ++++---- .../fixtures/static-accessors/set-only-getter/output.js | 8 ++++---- .../test/fixtures/static-accessors/updates/output.js | 8 ++++---- 14 files changed, 56 insertions(+), 54 deletions(-) diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/private-static-method-loose/this/output.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/private-static-method-loose/this/output.js index 0ca80e687afd..14ebbe1ff0ea 100644 --- a/packages/babel-plugin-proposal-private-methods/test/fixtures/private-static-method-loose/this/output.js +++ b/packages/babel-plugin-proposal-private-methods/test/fixtures/private-static-method-loose/this/output.js @@ -24,6 +24,10 @@ var _getB2 = function _getB2() { return this.b; }; +Object.defineProperty(B, _getB, { + value: _getB2 +}); + var _getA2 = function _getA2() { return A.a; }; @@ -31,7 +35,4 @@ var _getA2 = function _getA2() { Object.defineProperty(B, _getA, { value: _getA2 }); -Object.defineProperty(B, _getB, { - value: _getB2 -}); var [getA, getB] = B.extract(); diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/private-static-method-privateFieldsAsProperties/this/output.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/private-static-method-privateFieldsAsProperties/this/output.js index 0d39c5bf1282..1dc2a3c09f8f 100644 --- a/packages/babel-plugin-proposal-private-methods/test/fixtures/private-static-method-privateFieldsAsProperties/this/output.js +++ b/packages/babel-plugin-proposal-private-methods/test/fixtures/private-static-method-privateFieldsAsProperties/this/output.js @@ -24,6 +24,10 @@ var _getB2 = function _getB2() { return this.b; }; +Object.defineProperty(B, _getB, { + value: _getB2 +}); + var _getA2 = function _getA2() { return babelHelpers.get(babelHelpers.getPrototypeOf(B), "a", this); }; @@ -31,7 +35,4 @@ var _getA2 = function _getA2() { Object.defineProperty(B, _getA, { value: _getA2 }); -Object.defineProperty(B, _getB, { - value: _getB2 -}); const [getA, getB] = B.extract(); diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-loose/basic/output.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-loose/basic/output.js index f9b15a52fad0..2a8caf1e7fca 100644 --- a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-loose/basic/output.js +++ b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-loose/basic/output.js @@ -21,11 +21,11 @@ var _get_privateStaticFieldValue = function () { return babelHelpers.classPrivateFieldLooseBase(Cl, _PRIVATE_STATIC_FIELD)[_PRIVATE_STATIC_FIELD]; }; -Object.defineProperty(Cl, _PRIVATE_STATIC_FIELD, { - writable: true, - value: "top secret string" -}); Object.defineProperty(Cl, _privateStaticFieldValue, { get: _get_privateStaticFieldValue, set: _set_privateStaticFieldValue }); +Object.defineProperty(Cl, _PRIVATE_STATIC_FIELD, { + writable: true, + value: "top secret string" +}); diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-loose/get-only-setter/output.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-loose/get-only-setter/output.js index 9fc34593fd65..d906744628f1 100644 --- a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-loose/get-only-setter/output.js +++ b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-loose/get-only-setter/output.js @@ -13,11 +13,11 @@ var _set_privateStaticFieldValue = function (newValue) { babelHelpers.classPrivateFieldLooseBase(Cl, _PRIVATE_STATIC_FIELD)[_PRIVATE_STATIC_FIELD] = newValue; }; -Object.defineProperty(Cl, _PRIVATE_STATIC_FIELD, { - writable: true, - value: 0 -}); Object.defineProperty(Cl, _privateStaticFieldValue, { get: void 0, set: _set_privateStaticFieldValue }); +Object.defineProperty(Cl, _PRIVATE_STATIC_FIELD, { + writable: true, + value: 0 +}); diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-loose/set-only-getter/output.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-loose/set-only-getter/output.js index 1619ba7b3755..65d4054179a3 100644 --- a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-loose/set-only-getter/output.js +++ b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-loose/set-only-getter/output.js @@ -14,12 +14,12 @@ var _get_privateFieldValue = function () { return babelHelpers.classPrivateFieldLooseBase(this, _privateField)[_privateField]; }; -Object.defineProperty(Cl, _privateField, { - writable: true, - value: 0 -}); Object.defineProperty(Cl, _privateFieldValue, { get: _get_privateFieldValue, set: void 0 }); +Object.defineProperty(Cl, _privateField, { + writable: true, + value: 0 +}); var cl = new Cl(); diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-loose/updates/output.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-loose/updates/output.js index b583424f9551..a0d3b6f81f8b 100644 --- a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-loose/updates/output.js +++ b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-loose/updates/output.js @@ -42,12 +42,12 @@ var _get_privateFieldValue = function () { return babelHelpers.classPrivateFieldLooseBase(Cl, _privateField)[_privateField]; }; +Object.defineProperty(Cl, _privateFieldValue, { + get: _get_privateFieldValue, + set: _set_privateFieldValue +}); Object.defineProperty(Cl, _privateField, { writable: true, value: "top secret string" }); Cl.publicField = "not secret string"; -Object.defineProperty(Cl, _privateFieldValue, { - get: _get_privateFieldValue, - set: _set_privateFieldValue -}); diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-privateFieldsAsProperties/basic/output.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-privateFieldsAsProperties/basic/output.js index f9b15a52fad0..2a8caf1e7fca 100644 --- a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-privateFieldsAsProperties/basic/output.js +++ b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-privateFieldsAsProperties/basic/output.js @@ -21,11 +21,11 @@ var _get_privateStaticFieldValue = function () { return babelHelpers.classPrivateFieldLooseBase(Cl, _PRIVATE_STATIC_FIELD)[_PRIVATE_STATIC_FIELD]; }; -Object.defineProperty(Cl, _PRIVATE_STATIC_FIELD, { - writable: true, - value: "top secret string" -}); Object.defineProperty(Cl, _privateStaticFieldValue, { get: _get_privateStaticFieldValue, set: _set_privateStaticFieldValue }); +Object.defineProperty(Cl, _PRIVATE_STATIC_FIELD, { + writable: true, + value: "top secret string" +}); diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-privateFieldsAsProperties/get-only-setter/output.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-privateFieldsAsProperties/get-only-setter/output.js index 9fc34593fd65..d906744628f1 100644 --- a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-privateFieldsAsProperties/get-only-setter/output.js +++ b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-privateFieldsAsProperties/get-only-setter/output.js @@ -13,11 +13,11 @@ var _set_privateStaticFieldValue = function (newValue) { babelHelpers.classPrivateFieldLooseBase(Cl, _PRIVATE_STATIC_FIELD)[_PRIVATE_STATIC_FIELD] = newValue; }; -Object.defineProperty(Cl, _PRIVATE_STATIC_FIELD, { - writable: true, - value: 0 -}); Object.defineProperty(Cl, _privateStaticFieldValue, { get: void 0, set: _set_privateStaticFieldValue }); +Object.defineProperty(Cl, _PRIVATE_STATIC_FIELD, { + writable: true, + value: 0 +}); diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-privateFieldsAsProperties/set-only-getter/output.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-privateFieldsAsProperties/set-only-getter/output.js index 5ece5975f594..a2ebe5bfad42 100644 --- a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-privateFieldsAsProperties/set-only-getter/output.js +++ b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-privateFieldsAsProperties/set-only-getter/output.js @@ -14,12 +14,12 @@ var _get_privateFieldValue = function () { return babelHelpers.classPrivateFieldLooseBase(this, _privateField)[_privateField]; }; -Object.defineProperty(Cl, _privateField, { - writable: true, - value: 0 -}); Object.defineProperty(Cl, _privateFieldValue, { get: _get_privateFieldValue, set: void 0 }); +Object.defineProperty(Cl, _privateField, { + writable: true, + value: 0 +}); const cl = new Cl(); diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-privateFieldsAsProperties/updates/output.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-privateFieldsAsProperties/updates/output.js index d9d601bd2297..26a81c480c8c 100644 --- a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-privateFieldsAsProperties/updates/output.js +++ b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors-privateFieldsAsProperties/updates/output.js @@ -42,12 +42,12 @@ var _get_privateFieldValue = function () { return babelHelpers.classPrivateFieldLooseBase(Cl, _privateField)[_privateField]; }; +Object.defineProperty(Cl, _privateFieldValue, { + get: _get_privateFieldValue, + set: _set_privateFieldValue +}); Object.defineProperty(Cl, _privateField, { writable: true, value: "top secret string" }); babelHelpers.defineProperty(Cl, "publicField", "not secret string"); -Object.defineProperty(Cl, _privateFieldValue, { - get: _get_privateFieldValue, - set: _set_privateFieldValue -}); diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/basic/output.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/basic/output.js index 7dc0b26977eb..392f438e9d0f 100644 --- a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/basic/output.js +++ b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/basic/output.js @@ -17,11 +17,11 @@ var _get_privateStaticFieldValue = function () { return babelHelpers.classStaticPrivateFieldSpecGet(Cl, Cl, _PRIVATE_STATIC_FIELD); }; -var _PRIVATE_STATIC_FIELD = { - writable: true, - value: "top secret string" -}; var _privateStaticFieldValue = { get: _get_privateStaticFieldValue, set: _set_privateStaticFieldValue }; +var _PRIVATE_STATIC_FIELD = { + writable: true, + value: "top secret string" +}; diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/get-only-setter/output.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/get-only-setter/output.js index 31c1bf46873e..90b72b273699 100644 --- a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/get-only-setter/output.js +++ b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/get-only-setter/output.js @@ -9,11 +9,11 @@ var _set_privateStaticFieldValue = function (newValue) { babelHelpers.classStaticPrivateFieldSpecSet(Cl, Cl, _PRIVATE_STATIC_FIELD, newValue); }; -var _PRIVATE_STATIC_FIELD = { - writable: true, - value: 0 -}; var _privateStaticFieldValue = { get: void 0, set: _set_privateStaticFieldValue }; +var _PRIVATE_STATIC_FIELD = { + writable: true, + value: 0 +}; diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/set-only-getter/output.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/set-only-getter/output.js index 2175a3e7662d..024f699c63e8 100644 --- a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/set-only-getter/output.js +++ b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/set-only-getter/output.js @@ -10,12 +10,12 @@ var _get_privateFieldValue = function () { return babelHelpers.classStaticPrivateFieldSpecGet(this, Cl, _privateField); }; -var _privateField = { - writable: true, - value: 0 -}; var _privateFieldValue = { get: _get_privateFieldValue, set: void 0 }; +var _privateField = { + writable: true, + value: 0 +}; var cl = new Cl(); diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/updates/output.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/updates/output.js index 1869c5b6ead8..5e94a82a58cc 100644 --- a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/updates/output.js +++ b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/updates/output.js @@ -40,12 +40,12 @@ var _get_privateFieldValue = function () { return babelHelpers.classStaticPrivateFieldSpecGet(Cl, Cl, _privateField); }; +var _privateFieldValue = { + get: _get_privateFieldValue, + set: _set_privateFieldValue +}; var _privateField = { writable: true, value: "top secret string" }; babelHelpers.defineProperty(Cl, "publicField", "not secret string"); -var _privateFieldValue = { - get: _get_privateFieldValue, - set: _set_privateFieldValue -};