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 776e068cb77cabf6c9feaf9f75a1a348eab8ce85..9e78934009bc7844d258313d2efc93bc38af929f 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 308297a34aa4b17c7c21f1de91947f298b09c19a..023d337475031854feadcf5e54d0bc6908a17af0 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 a922c25b80f4ffc13988d62cac14f01c651e0feb..0bdf663715992515417528af1a6205b21048edd9 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 0e5b643e1138bd18756a3e1d77517330f2474a30..7db487e9c2f216d5809260b53d0415940847c207 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 62060229fa28117eb36e1b8e0f980eb8bb3713c6..81cfb27add4d5bf5103a60ff01b246ae365adaf4 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 b4eb238479f1b9fe754a44e7d7ba8aac4b3fcc3e..fe3e30a68227e61bd25af0879286cf2a74b7bff0 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 335d76793f7638fcf8f0d5423d3c4a85b5fcadea..87b8ad64cf20c9544711ebf73da2743acd8bc1d8 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 c50194b6a5f6e3b452cc6d560807f872964b28e2..101b1213f1b113d8890289295e03c8bc0a6b427a 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 5fd801e187837fb2f78cbe5053f539b72a004879..041e2add89096ce059fb419577fd40d3ba4a4a9f 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 b76e4871096f90258bae79e1ed575d77f4416597..61fa80320496c8cd89d67e6b16003f8dea10f4c3 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 db729e59c8705403d8cac6e2b0cd8ab01c64b0d1..400753f2d0cf98d724ba980c26abb2eb913ec293 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 86f5598b3b82eeb77ed87e233bb1a79e5af89b00..a634372c0c294b6ab28117be965bb8d64d12926c 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 0f20b4d9f8bf2b184fed5c7626397041347b9b8a..1a2ad62b295439c88ad44e443955dc48ea63f1cb 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 fea438412fece700fc03b9dcfc371e4ade62121f..a9e1c2bfc4658ed68aee2c6de3c6aefda887154d 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 2946f8004d26ce5eab83c68065912820eade11c8..6f393cc360e6b53be78b93b702ac7a125259975c 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 891e2852746bf0275de9e2288e1077a6b168d4a2..98250305d87f5724d37736331271912179502b3e 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 cb44207f4e6eae41b0cee358d3449c9bf9083b50..2ad6b7b34833cdf48db234d5317d996419a40b30 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 0a840e01efd5ed351b4948655ff22f92175608b4..57d2960335f4044fa1d1a53bdcd8de23232b065e 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 0d3c770f9beeb00aaaa34166a14d752c057f8bd5..794d6bf6e945333ca31361e7874f52074b00f68c 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 deed9b15e3687414715a07044fead97fdf1a72bb..0604760524bc298e73828b210ffe557400a47cee 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 1325036c0c7c41cbd703d0fd98bc1716d0400459..ebe984537659d18fb34064fb287aa89dc6d0c67e 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 8dd67bed298d4a32fc88cafce36b821a4b51beb0..0abd1e47477cdba500075c33503c452899f0da6e 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 ec75561623d2cc91639699af51f713201cf67f50..51f54036a87af086967d090cb339dd5e8d99d09c 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 f75aa39e080b427f926543b412335722f0dd57d7..90859a8a9a25e3fe92598b6eb09b386d116a60b1 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 0b795b6e7f783f258119fa4b92fe08cd6d5c546e..b08b5ee379e682853b8b7596086304af8db85abc 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 a8acc6317bc13f64058e788633db3c14b20b67eb..6afff75bc9f98743134053e712bfd75f81c3099d 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 8a37149a3368b38aaf13defe8a1b7bf292a2a4b8..d6064ff6cbf6aed7848485a1fc842d935b4d90d6 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 8ef1ea4d3613f8ef969dcdbb97fcd33f4b7b183f..fce4c331aa19b2418bc49f72d258b40645354311 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 ee4630ca19abdcb0ad264bf718b1f8fed5467d2b..57db8034721be5f7754e13f2b9b1b5deaffb96ea 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 1c6b4b438b549b10f21cbd6ac9cbac9aace69810..bdadf99c0b65505f4d9a36d611db09d0567aeed5 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 1c8bbf59796110c7217c3db246b856080cd42456..0acfccf7df37da7a876823ac4fb7b666d67b9a51 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 8ec98eac915dd876889e506db80b3fb3f2ac564a..53579b49d36618fcf757113a3417e1e031be8735 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 0f9a97c6eb4eff0abe2d5335c8bb1b28bc440756..ad0bf241de52af7a0deec56cbd4eccb2628d05b9 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 65ab9d8dbd57fd652a1ef20e3032bbee923cbce6..1c9716a7a9e585635610920042be798ccf03232d 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 83415b3df47d3d7e5f49c84882b71fcbd4c1d170..28f8bfe58bb11288183bc226fb04d6d9217ca471 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 a994b1e45c7c4f6059298810c30687e142d0f3f3..52b0180ab8027cb9c6c58736d3852e08804fe8ca 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 0f9a97c6eb4eff0abe2d5335c8bb1b28bc440756..ad0bf241de52af7a0deec56cbd4eccb2628d05b9 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 b7ca546bebcf0e35455efcf4696bf1fd082314c1..61bb0eeb7524923c3c7f5945d123640c65200cec 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 83415b3df47d3d7e5f49c84882b71fcbd4c1d170..02db8f40f18e686ea14a4a55583028ebcdba43e2 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 101cf30b3849b1351ef0f0bc7a7a68264fabbe21..9c94c4f9692c0fa21afbb4ba99de1b3044be79e6 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 9d77186bf2be562b9df21a7e227321be4c168228..98200556b64d7b53fd1d516c9fca989670230220 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 39597e8807faec82718408a6f01494e9f58ed20c..83a2632f7b6833ec370098c683a09de773bc4b70 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 86db54edbc1f702f534273b46e242516e2208bdb..2af99eb2710bbce55296705f07d910b0f711a216 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 ed721afebe278beda7576830dbd1c43cbf52f657..90859a8a9a25e3fe92598b6eb09b386d116a60b1 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 11aa34d0dab12638dbd3f29dabd23318845e609f..b08b5ee379e682853b8b7596086304af8db85abc 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 9915d0d098d6429d750b86551333c1ac5d634cec..6afff75bc9f98743134053e712bfd75f81c3099d 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 d04a83dfb912085887f5fc176f9588773b7a6bc7..2716c4ace742c647e1dc57fe7662837a879650d6 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();