mirror of https://github.com/tc39/test262.git
Fixup class names in class decorator private identifier tests.
For the statement level test, the inner class name is not initialized at the time the decorators evaluate, resulting in a ReferenceError that the declaration can not be accessed prior to initialization. Similar, non-decorator code, like: class C { static dec() {} static { this.x = C.dec(); class C {} } } also results in a ReferenceError. For the expression level test, the var C is undefined at the time the decorators are evaluated, resulting in TypeError while trying to access a member of undefined. Similar, non-decorator code, like: var C = class { static f() {}; static { this.x = C.f(); } } also results in a TypeError.
This commit is contained in:
parent
dceb204259
commit
581de2d0f8
|
@ -32,7 +32,7 @@ info: |
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
|
||||||
var C = class {
|
class C {
|
||||||
static #$() {}
|
static #$() {}
|
||||||
static #_() {}
|
static #_() {}
|
||||||
static #\u{6F}() {}
|
static #\u{6F}() {}
|
||||||
|
@ -43,7 +43,7 @@ var C = class {
|
||||||
static #await() {}
|
static #await() {}
|
||||||
|
|
||||||
static {
|
static {
|
||||||
var C = @C.#$
|
var D = @C.#$
|
||||||
@C.#_
|
@C.#_
|
||||||
@C.#\u{6F}
|
@C.#\u{6F}
|
||||||
@C.#\u2118
|
@C.#\u2118
|
||||||
|
|
|
@ -51,6 +51,6 @@ class C {
|
||||||
@C.#ZW_\u200C_NJ
|
@C.#ZW_\u200C_NJ
|
||||||
@C.#ZW_\u200D_J
|
@C.#ZW_\u200D_J
|
||||||
@C.#yield
|
@C.#yield
|
||||||
@C.#await class C {}
|
@C.#await class D {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue