Stage 3 Decorators normative changes (#56955)

This commit is contained in:
Ron Buckton
2024-01-05 15:29:12 -05:00
committed by GitHub
parent b2c6a56e38
commit 5eda842be0
74 changed files with 1531 additions and 1104 deletions

View File

@@ -2183,14 +2183,6 @@ describe("unittests:: evaluation:: esDecorators", () => {
"static method extra initializer evaluation 2b",
"static method extra initializer evaluation 1a",
"static method extra initializer evaluation 1b",
"static auto-accessor extra initializer evaluation 2a",
"static auto-accessor extra initializer evaluation 2b",
"static auto-accessor extra initializer evaluation 1a",
"static auto-accessor extra initializer evaluation 1b",
"static field extra initializer evaluation 2a",
"static field extra initializer evaluation 2b",
"static field extra initializer evaluation 1a",
"static field extra initializer evaluation 1b",
// next, static initializers (i.e., fields, auto-accessors, and static blocks) are evaluated in document
// order and applied to the replacement class:
@@ -2198,9 +2190,18 @@ describe("unittests:: evaluation:: esDecorators", () => {
"static field initializer evaluation",
"static field injected initializer evaluation 1",
"static field injected initializer evaluation 2",
"static field extra initializer evaluation 2a",
"static field extra initializer evaluation 2b",
"static field extra initializer evaluation 1a",
"static field extra initializer evaluation 1b",
"static auto-accessor initializer evaluation",
"static auto-accessor injected initializer evaluation 1",
"static auto-accessor injected initializer evaluation 2",
"static auto-accessor extra initializer evaluation 2a",
"static auto-accessor extra initializer evaluation 2b",
"static auto-accessor extra initializer evaluation 1a",
"static auto-accessor extra initializer evaluation 1b",
// NOTE: at this point, static private fields will be installed (TODO: on the replacement class)
// finally, class extra initializers are applied in the order they were added (i.e., methods before fields,
@@ -2230,23 +2231,23 @@ describe("unittests:: evaluation:: esDecorators", () => {
"instance method extra initializer evaluation 2b",
"instance method extra initializer evaluation 1a",
"instance method extra initializer evaluation 1b",
"instance auto-accessor extra initializer evaluation 2a",
"instance auto-accessor extra initializer evaluation 2b",
"instance auto-accessor extra initializer evaluation 1a",
"instance auto-accessor extra initializer evaluation 1b",
"instance field extra initializer evaluation 2a",
"instance field extra initializer evaluation 2b",
"instance field extra initializer evaluation 1a",
"instance field extra initializer evaluation 1b",
// next, instance initializers (i.e., fields, auto-accessors, and static blocks) are evaluated in document
// order:
"instance field initializer evaluation",
"instance field injected initializer evaluation 1",
"instance field injected initializer evaluation 2",
"instance field extra initializer evaluation 2a",
"instance field extra initializer evaluation 2b",
"instance field extra initializer evaluation 1a",
"instance field extra initializer evaluation 1b",
"instance auto-accessor initializer evaluation",
"instance auto-accessor injected initializer evaluation 1",
"instance auto-accessor injected initializer evaluation 2",
"instance auto-accessor extra initializer evaluation 2a",
"instance auto-accessor extra initializer evaluation 2b",
"instance auto-accessor extra initializer evaluation 1a",
"instance auto-accessor extra initializer evaluation 1b",
// NOTE: at this point, instance private fields will be installed.
// finally, statements in the constructor after the call to `super()` are evaluated: