Robin Ricard fb66fa6f90 Private Static Fields Features: Stage 3 (#8205)
* Private Static Class Fields Implementation

* Redo testing without class transform for static private

* Add a call() test for private static

* Use Object.defineProperty in loose mode
2018-09-01 00:42:18 -04:00

36 lines
868 B
JavaScript

class Base {
static getThis() {
return babelHelpers.classStaticPrivateFieldSpecGet(this, Base, _BaseStatics, "foo");
}
static updateThis(val) {
return babelHelpers.classStaticPrivateFieldSpecSet(this, Base, _BaseStatics, "foo", val);
}
static getClass() {
return babelHelpers.classStaticPrivateFieldSpecGet(Base, Base, _BaseStatics, "foo");
}
static updateClass(val) {
return babelHelpers.classStaticPrivateFieldSpecSet(Base, Base, _BaseStatics, "foo", val);
}
}
var _BaseStatics = Object.create(null);
babelHelpers.defineProperty(_BaseStatics, "foo", 1);
class Sub1 extends Base {
static update(val) {
return babelHelpers.classStaticPrivateFieldSpecSet(this, Sub1, _Sub1Statics, "foo", val);
}
}
var _Sub1Statics = Object.create(null);
babelHelpers.defineProperty(_Sub1Statics, "foo", 2);
class Sub2 extends Base {}