Huáng Jùnliàng 70c77e550c
check descriptor before private field access (#12910)
* fix: check descriptor before private field access

* add test cases
2021-03-03 15:06:38 -05:00

30 lines
568 B
JavaScript

expect(() => {
class C {
static #_ = new C;
static #p;
constructor() {
C.#p;
}
}
}).toThrow(/attempted to get private static field before its declaration/);
expect(() => {
class C {
static #_ = new C;
static #p;
constructor() {
C.#p = 0;
}
}
}).toThrow(/attempted to set private static field before its declaration/);
expect(() => {
class C {
static #_ = new C;
static #p;
constructor() {
for (C.#p of [0]);
}
}
}).toThrow(/attempted to set private static field before its declaration/);