Files
Huáng JùnliàngandGitHub 980dcb8b01 Memoize class binding when compiling private methods and static elements (#15701)
* add test cases

* fix: memoise class binding when lowering static elements and private methods

* update test fixtures

* update test fixtures
2023-07-19 17:59:21 -04:00

31 lines
716 B
JavaScript

var _class;
class A {
static get a() {
return 1;
}
}
var _getA = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getA");
var _getB = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getB");
class B extends A {
static get b() {
return 2;
}
static extract() {
return [babelHelpers.classPrivateFieldLooseBase(this, _getA)[_getA], babelHelpers.classPrivateFieldLooseBase(this, _getB)[_getB]];
}
}
_class = B;
function _getA2() {
return babelHelpers.get(babelHelpers.getPrototypeOf(_class), "a", this);
}
function _getB2() {
return this.b;
}
Object.defineProperty(B, _getB, {
value: _getB2
});
Object.defineProperty(B, _getA, {
value: _getA2
});
const [getA, getB] = B.extract();