From 192c8fd4f60f5a755466c73f9156518feda7014d Mon Sep 17 00:00:00 2001 From: Rick Waldron <waldron.rick@gmail.com> Date: Tue, 31 Jul 2018 14:23:58 -0400 Subject: [PATCH] Class Fields: features corrections --- .../delete-error/cls-expr-field-delete-covered.template | 2 +- .../initializer-error/cls-decl-fields-arrow-fnc.template | 2 +- .../initializer-error/cls-decl-fields-comp-name.template | 3 ++- .../initializer-error/cls-decl-fields-equality.template | 1 + .../cls-decl-fields-literal-name.template | 1 + .../cls-decl-fields-static-comp-name.template | 1 + .../cls-decl-fields-static-literal-name.template | 1 + .../cls-decl-fields-static-private-name.template | 1 + .../cls-decl-fields-static-string-literal-name.template | 1 + .../cls-decl-fields-string-literal-name.template | 1 + .../initializer-error/cls-decl-fields-ternary.template | 1 + .../initializer-error/cls-decl-fields-typeof.template | 1 + .../initializer-error/cls-expr-fields-arrow-fnc.template | 2 +- .../initializer-error/cls-expr-fields-comp-name.template | 1 + .../initializer-error/cls-expr-fields-equality.template | 1 + .../cls-expr-fields-literal-name.template | 1 + .../cls-expr-fields-static-comp-name.template | 1 + .../cls-expr-fields-static-literal-name.template | 1 + .../cls-expr-fields-static-private-name.template | 1 + .../cls-expr-fields-static-string-literal-name.template | 1 + .../cls-expr-fields-string-literal-name.template | 1 + .../initializer-error/cls-expr-fields-ternary.template | 1 + .../initializer-error/cls-expr-fields-typeof.template | 1 + .../cls-decl-fields-eval.template | 1 + .../cls-decl-fields-indirect-eval.template | 1 + .../cls-expr-fields-eval.template | 1 + .../cls-expr-fields-indirect-eval.template | 1 + .../cls-decl-fields-eval.template | 1 + .../cls-decl-fields-indirect-eval.template | 1 + .../cls-expr-fields-eval.template | 1 + .../cls-expr-fields-indirect-eval.template | 1 + .../cls-decl-fields-eval.template | 3 +-- .../cls-decl-fields-indirect-eval.template | 3 +-- .../cls-expr-fields-eval.template | 3 +-- .../cls-expr-fields-indirect-eval.template | 3 +-- .../cls-decl-fields-eval.template | 3 +-- .../cls-decl-fields-indirect-eval.template | 3 +-- .../cls-expr-fields-eval.template | 5 ++--- .../cls-expr-fields-indirect-eval.template | 5 ++--- .../initializer-eval-super/cls-decl-fields-eval.template | 6 +++--- .../cls-decl-fields-indirect-eval.template | 3 ++- .../initializer-eval-super/cls-expr-fields-eval.template | 8 ++++---- .../cls-expr-fields-indirect-eval.template | 8 ++++---- .../initializer-eval/cls-decl-fields-eval.template | 3 ++- .../cls-decl-fields-indirect-eval.template | 3 ++- .../initializer-eval/cls-expr-fields-eval.template | 3 ++- .../cls-expr-fields-indirect-eval.template | 5 +++-- 47 files changed, 64 insertions(+), 39 deletions(-) diff --git a/src/class-fields/delete-error/cls-expr-field-delete-covered.template b/src/class-fields/delete-error/cls-expr-field-delete-covered.template index 776e068cb7..9e78934009 100644 --- a/src/class-fields/delete-error/cls-expr-field-delete-covered.template +++ b/src/class-fields/delete-error/cls-expr-field-delete-covered.template @@ -13,7 +13,7 @@ info: | It is a Syntax Error if the UnaryExpression is contained in strict mode code and the derived UnaryExpression is PrimaryExpression : IdentifierReference , MemberExpression : MemberExpression.PrivateName , or CallExpression : CallExpression.PrivateName . It is a Syntax Error if the derived UnaryExpression is PrimaryExpression : CoverParenthesizedExpressionAndArrowParameterList and CoverParenthesizedExpressionAndArrowParameterList ultimately derives a phrase that, if used in place of UnaryExpression, would produce a Syntax Error according to these rules. This rule is recursively applied. -features: [class, class-fields-private] +features: [class, class-fields-private, class-fields-public] negative: type: SyntaxError phase: parse diff --git a/src/class-fields/initializer-error/cls-decl-fields-arrow-fnc.template b/src/class-fields/initializer-error/cls-decl-fields-arrow-fnc.template index 308297a34a..023d337475 100644 --- a/src/class-fields/initializer-error/cls-decl-fields-arrow-fnc.template +++ b/src/class-fields/initializer-error/cls-decl-fields-arrow-fnc.template @@ -5,7 +5,7 @@ esid: sec-class-definitions-static-semantics-early-errors path: language/statements/class/fields-arrow-fnc- name: arrow function expression -features: [arrow-function] +features: [arrow-function, class-fields-public] ---*/ throw "Test262: This statement should not be evaluated."; diff --git a/src/class-fields/initializer-error/cls-decl-fields-comp-name.template b/src/class-fields/initializer-error/cls-decl-fields-comp-name.template index a922c25b80..0bdf663715 100644 --- a/src/class-fields/initializer-error/cls-decl-fields-comp-name.template +++ b/src/class-fields/initializer-error/cls-decl-fields-comp-name.template @@ -5,11 +5,12 @@ esid: sec-class-definitions-static-semantics-early-errors path: language/statements/class/fields-comp-name- name: computed ClassElementName +features: [class, class-fields-public] ---*/ throw "Test262: This statement should not be evaluated."; var x = "string"; class C { - static [x] = /*{ initializer }*/; + [x] = /*{ initializer }*/; } diff --git a/src/class-fields/initializer-error/cls-decl-fields-equality.template b/src/class-fields/initializer-error/cls-decl-fields-equality.template index 0e5b643e11..7db487e9c2 100644 --- a/src/class-fields/initializer-error/cls-decl-fields-equality.template +++ b/src/class-fields/initializer-error/cls-decl-fields-equality.template @@ -5,6 +5,7 @@ esid: sec-class-definitions-static-semantics-early-errors path: language/statements/class/fields-equality- name: equality expression +features: [class, class-fields-public] ---*/ throw "Test262: This statement should not be evaluated."; diff --git a/src/class-fields/initializer-error/cls-decl-fields-literal-name.template b/src/class-fields/initializer-error/cls-decl-fields-literal-name.template index 62060229fa..81cfb27add 100644 --- a/src/class-fields/initializer-error/cls-decl-fields-literal-name.template +++ b/src/class-fields/initializer-error/cls-decl-fields-literal-name.template @@ -5,6 +5,7 @@ esid: sec-class-definitions-static-semantics-early-errors path: language/statements/class/fields-literal-name- name: literal ClassElementName +features: [class, class-fields-public] ---*/ throw "Test262: This statement should not be evaluated."; diff --git a/src/class-fields/initializer-error/cls-decl-fields-static-comp-name.template b/src/class-fields/initializer-error/cls-decl-fields-static-comp-name.template index b4eb238479..fe3e30a682 100644 --- a/src/class-fields/initializer-error/cls-decl-fields-static-comp-name.template +++ b/src/class-fields/initializer-error/cls-decl-fields-static-comp-name.template @@ -5,6 +5,7 @@ esid: sec-class-definitions-static-semantics-early-errors path: language/statements/class/fields-static-comp-name- name: static computed ClassElementName +features: [class, class-static-fields-public] ---*/ throw "Test262: This statement should not be evaluated."; diff --git a/src/class-fields/initializer-error/cls-decl-fields-static-literal-name.template b/src/class-fields/initializer-error/cls-decl-fields-static-literal-name.template index 335d76793f..87b8ad64cf 100644 --- a/src/class-fields/initializer-error/cls-decl-fields-static-literal-name.template +++ b/src/class-fields/initializer-error/cls-decl-fields-static-literal-name.template @@ -5,6 +5,7 @@ esid: sec-class-definitions-static-semantics-early-errors path: language/statements/class/fields-static-literal- name: static literal ClassElementName +features: [class, class-static-fields-public] ---*/ throw "Test262: This statement should not be evaluated."; diff --git a/src/class-fields/initializer-error/cls-decl-fields-static-private-name.template b/src/class-fields/initializer-error/cls-decl-fields-static-private-name.template index c50194b6a5..101b1213f1 100644 --- a/src/class-fields/initializer-error/cls-decl-fields-static-private-name.template +++ b/src/class-fields/initializer-error/cls-decl-fields-static-private-name.template @@ -5,6 +5,7 @@ esid: sec-class-definitions-static-semantics-early-errors path: language/statements/class/fields-static-private- name: static PrivateName +features: [class, class-static-fields-private] ---*/ throw "Test262: This statement should not be evaluated."; diff --git a/src/class-fields/initializer-error/cls-decl-fields-static-string-literal-name.template b/src/class-fields/initializer-error/cls-decl-fields-static-string-literal-name.template index 5fd801e187..041e2add89 100644 --- a/src/class-fields/initializer-error/cls-decl-fields-static-string-literal-name.template +++ b/src/class-fields/initializer-error/cls-decl-fields-static-string-literal-name.template @@ -5,6 +5,7 @@ esid: sec-class-definitions-static-semantics-early-errors path: language/statements/class/fields-static-string-literal-name- name: static string literal ClassElementName +features: [class, class-static-fields-public] ---*/ throw "Test262: This statement should not be evaluated."; diff --git a/src/class-fields/initializer-error/cls-decl-fields-string-literal-name.template b/src/class-fields/initializer-error/cls-decl-fields-string-literal-name.template index b76e487109..61fa803204 100644 --- a/src/class-fields/initializer-error/cls-decl-fields-string-literal-name.template +++ b/src/class-fields/initializer-error/cls-decl-fields-string-literal-name.template @@ -5,6 +5,7 @@ esid: sec-class-definitions-static-semantics-early-errors path: language/statements/class/fields-string-literal-name- name: string literal ClassElementName +features: [class, class-fields-public] ---*/ throw "Test262: This statement should not be evaluated."; diff --git a/src/class-fields/initializer-error/cls-decl-fields-ternary.template b/src/class-fields/initializer-error/cls-decl-fields-ternary.template index db729e59c8..400753f2d0 100644 --- a/src/class-fields/initializer-error/cls-decl-fields-ternary.template +++ b/src/class-fields/initializer-error/cls-decl-fields-ternary.template @@ -5,6 +5,7 @@ esid: sec-class-definitions-static-semantics-early-errors path: language/statements/class/fields-ternary- name: ternary expression +features: [class, class-fields-public] ---*/ throw "Test262: This statement should not be evaluated."; diff --git a/src/class-fields/initializer-error/cls-decl-fields-typeof.template b/src/class-fields/initializer-error/cls-decl-fields-typeof.template index 86f5598b3b..a634372c0c 100644 --- a/src/class-fields/initializer-error/cls-decl-fields-typeof.template +++ b/src/class-fields/initializer-error/cls-decl-fields-typeof.template @@ -5,6 +5,7 @@ esid: sec-class-definitions-static-semantics-early-errors path: language/statements/class/fields-typeof- name: typeof expression +features: [class, class-fields-public] ---*/ throw "Test262: This statement should not be evaluated."; diff --git a/src/class-fields/initializer-error/cls-expr-fields-arrow-fnc.template b/src/class-fields/initializer-error/cls-expr-fields-arrow-fnc.template index 0f20b4d9f8..1a2ad62b29 100644 --- a/src/class-fields/initializer-error/cls-expr-fields-arrow-fnc.template +++ b/src/class-fields/initializer-error/cls-expr-fields-arrow-fnc.template @@ -5,7 +5,7 @@ esid: sec-class-definitions-static-semantics-early-errors path: language/expressions/class/fields-arrow-fnc- name: arrow function expression -features: [arrow-function] +features: [arrow-function, class, class-fields-public] ---*/ throw "Test262: This statement should not be evaluated."; diff --git a/src/class-fields/initializer-error/cls-expr-fields-comp-name.template b/src/class-fields/initializer-error/cls-expr-fields-comp-name.template index fea438412f..a9e1c2bfc4 100644 --- a/src/class-fields/initializer-error/cls-expr-fields-comp-name.template +++ b/src/class-fields/initializer-error/cls-expr-fields-comp-name.template @@ -5,6 +5,7 @@ esid: sec-class-definitions-static-semantics-early-errors path: language/expressions/class/fields-comp-name- name: computed ClassElementName +features: [class, class-fields-public] ---*/ throw "Test262: This statement should not be evaluated."; diff --git a/src/class-fields/initializer-error/cls-expr-fields-equality.template b/src/class-fields/initializer-error/cls-expr-fields-equality.template index 2946f8004d..6f393cc360 100644 --- a/src/class-fields/initializer-error/cls-expr-fields-equality.template +++ b/src/class-fields/initializer-error/cls-expr-fields-equality.template @@ -5,6 +5,7 @@ esid: sec-class-definitions-static-semantics-early-errors path: language/expressions/class/fields-equality- name: equality expression +features: [class, class-fields-public] ---*/ throw "Test262: This statement should not be evaluated."; diff --git a/src/class-fields/initializer-error/cls-expr-fields-literal-name.template b/src/class-fields/initializer-error/cls-expr-fields-literal-name.template index 891e285274..98250305d8 100644 --- a/src/class-fields/initializer-error/cls-expr-fields-literal-name.template +++ b/src/class-fields/initializer-error/cls-expr-fields-literal-name.template @@ -5,6 +5,7 @@ esid: sec-class-definitions-static-semantics-early-errors path: language/expressions/class/fields-literal-name- name: literal ClassElementName +features: [class, class-fields-public] ---*/ throw "Test262: This statement should not be evaluated."; diff --git a/src/class-fields/initializer-error/cls-expr-fields-static-comp-name.template b/src/class-fields/initializer-error/cls-expr-fields-static-comp-name.template index cb44207f4e..2ad6b7b348 100644 --- a/src/class-fields/initializer-error/cls-expr-fields-static-comp-name.template +++ b/src/class-fields/initializer-error/cls-expr-fields-static-comp-name.template @@ -5,6 +5,7 @@ esid: sec-class-definitions-static-semantics-early-errors path: language/expressions/class/fields-static-comp-name- name: static computed ClassElementName +features: [class, class-static-fields-public] ---*/ throw "Test262: This statement should not be evaluated."; diff --git a/src/class-fields/initializer-error/cls-expr-fields-static-literal-name.template b/src/class-fields/initializer-error/cls-expr-fields-static-literal-name.template index 0a840e01ef..57d2960335 100644 --- a/src/class-fields/initializer-error/cls-expr-fields-static-literal-name.template +++ b/src/class-fields/initializer-error/cls-expr-fields-static-literal-name.template @@ -5,6 +5,7 @@ esid: sec-class-definitions-static-semantics-early-errors path: language/expressions/class/fields-static-literal- name: static literal ClassElementName +features: [class, class-static-fields-public] ---*/ throw "Test262: This statement should not be evaluated."; diff --git a/src/class-fields/initializer-error/cls-expr-fields-static-private-name.template b/src/class-fields/initializer-error/cls-expr-fields-static-private-name.template index 0d3c770f9b..794d6bf6e9 100644 --- a/src/class-fields/initializer-error/cls-expr-fields-static-private-name.template +++ b/src/class-fields/initializer-error/cls-expr-fields-static-private-name.template @@ -5,6 +5,7 @@ esid: sec-class-definitions-static-semantics-early-errors path: language/expressions/class/fields-static-private- name: static PrivateName +features: [class, class-static-fields-private] ---*/ throw "Test262: This statement should not be evaluated."; diff --git a/src/class-fields/initializer-error/cls-expr-fields-static-string-literal-name.template b/src/class-fields/initializer-error/cls-expr-fields-static-string-literal-name.template index deed9b15e3..0604760524 100644 --- a/src/class-fields/initializer-error/cls-expr-fields-static-string-literal-name.template +++ b/src/class-fields/initializer-error/cls-expr-fields-static-string-literal-name.template @@ -5,6 +5,7 @@ esid: sec-class-definitions-static-semantics-early-errors path: language/expressions/class/fields-static-string-literal-name- name: static string literal ClassElementName +features: [class, class-static-fields-public] ---*/ throw "Test262: This statement should not be evaluated."; diff --git a/src/class-fields/initializer-error/cls-expr-fields-string-literal-name.template b/src/class-fields/initializer-error/cls-expr-fields-string-literal-name.template index 1325036c0c..ebe9845376 100644 --- a/src/class-fields/initializer-error/cls-expr-fields-string-literal-name.template +++ b/src/class-fields/initializer-error/cls-expr-fields-string-literal-name.template @@ -5,6 +5,7 @@ esid: sec-class-definitions-static-semantics-early-errors path: language/expressions/class/fields-string-literal-name- name: string literal ClassElementName +features: [class, class-fields-public] ---*/ throw "Test262: This statement should not be evaluated."; diff --git a/src/class-fields/initializer-error/cls-expr-fields-ternary.template b/src/class-fields/initializer-error/cls-expr-fields-ternary.template index 8dd67bed29..0abd1e4747 100644 --- a/src/class-fields/initializer-error/cls-expr-fields-ternary.template +++ b/src/class-fields/initializer-error/cls-expr-fields-ternary.template @@ -5,6 +5,7 @@ esid: sec-class-definitions-static-semantics-early-errors path: language/expressions/class/fields-ternary- name: ternary expression +features: [class, class-fields-public] ---*/ throw "Test262: This statement should not be evaluated."; diff --git a/src/class-fields/initializer-error/cls-expr-fields-typeof.template b/src/class-fields/initializer-error/cls-expr-fields-typeof.template index ec75561623..51f54036a8 100644 --- a/src/class-fields/initializer-error/cls-expr-fields-typeof.template +++ b/src/class-fields/initializer-error/cls-expr-fields-typeof.template @@ -5,6 +5,7 @@ esid: sec-class-definitions-static-semantics-early-errors path: language/expressions/class/fields-typeof- name: typeof expression +features: [class, class-fields-public] ---*/ throw "Test262: This statement should not be evaluated."; diff --git a/src/class-fields/initializer-eval-arguments/cls-decl-fields-eval.template b/src/class-fields/initializer-eval-arguments/cls-decl-fields-eval.template index f75aa39e08..90859a8a9a 100644 --- a/src/class-fields/initializer-eval-arguments/cls-decl-fields-eval.template +++ b/src/class-fields/initializer-eval-arguments/cls-decl-fields-eval.template @@ -5,6 +5,7 @@ esid: sec-performeval-rules-in-initializer path: language/statements/class/fields-direct- name: direct eval +features: [class, class-fields-public] ---*/ var executed = false; diff --git a/src/class-fields/initializer-eval-arguments/cls-decl-fields-indirect-eval.template b/src/class-fields/initializer-eval-arguments/cls-decl-fields-indirect-eval.template index 0b795b6e7f..b08b5ee379 100644 --- a/src/class-fields/initializer-eval-arguments/cls-decl-fields-indirect-eval.template +++ b/src/class-fields/initializer-eval-arguments/cls-decl-fields-indirect-eval.template @@ -5,6 +5,7 @@ esid: sec-performeval-rules-in-initializer path: language/statements/class/fields-indirect- name: indirect eval +features: [class, class-fields-public] ---*/ var executed = false; diff --git a/src/class-fields/initializer-eval-arguments/cls-expr-fields-eval.template b/src/class-fields/initializer-eval-arguments/cls-expr-fields-eval.template index a8acc6317b..6afff75bc9 100644 --- a/src/class-fields/initializer-eval-arguments/cls-expr-fields-eval.template +++ b/src/class-fields/initializer-eval-arguments/cls-expr-fields-eval.template @@ -5,6 +5,7 @@ esid: sec-performeval-rules-in-initializer path: language/expressions/class/fields-direct- name: direct eval +features: [class, class-fields-public] ---*/ var executed = false; diff --git a/src/class-fields/initializer-eval-arguments/cls-expr-fields-indirect-eval.template b/src/class-fields/initializer-eval-arguments/cls-expr-fields-indirect-eval.template index 8a37149a33..d6064ff6cb 100644 --- a/src/class-fields/initializer-eval-arguments/cls-expr-fields-indirect-eval.template +++ b/src/class-fields/initializer-eval-arguments/cls-expr-fields-indirect-eval.template @@ -5,6 +5,7 @@ esid: sec-performeval-rules-in-initializer path: language/expressions/class/fields-indirect- name: indirect eval +features: [class, class-fields-public] ---*/ var executed = false; diff --git a/src/class-fields/initializer-eval-newtarget/cls-decl-fields-eval.template b/src/class-fields/initializer-eval-newtarget/cls-decl-fields-eval.template index 8ef1ea4d36..fce4c331aa 100644 --- a/src/class-fields/initializer-eval-newtarget/cls-decl-fields-eval.template +++ b/src/class-fields/initializer-eval-newtarget/cls-decl-fields-eval.template @@ -5,6 +5,7 @@ esid: sec-performeval-rules-in-initializer path: language/statements/class/fields-direct- name: direct eval +features: [class, class-fields-public] ---*/ var executed = false; diff --git a/src/class-fields/initializer-eval-newtarget/cls-decl-fields-indirect-eval.template b/src/class-fields/initializer-eval-newtarget/cls-decl-fields-indirect-eval.template index ee4630ca19..57db803472 100644 --- a/src/class-fields/initializer-eval-newtarget/cls-decl-fields-indirect-eval.template +++ b/src/class-fields/initializer-eval-newtarget/cls-decl-fields-indirect-eval.template @@ -5,6 +5,7 @@ esid: sec-performeval-rules-in-initializer path: language/statements/class/fields-indirect- name: indirect eval +features: [class, class-fields-public] ---*/ var executed = false; diff --git a/src/class-fields/initializer-eval-newtarget/cls-expr-fields-eval.template b/src/class-fields/initializer-eval-newtarget/cls-expr-fields-eval.template index 1c6b4b438b..bdadf99c0b 100644 --- a/src/class-fields/initializer-eval-newtarget/cls-expr-fields-eval.template +++ b/src/class-fields/initializer-eval-newtarget/cls-expr-fields-eval.template @@ -5,6 +5,7 @@ esid: sec-performeval-rules-in-initializer path: language/expressions/class/fields-direct- name: direct eval +features: [class, class-fields-public] ---*/ var executed = false; diff --git a/src/class-fields/initializer-eval-newtarget/cls-expr-fields-indirect-eval.template b/src/class-fields/initializer-eval-newtarget/cls-expr-fields-indirect-eval.template index 1c8bbf5979..0acfccf7df 100644 --- a/src/class-fields/initializer-eval-newtarget/cls-expr-fields-indirect-eval.template +++ b/src/class-fields/initializer-eval-newtarget/cls-expr-fields-indirect-eval.template @@ -5,6 +5,7 @@ esid: sec-performeval-rules-in-initializer path: language/expressions/class/fields-indirect- name: indirect eval +features: [class, class-fields-public] ---*/ var executed = false; diff --git a/src/class-fields/initializer-eval-super-call/cls-decl-fields-eval.template b/src/class-fields/initializer-eval-super-call/cls-decl-fields-eval.template index 8ec98eac91..53579b49d3 100644 --- a/src/class-fields/initializer-eval-super-call/cls-decl-fields-eval.template +++ b/src/class-fields/initializer-eval-super-call/cls-decl-fields-eval.template @@ -7,9 +7,8 @@ path: language/statements/class/fields-derived-cls-direct- name: direct eval ---*/ -class A {} - var executed = false; +class A {} class C extends A { x = eval('executed = true; /*{ initializer }*/;'); } diff --git a/src/class-fields/initializer-eval-super-call/cls-decl-fields-indirect-eval.template b/src/class-fields/initializer-eval-super-call/cls-decl-fields-indirect-eval.template index 0f9a97c6eb..ad0bf241de 100644 --- a/src/class-fields/initializer-eval-super-call/cls-decl-fields-indirect-eval.template +++ b/src/class-fields/initializer-eval-super-call/cls-decl-fields-indirect-eval.template @@ -7,9 +7,8 @@ path: language/statements/class/fields-derived-cls-indirect- name: indirect eval ---*/ -class A {} - var executed = false; +class A {} class C extends A { x = (0, eval)('executed = true; /*{ initializer }*/;'); } diff --git a/src/class-fields/initializer-eval-super-call/cls-expr-fields-eval.template b/src/class-fields/initializer-eval-super-call/cls-expr-fields-eval.template index 65ab9d8dbd..1c9716a7a9 100644 --- a/src/class-fields/initializer-eval-super-call/cls-expr-fields-eval.template +++ b/src/class-fields/initializer-eval-super-call/cls-expr-fields-eval.template @@ -7,9 +7,8 @@ path: language/expressions/class/fields-derived-cls-direct- name: direct eval ---*/ -var A = class {} - var executed = false; +var A = class {} var C = class extends A { x = eval('executed = true; /*{ initializer }*/;'); } diff --git a/src/class-fields/initializer-eval-super-call/cls-expr-fields-indirect-eval.template b/src/class-fields/initializer-eval-super-call/cls-expr-fields-indirect-eval.template index 83415b3df4..28f8bfe58b 100644 --- a/src/class-fields/initializer-eval-super-call/cls-expr-fields-indirect-eval.template +++ b/src/class-fields/initializer-eval-super-call/cls-expr-fields-indirect-eval.template @@ -7,9 +7,8 @@ path: language/expressions/class/fields-derived-cls-indirect- name: indirect eval ---*/ -var A = class {} - var executed = false; +var A = class {} var C = class extends A { x = (0, eval)('executed = true; /*{ initializer }*/;'); } diff --git a/src/class-fields/initializer-eval-super-property/cls-decl-fields-eval.template b/src/class-fields/initializer-eval-super-property/cls-decl-fields-eval.template index a994b1e45c..52b0180ab8 100644 --- a/src/class-fields/initializer-eval-super-property/cls-decl-fields-eval.template +++ b/src/class-fields/initializer-eval-super-property/cls-decl-fields-eval.template @@ -7,9 +7,8 @@ path: language/statements/class/fields-derived-cls-direct- name: direct eval ---*/ -class A {} - var executed = false; +class A {} class C extends A { x = eval('executed = true; /*{ initializer }*/;'); } diff --git a/src/class-fields/initializer-eval-super-property/cls-decl-fields-indirect-eval.template b/src/class-fields/initializer-eval-super-property/cls-decl-fields-indirect-eval.template index 0f9a97c6eb..ad0bf241de 100644 --- a/src/class-fields/initializer-eval-super-property/cls-decl-fields-indirect-eval.template +++ b/src/class-fields/initializer-eval-super-property/cls-decl-fields-indirect-eval.template @@ -7,9 +7,8 @@ path: language/statements/class/fields-derived-cls-indirect- name: indirect eval ---*/ -class A {} - var executed = false; +class A {} class C extends A { x = (0, eval)('executed = true; /*{ initializer }*/;'); } diff --git a/src/class-fields/initializer-eval-super-property/cls-expr-fields-eval.template b/src/class-fields/initializer-eval-super-property/cls-expr-fields-eval.template index b7ca546beb..61bb0eeb75 100644 --- a/src/class-fields/initializer-eval-super-property/cls-expr-fields-eval.template +++ b/src/class-fields/initializer-eval-super-property/cls-expr-fields-eval.template @@ -7,12 +7,11 @@ path: language/expressions/class/fields-derived-cls-direct- name: direct eval ---*/ -var A = class {} - var executed = false; +var A = class {} var C = class extends A { x = eval('executed = true; /*{ initializer }*/;'); -} +}; new C(); diff --git a/src/class-fields/initializer-eval-super-property/cls-expr-fields-indirect-eval.template b/src/class-fields/initializer-eval-super-property/cls-expr-fields-indirect-eval.template index 83415b3df4..02db8f40f1 100644 --- a/src/class-fields/initializer-eval-super-property/cls-expr-fields-indirect-eval.template +++ b/src/class-fields/initializer-eval-super-property/cls-expr-fields-indirect-eval.template @@ -7,12 +7,11 @@ path: language/expressions/class/fields-derived-cls-indirect- name: indirect eval ---*/ -var A = class {} - var executed = false; +var A = class {} var C = class extends A { x = (0, eval)('executed = true; /*{ initializer }*/;'); -} +}; assert.throws(SyntaxError, function() { new C(); diff --git a/src/class-fields/initializer-eval-super/cls-decl-fields-eval.template b/src/class-fields/initializer-eval-super/cls-decl-fields-eval.template index 101cf30b38..9c94c4f969 100644 --- a/src/class-fields/initializer-eval-super/cls-decl-fields-eval.template +++ b/src/class-fields/initializer-eval-super/cls-decl-fields-eval.template @@ -5,12 +5,12 @@ esid: sec-performeval-rules-in-initializer path: language/statements/class/fields-derived-cls-direct- name: direct eval +features: [class, class-fields-public] ---*/ -class A = {} - var executed = false; -class C extends A = { +class A = {} +class C extends A { x = eval('executed = true; /*{ initializer }*/;'; } diff --git a/src/class-fields/initializer-eval-super/cls-decl-fields-indirect-eval.template b/src/class-fields/initializer-eval-super/cls-decl-fields-indirect-eval.template index 9d77186bf2..98200556b6 100644 --- a/src/class-fields/initializer-eval-super/cls-decl-fields-indirect-eval.template +++ b/src/class-fields/initializer-eval-super/cls-decl-fields-indirect-eval.template @@ -5,12 +5,13 @@ esid: sec-performeval-rules-in-initializer path: language/statements/class/fields-derived-cls-indirect- name: indirect eval +features: [class, class-fields-public] ---*/ class A = {} var executed = false; -class C extends A = { +class C extends A { x = (0, eval)('executed = true; /*{ initializer }*/;'; } diff --git a/src/class-fields/initializer-eval-super/cls-expr-fields-eval.template b/src/class-fields/initializer-eval-super/cls-expr-fields-eval.template index 39597e8807..83a2632f7b 100644 --- a/src/class-fields/initializer-eval-super/cls-expr-fields-eval.template +++ b/src/class-fields/initializer-eval-super/cls-expr-fields-eval.template @@ -5,14 +5,14 @@ esid: sec-performeval-rules-in-initializer path: language/expressions/class/fields-derived-cls-direct- name: direct eval +features: [class, class-fields-public] ---*/ -A = class {} - var executed = false; -C = class extends A { +var A = class {} +var C = class extends A { x = eval('executed = true; /*{ initializer }*/;'; -} +}; assert.throws(/*{ earlyerror }*/, function() { new C(); diff --git a/src/class-fields/initializer-eval-super/cls-expr-fields-indirect-eval.template b/src/class-fields/initializer-eval-super/cls-expr-fields-indirect-eval.template index 86db54edbc..2af99eb271 100644 --- a/src/class-fields/initializer-eval-super/cls-expr-fields-indirect-eval.template +++ b/src/class-fields/initializer-eval-super/cls-expr-fields-indirect-eval.template @@ -5,14 +5,14 @@ esid: sec-performeval-rules-in-initializer path: language/expressions/class/fields-derived-cls-indirect- name: indirect eval +features: [class, class-fields-public] ---*/ -A = class {} - var executed = false; -C = class extends A { +var A = class {} +var C = class extends A { x = (0, eval)('executed = true; /*{ initializer }*/;'; -} +}; assert.throws(/*{ executionerror }*/, function() { new C(); diff --git a/src/class-fields/initializer-eval/cls-decl-fields-eval.template b/src/class-fields/initializer-eval/cls-decl-fields-eval.template index ed721afebe..90859a8a9a 100644 --- a/src/class-fields/initializer-eval/cls-decl-fields-eval.template +++ b/src/class-fields/initializer-eval/cls-decl-fields-eval.template @@ -5,10 +5,11 @@ esid: sec-performeval-rules-in-initializer path: language/statements/class/fields-direct- name: direct eval +features: [class, class-fields-public] ---*/ var executed = false; -class C = { +class C { x = eval('executed = true; /*{ initializer }*/;'); } diff --git a/src/class-fields/initializer-eval/cls-decl-fields-indirect-eval.template b/src/class-fields/initializer-eval/cls-decl-fields-indirect-eval.template index 11aa34d0da..b08b5ee379 100644 --- a/src/class-fields/initializer-eval/cls-decl-fields-indirect-eval.template +++ b/src/class-fields/initializer-eval/cls-decl-fields-indirect-eval.template @@ -5,10 +5,11 @@ esid: sec-performeval-rules-in-initializer path: language/statements/class/fields-indirect- name: indirect eval +features: [class, class-fields-public] ---*/ var executed = false; -class C = { +class C { x = (0, eval)('executed = true; /*{ initializer }*/;'); } diff --git a/src/class-fields/initializer-eval/cls-expr-fields-eval.template b/src/class-fields/initializer-eval/cls-expr-fields-eval.template index 9915d0d098..6afff75bc9 100644 --- a/src/class-fields/initializer-eval/cls-expr-fields-eval.template +++ b/src/class-fields/initializer-eval/cls-expr-fields-eval.template @@ -5,10 +5,11 @@ esid: sec-performeval-rules-in-initializer path: language/expressions/class/fields-direct- name: direct eval +features: [class, class-fields-public] ---*/ var executed = false; -C = class { +var C = class { x = eval('executed = true; /*{ initializer }*/;'); } diff --git a/src/class-fields/initializer-eval/cls-expr-fields-indirect-eval.template b/src/class-fields/initializer-eval/cls-expr-fields-indirect-eval.template index d04a83dfb9..2716c4ace7 100644 --- a/src/class-fields/initializer-eval/cls-expr-fields-indirect-eval.template +++ b/src/class-fields/initializer-eval/cls-expr-fields-indirect-eval.template @@ -5,12 +5,13 @@ esid: sec-performeval-rules-in-initializer path: language/expressions/class/fields-indirect- name: indirect eval +features: [class, class-fields-public] ---*/ var executed = false; -C = class { +var C = class { x = (0, eval)('executed = true; /*{ initializer }*/;'); -} +}; assert.throws(/*{ executionerror }*/, function() { new C(); -- GitLab