diff --git a/test/language/expressions/class/fields-private-derived-cls-direct-eval-err-contains-supercall-1.js b/test/language/expressions/class/fields-private-derived-cls-direct-eval-err-contains-supercall-1.js
new file mode 100644
index 0000000000000000000000000000000000000000..17351e3ac109429e7586af74d1fdaced9b998b2c
--- /dev/null
+++ b/test/language/expressions/class/fields-private-derived-cls-direct-eval-err-contains-supercall-1.js
@@ -0,0 +1,36 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/eval-err-contains-supercall-1.case
+// - src/class-fields/initializer-eval-super-call/cls-expr-private-fields-eval.template
+/*---
+description: error if `super()['x']` in StatementList of eval (direct eval)
+esid: sec-performeval-rules-in-initializer
+features: [class, class-fields-public]
+flags: [generated]
+info: |
+    Additional Early Error Rules for Eval Inside Initializer
+    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
+    ScriptBody : StatementList
+
+      ...
+      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
+
+    Additional Early Error Rules for Eval Outside Constructor Methods
+    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
+    ScriptBody : StatementList
+
+      It is a Syntax Error if StatementList Contains SuperCall.
+
+---*/
+
+
+var executed = false;
+var A = class {}
+var C = class extends A {
+  #x = eval('executed = true; super()["x"];');
+}
+
+assert.throws(SyntaxError, function() {
+  new C();
+});
+
+assert.sameValue(executed, false);
diff --git a/test/language/expressions/class/fields-private-derived-cls-direct-eval-err-contains-supercall-2.js b/test/language/expressions/class/fields-private-derived-cls-direct-eval-err-contains-supercall-2.js
new file mode 100644
index 0000000000000000000000000000000000000000..6c079ff81e4818b4bac1b19e9fde7b67f1df6955
--- /dev/null
+++ b/test/language/expressions/class/fields-private-derived-cls-direct-eval-err-contains-supercall-2.js
@@ -0,0 +1,29 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/eval-err-contains-supercall-2.case
+// - src/class-fields/initializer-eval-super-call/cls-expr-private-fields-eval.template
+/*---
+description: error if `super().x` in StatementList of eval (direct eval)
+esid: sec-performeval-rules-in-initializer
+features: [class, class-fields-public]
+flags: [generated]
+info: |
+    Additional Early Error Rules for Eval Outside Constructor Methods
+    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
+    ScriptBody : StatementList
+
+      It is a Syntax Error if StatementList Contains SuperCall.
+
+---*/
+
+
+var executed = false;
+var A = class {}
+var C = class extends A {
+  #x = eval('executed = true; super().x;');
+}
+
+assert.throws(SyntaxError, function() {
+  new C();
+});
+
+assert.sameValue(executed, false);
diff --git a/test/language/expressions/class/fields-private-derived-cls-direct-eval-err-contains-supercall.js b/test/language/expressions/class/fields-private-derived-cls-direct-eval-err-contains-supercall.js
new file mode 100644
index 0000000000000000000000000000000000000000..5e4364c58cd5e7c8d5e2b81f5dee46b6934bc53a
--- /dev/null
+++ b/test/language/expressions/class/fields-private-derived-cls-direct-eval-err-contains-supercall.js
@@ -0,0 +1,36 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/eval-err-contains-supercall.case
+// - src/class-fields/initializer-eval-super-call/cls-expr-private-fields-eval.template
+/*---
+description: error if `super()` in StatementList of eval (direct eval)
+esid: sec-performeval-rules-in-initializer
+features: [class, class-fields-public]
+flags: [generated]
+info: |
+    Additional Early Error Rules for Eval Inside Initializer
+    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
+    ScriptBody : StatementList
+
+      ...
+      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
+
+    Additional Early Error Rules for Eval Outside Constructor Methods
+    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
+    ScriptBody : StatementList
+
+      It is a Syntax Error if StatementList Contains SuperCall.
+
+---*/
+
+
+var executed = false;
+var A = class {}
+var C = class extends A {
+  #x = eval('executed = true; super();');
+}
+
+assert.throws(SyntaxError, function() {
+  new C();
+});
+
+assert.sameValue(executed, false);
diff --git a/test/language/expressions/class/fields-private-derived-cls-direct-eval-err-contains-superproperty-1.js b/test/language/expressions/class/fields-private-derived-cls-direct-eval-err-contains-superproperty-1.js
new file mode 100644
index 0000000000000000000000000000000000000000..9bcac948c18c461d17e33c92ade2c429ceb7f73c
--- /dev/null
+++ b/test/language/expressions/class/fields-private-derived-cls-direct-eval-err-contains-superproperty-1.js
@@ -0,0 +1,34 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/eval-err-contains-superproperty-1.case
+// - src/class-fields/initializer-eval-super-property/cls-expr-private-fields-eval.template
+/*---
+description: error if `super.x` in StatementList of eval (direct eval)
+esid: sec-performeval-rules-in-initializer
+features: [class, class-fields-public]
+flags: [generated]
+info: |
+    Additional Early Error Rules for Eval Inside Initializer
+    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
+    ScriptBody : StatementList
+
+      ...
+      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
+
+    Additional Early Error Rules for Eval Outside Methods
+    These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
+    ScriptBody : StatementList
+
+      It is a Syntax Error if StatementList Contains SuperProperty.
+
+---*/
+
+
+var executed = false;
+var A = class {}
+var C = class extends A {
+  #x = eval('executed = true; super.x;');
+};
+
+new C();
+
+assert.sameValue(executed, true);
diff --git a/test/language/expressions/class/fields-private-derived-cls-direct-eval-err-contains-superproperty-2.js b/test/language/expressions/class/fields-private-derived-cls-direct-eval-err-contains-superproperty-2.js
new file mode 100644
index 0000000000000000000000000000000000000000..0afe73ea33ddc80899f484589e3831ac10f986b9
--- /dev/null
+++ b/test/language/expressions/class/fields-private-derived-cls-direct-eval-err-contains-superproperty-2.js
@@ -0,0 +1,31 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/eval-err-contains-superproperty-2.case
+// - src/class-fields/initializer-eval-super-property/cls-expr-private-fields-eval.template
+/*---
+description: error if super['x'] in StatementList of eval (direct eval)
+esid: sec-performeval-rules-in-initializer
+features: [class, class-fields-public]
+flags: [generated]
+info: |
+    The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
+
+    Additional Early Error Rules for Eval Outside Methods
+
+      These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
+
+      ScriptBody : StatementList
+
+      It is a Syntax Error if StatementList Contains SuperProperty.
+
+---*/
+
+
+var executed = false;
+var A = class {}
+var C = class extends A {
+  #x = eval('executed = true; super["x"];');
+};
+
+new C();
+
+assert.sameValue(executed, true);
diff --git a/test/language/expressions/class/fields-private-derived-cls-indirect-eval-err-contains-supercall-1.js b/test/language/expressions/class/fields-private-derived-cls-indirect-eval-err-contains-supercall-1.js
new file mode 100644
index 0000000000000000000000000000000000000000..f4532dc6ac5bea7efeb648c1d6a0b649367d0019
--- /dev/null
+++ b/test/language/expressions/class/fields-private-derived-cls-indirect-eval-err-contains-supercall-1.js
@@ -0,0 +1,36 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/eval-err-contains-supercall-1.case
+// - src/class-fields/initializer-eval-super-call/cls-expr-private-fields-indirect-eval.template
+/*---
+description: error if `super()['x']` in StatementList of eval (indirect eval)
+esid: sec-performeval-rules-in-initializer
+features: [class, class-fields-public]
+flags: [generated]
+info: |
+    Additional Early Error Rules for Eval Inside Initializer
+    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
+    ScriptBody : StatementList
+
+      ...
+      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
+
+    Additional Early Error Rules for Eval Outside Constructor Methods
+    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
+    ScriptBody : StatementList
+
+      It is a Syntax Error if StatementList Contains SuperCall.
+
+---*/
+
+
+var executed = false;
+var A = class {}
+var C = class extends A {
+  #x = (0, eval)('executed = true; super()["x"];');
+}
+
+assert.throws(SyntaxError, function() {
+  new C();
+});
+
+assert.sameValue(executed, false);
diff --git a/test/language/expressions/class/fields-private-derived-cls-indirect-eval-err-contains-supercall-2.js b/test/language/expressions/class/fields-private-derived-cls-indirect-eval-err-contains-supercall-2.js
new file mode 100644
index 0000000000000000000000000000000000000000..cb9d794e6e4f2cd36e30715b95b3bb01c21ca4e6
--- /dev/null
+++ b/test/language/expressions/class/fields-private-derived-cls-indirect-eval-err-contains-supercall-2.js
@@ -0,0 +1,29 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/eval-err-contains-supercall-2.case
+// - src/class-fields/initializer-eval-super-call/cls-expr-private-fields-indirect-eval.template
+/*---
+description: error if `super().x` in StatementList of eval (indirect eval)
+esid: sec-performeval-rules-in-initializer
+features: [class, class-fields-public]
+flags: [generated]
+info: |
+    Additional Early Error Rules for Eval Outside Constructor Methods
+    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
+    ScriptBody : StatementList
+
+      It is a Syntax Error if StatementList Contains SuperCall.
+
+---*/
+
+
+var executed = false;
+var A = class {}
+var C = class extends A {
+  #x = (0, eval)('executed = true; super().x;');
+}
+
+assert.throws(SyntaxError, function() {
+  new C();
+});
+
+assert.sameValue(executed, false);
diff --git a/test/language/expressions/class/fields-private-derived-cls-indirect-eval-err-contains-supercall.js b/test/language/expressions/class/fields-private-derived-cls-indirect-eval-err-contains-supercall.js
new file mode 100644
index 0000000000000000000000000000000000000000..9727b8b82e0ad999e2cac779ca97f293411596a7
--- /dev/null
+++ b/test/language/expressions/class/fields-private-derived-cls-indirect-eval-err-contains-supercall.js
@@ -0,0 +1,36 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/eval-err-contains-supercall.case
+// - src/class-fields/initializer-eval-super-call/cls-expr-private-fields-indirect-eval.template
+/*---
+description: error if `super()` in StatementList of eval (indirect eval)
+esid: sec-performeval-rules-in-initializer
+features: [class, class-fields-public]
+flags: [generated]
+info: |
+    Additional Early Error Rules for Eval Inside Initializer
+    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
+    ScriptBody : StatementList
+
+      ...
+      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
+
+    Additional Early Error Rules for Eval Outside Constructor Methods
+    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
+    ScriptBody : StatementList
+
+      It is a Syntax Error if StatementList Contains SuperCall.
+
+---*/
+
+
+var executed = false;
+var A = class {}
+var C = class extends A {
+  #x = (0, eval)('executed = true; super();');
+}
+
+assert.throws(SyntaxError, function() {
+  new C();
+});
+
+assert.sameValue(executed, false);
diff --git a/test/language/expressions/class/fields-private-derived-cls-indirect-eval-err-contains-superproperty-1.js b/test/language/expressions/class/fields-private-derived-cls-indirect-eval-err-contains-superproperty-1.js
new file mode 100644
index 0000000000000000000000000000000000000000..91ea12f15bd23db416ba129213d5589b3c186e73
--- /dev/null
+++ b/test/language/expressions/class/fields-private-derived-cls-indirect-eval-err-contains-superproperty-1.js
@@ -0,0 +1,36 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/eval-err-contains-superproperty-1.case
+// - src/class-fields/initializer-eval-super-property/cls-expr-private-fields-indirect-eval.template
+/*---
+description: error if `super.x` in StatementList of eval (indirect eval)
+esid: sec-performeval-rules-in-initializer
+features: [class, class-fields-public]
+flags: [generated]
+info: |
+    Additional Early Error Rules for Eval Inside Initializer
+    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
+    ScriptBody : StatementList
+
+      ...
+      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
+
+    Additional Early Error Rules for Eval Outside Methods
+    These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
+    ScriptBody : StatementList
+
+      It is a Syntax Error if StatementList Contains SuperProperty.
+
+---*/
+
+
+var executed = false;
+var A = class {}
+var C = class extends A {
+  #x = (0, eval)('executed = true; super.x;');
+};
+
+assert.throws(SyntaxError, function() {
+  new C();
+});
+
+assert.sameValue(executed, false);
diff --git a/test/language/expressions/class/fields-private-derived-cls-indirect-eval-err-contains-superproperty-2.js b/test/language/expressions/class/fields-private-derived-cls-indirect-eval-err-contains-superproperty-2.js
new file mode 100644
index 0000000000000000000000000000000000000000..680bba0434496b06e4b46157c8473490a1129c76
--- /dev/null
+++ b/test/language/expressions/class/fields-private-derived-cls-indirect-eval-err-contains-superproperty-2.js
@@ -0,0 +1,33 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/eval-err-contains-superproperty-2.case
+// - src/class-fields/initializer-eval-super-property/cls-expr-private-fields-indirect-eval.template
+/*---
+description: error if super['x'] in StatementList of eval (indirect eval)
+esid: sec-performeval-rules-in-initializer
+features: [class, class-fields-public]
+flags: [generated]
+info: |
+    The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
+
+    Additional Early Error Rules for Eval Outside Methods
+
+      These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
+
+      ScriptBody : StatementList
+
+      It is a Syntax Error if StatementList Contains SuperProperty.
+
+---*/
+
+
+var executed = false;
+var A = class {}
+var C = class extends A {
+  #x = (0, eval)('executed = true; super["x"];');
+};
+
+assert.throws(SyntaxError, function() {
+  new C();
+});
+
+assert.sameValue(executed, false);
diff --git a/test/language/statements/class/fields-derived-cls-indirect-eval-err-contains-supercall-1.js b/test/language/statements/class/fields-derived-cls-indirect-eval-err-contains-supercall-1.js
index a8375776cefdf77981daaf635751a81d6d51ef1f..899f3e41b3141af8646238685ae5e238a037dce5 100644
--- a/test/language/statements/class/fields-derived-cls-indirect-eval-err-contains-supercall-1.js
+++ b/test/language/statements/class/fields-derived-cls-indirect-eval-err-contains-supercall-1.js
@@ -1,6 +1,6 @@
 // This file was procedurally generated from the following sources:
 // - src/class-fields/eval-err-contains-supercall-1.case
-// - src/class-fields/initializer-eval-super-call/cls-decl-private-fields-indirect-eval.template
+// - src/class-fields/initializer-eval-super-call/cls-decl-fields-indirect-eval.template
 /*---
 description: error if `super()['x']` in StatementList of eval (indirect eval)
 esid: sec-performeval-rules-in-initializer
@@ -26,7 +26,7 @@ info: |
 var executed = false;
 class A {}
 class C extends A {
-  #x = (0, eval)('executed = true; super()["x"];');
+  x = (0, eval)('executed = true; super()["x"];');
 }
 
 assert.throws(SyntaxError, function() {
diff --git a/test/language/statements/class/fields-derived-cls-indirect-eval-err-contains-supercall-2.js b/test/language/statements/class/fields-derived-cls-indirect-eval-err-contains-supercall-2.js
index 586a59e3b0a43f53e19ddfb4821e25966cd5ac9a..157a843836feb595b1e1f32db9b74e828fd1eaf8 100644
--- a/test/language/statements/class/fields-derived-cls-indirect-eval-err-contains-supercall-2.js
+++ b/test/language/statements/class/fields-derived-cls-indirect-eval-err-contains-supercall-2.js
@@ -1,6 +1,6 @@
 // This file was procedurally generated from the following sources:
 // - src/class-fields/eval-err-contains-supercall-2.case
-// - src/class-fields/initializer-eval-super-call/cls-decl-private-fields-indirect-eval.template
+// - src/class-fields/initializer-eval-super-call/cls-decl-fields-indirect-eval.template
 /*---
 description: error if `super().x` in StatementList of eval (indirect eval)
 esid: sec-performeval-rules-in-initializer
@@ -19,7 +19,7 @@ info: |
 var executed = false;
 class A {}
 class C extends A {
-  #x = (0, eval)('executed = true; super().x;');
+  x = (0, eval)('executed = true; super().x;');
 }
 
 assert.throws(SyntaxError, function() {
diff --git a/test/language/statements/class/fields-derived-cls-indirect-eval-err-contains-supercall.js b/test/language/statements/class/fields-derived-cls-indirect-eval-err-contains-supercall.js
index d4999d75dfd597042a43abdb70132543b9ba56b4..605c574ec3cf56956d73028d561a696f9851cb70 100644
--- a/test/language/statements/class/fields-derived-cls-indirect-eval-err-contains-supercall.js
+++ b/test/language/statements/class/fields-derived-cls-indirect-eval-err-contains-supercall.js
@@ -1,6 +1,6 @@
 // This file was procedurally generated from the following sources:
 // - src/class-fields/eval-err-contains-supercall.case
-// - src/class-fields/initializer-eval-super-call/cls-decl-private-fields-indirect-eval.template
+// - src/class-fields/initializer-eval-super-call/cls-decl-fields-indirect-eval.template
 /*---
 description: error if `super()` in StatementList of eval (indirect eval)
 esid: sec-performeval-rules-in-initializer
@@ -26,7 +26,7 @@ info: |
 var executed = false;
 class A {}
 class C extends A {
-  #x = (0, eval)('executed = true; super();');
+  x = (0, eval)('executed = true; super();');
 }
 
 assert.throws(SyntaxError, function() {
diff --git a/test/language/statements/class/fields-derived-cls-indirect-eval-err-contains-superproperty-1.js b/test/language/statements/class/fields-derived-cls-indirect-eval-err-contains-superproperty-1.js
index ddeafb7253201841e93eef563a3c8acbf3231bba..222abc22f6ec520a5832a90e0b994c9a85750cd9 100644
--- a/test/language/statements/class/fields-derived-cls-indirect-eval-err-contains-superproperty-1.js
+++ b/test/language/statements/class/fields-derived-cls-indirect-eval-err-contains-superproperty-1.js
@@ -1,6 +1,6 @@
 // This file was procedurally generated from the following sources:
 // - src/class-fields/eval-err-contains-superproperty-1.case
-// - src/class-fields/initializer-eval-super-property/cls-decl-private-fields-indirect-eval.template
+// - src/class-fields/initializer-eval-super-property/cls-decl-fields-indirect-eval.template
 /*---
 description: error if `super.x` in StatementList of eval (indirect eval)
 esid: sec-performeval-rules-in-initializer
@@ -26,7 +26,7 @@ info: |
 var executed = false;
 class A {}
 class C extends A {
-  #x = (0, eval)('executed = true; super.x;');
+  x = (0, eval)('executed = true; super.x;');
 }
 
 assert.throws(SyntaxError, function() {
diff --git a/test/language/statements/class/fields-derived-cls-indirect-eval-err-contains-superproperty-2.js b/test/language/statements/class/fields-derived-cls-indirect-eval-err-contains-superproperty-2.js
index 2ed9f8c6a1a158ba01c4737a942c0f75842dc8cd..cb54407062b210f5b8c55c7c31712246776729ca 100644
--- a/test/language/statements/class/fields-derived-cls-indirect-eval-err-contains-superproperty-2.js
+++ b/test/language/statements/class/fields-derived-cls-indirect-eval-err-contains-superproperty-2.js
@@ -1,6 +1,6 @@
 // This file was procedurally generated from the following sources:
 // - src/class-fields/eval-err-contains-superproperty-2.case
-// - src/class-fields/initializer-eval-super-property/cls-decl-private-fields-indirect-eval.template
+// - src/class-fields/initializer-eval-super-property/cls-decl-fields-indirect-eval.template
 /*---
 description: error if super['x'] in StatementList of eval (indirect eval)
 esid: sec-performeval-rules-in-initializer
@@ -23,7 +23,7 @@ info: |
 var executed = false;
 class A {}
 class C extends A {
-  #x = (0, eval)('executed = true; super["x"];');
+  x = (0, eval)('executed = true; super["x"];');
 }
 
 assert.throws(SyntaxError, function() {
diff --git a/test/language/statements/class/fields-private-derived-cls-direct-eval-err-contains-supercall-1.js b/test/language/statements/class/fields-private-derived-cls-direct-eval-err-contains-supercall-1.js
new file mode 100644
index 0000000000000000000000000000000000000000..5c6f0e3d4c20a245aed2ca4f6bfd53f3ce572edf
--- /dev/null
+++ b/test/language/statements/class/fields-private-derived-cls-direct-eval-err-contains-supercall-1.js
@@ -0,0 +1,36 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/eval-err-contains-supercall-1.case
+// - src/class-fields/initializer-eval-super-call/cls-decl-private-fields-eval.template
+/*---
+description: error if `super()['x']` in StatementList of eval (direct eval)
+esid: sec-performeval-rules-in-initializer
+features: [class, class-fields-public]
+flags: [generated]
+info: |
+    Additional Early Error Rules for Eval Inside Initializer
+    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
+    ScriptBody : StatementList
+
+      ...
+      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
+
+    Additional Early Error Rules for Eval Outside Constructor Methods
+    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
+    ScriptBody : StatementList
+
+      It is a Syntax Error if StatementList Contains SuperCall.
+
+---*/
+
+
+var executed = false;
+class A {}
+class C extends A {
+  #x = eval('executed = true; super()["x"];');
+}
+
+assert.throws(SyntaxError, function() {
+  new C();
+});
+
+assert.sameValue(executed, false);
diff --git a/test/language/statements/class/fields-private-derived-cls-direct-eval-err-contains-supercall-2.js b/test/language/statements/class/fields-private-derived-cls-direct-eval-err-contains-supercall-2.js
new file mode 100644
index 0000000000000000000000000000000000000000..200f61f7197d43e7d85970c8f2b66db7a4a44c4c
--- /dev/null
+++ b/test/language/statements/class/fields-private-derived-cls-direct-eval-err-contains-supercall-2.js
@@ -0,0 +1,29 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/eval-err-contains-supercall-2.case
+// - src/class-fields/initializer-eval-super-call/cls-decl-private-fields-eval.template
+/*---
+description: error if `super().x` in StatementList of eval (direct eval)
+esid: sec-performeval-rules-in-initializer
+features: [class, class-fields-public]
+flags: [generated]
+info: |
+    Additional Early Error Rules for Eval Outside Constructor Methods
+    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
+    ScriptBody : StatementList
+
+      It is a Syntax Error if StatementList Contains SuperCall.
+
+---*/
+
+
+var executed = false;
+class A {}
+class C extends A {
+  #x = eval('executed = true; super().x;');
+}
+
+assert.throws(SyntaxError, function() {
+  new C();
+});
+
+assert.sameValue(executed, false);
diff --git a/test/language/statements/class/fields-private-derived-cls-direct-eval-err-contains-supercall.js b/test/language/statements/class/fields-private-derived-cls-direct-eval-err-contains-supercall.js
new file mode 100644
index 0000000000000000000000000000000000000000..b539515995e3d744e7fda93870d1ec715194794f
--- /dev/null
+++ b/test/language/statements/class/fields-private-derived-cls-direct-eval-err-contains-supercall.js
@@ -0,0 +1,36 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/eval-err-contains-supercall.case
+// - src/class-fields/initializer-eval-super-call/cls-decl-private-fields-eval.template
+/*---
+description: error if `super()` in StatementList of eval (direct eval)
+esid: sec-performeval-rules-in-initializer
+features: [class, class-fields-public]
+flags: [generated]
+info: |
+    Additional Early Error Rules for Eval Inside Initializer
+    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
+    ScriptBody : StatementList
+
+      ...
+      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
+
+    Additional Early Error Rules for Eval Outside Constructor Methods
+    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
+    ScriptBody : StatementList
+
+      It is a Syntax Error if StatementList Contains SuperCall.
+
+---*/
+
+
+var executed = false;
+class A {}
+class C extends A {
+  #x = eval('executed = true; super();');
+}
+
+assert.throws(SyntaxError, function() {
+  new C();
+});
+
+assert.sameValue(executed, false);
diff --git a/test/language/statements/class/fields-private-derived-cls-direct-eval-err-contains-superproperty-1.js b/test/language/statements/class/fields-private-derived-cls-direct-eval-err-contains-superproperty-1.js
new file mode 100644
index 0000000000000000000000000000000000000000..f649a7460ef7898874ee205aedb26df0c34339d6
--- /dev/null
+++ b/test/language/statements/class/fields-private-derived-cls-direct-eval-err-contains-superproperty-1.js
@@ -0,0 +1,34 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/eval-err-contains-superproperty-1.case
+// - src/class-fields/initializer-eval-super-property/cls-decl-private-fields-eval.template
+/*---
+description: error if `super.x` in StatementList of eval (direct eval)
+esid: sec-performeval-rules-in-initializer
+features: [class, class-fields-public]
+flags: [generated]
+info: |
+    Additional Early Error Rules for Eval Inside Initializer
+    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
+    ScriptBody : StatementList
+
+      ...
+      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
+
+    Additional Early Error Rules for Eval Outside Methods
+    These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
+    ScriptBody : StatementList
+
+      It is a Syntax Error if StatementList Contains SuperProperty.
+
+---*/
+
+
+var executed = false;
+class A {}
+class C extends A {
+  #x = eval('executed = true; super.x;');
+}
+
+new C();
+
+assert.sameValue(executed, true);
diff --git a/test/language/statements/class/fields-private-derived-cls-direct-eval-err-contains-superproperty-2.js b/test/language/statements/class/fields-private-derived-cls-direct-eval-err-contains-superproperty-2.js
new file mode 100644
index 0000000000000000000000000000000000000000..5247e1b4a2e1a9d05ffebd620e939f62ce53bc04
--- /dev/null
+++ b/test/language/statements/class/fields-private-derived-cls-direct-eval-err-contains-superproperty-2.js
@@ -0,0 +1,31 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/eval-err-contains-superproperty-2.case
+// - src/class-fields/initializer-eval-super-property/cls-decl-private-fields-eval.template
+/*---
+description: error if super['x'] in StatementList of eval (direct eval)
+esid: sec-performeval-rules-in-initializer
+features: [class, class-fields-public]
+flags: [generated]
+info: |
+    The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
+
+    Additional Early Error Rules for Eval Outside Methods
+
+      These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
+
+      ScriptBody : StatementList
+
+      It is a Syntax Error if StatementList Contains SuperProperty.
+
+---*/
+
+
+var executed = false;
+class A {}
+class C extends A {
+  #x = eval('executed = true; super["x"];');
+}
+
+new C();
+
+assert.sameValue(executed, true);
diff --git a/test/language/statements/class/fields-private-derived-cls-indirect-eval-err-contains-supercall-1.js b/test/language/statements/class/fields-private-derived-cls-indirect-eval-err-contains-supercall-1.js
new file mode 100644
index 0000000000000000000000000000000000000000..a8375776cefdf77981daaf635751a81d6d51ef1f
--- /dev/null
+++ b/test/language/statements/class/fields-private-derived-cls-indirect-eval-err-contains-supercall-1.js
@@ -0,0 +1,36 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/eval-err-contains-supercall-1.case
+// - src/class-fields/initializer-eval-super-call/cls-decl-private-fields-indirect-eval.template
+/*---
+description: error if `super()['x']` in StatementList of eval (indirect eval)
+esid: sec-performeval-rules-in-initializer
+features: [class, class-fields-public]
+flags: [generated]
+info: |
+    Additional Early Error Rules for Eval Inside Initializer
+    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
+    ScriptBody : StatementList
+
+      ...
+      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
+
+    Additional Early Error Rules for Eval Outside Constructor Methods
+    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
+    ScriptBody : StatementList
+
+      It is a Syntax Error if StatementList Contains SuperCall.
+
+---*/
+
+
+var executed = false;
+class A {}
+class C extends A {
+  #x = (0, eval)('executed = true; super()["x"];');
+}
+
+assert.throws(SyntaxError, function() {
+  new C();
+});
+
+assert.sameValue(executed, false);
diff --git a/test/language/statements/class/fields-private-derived-cls-indirect-eval-err-contains-supercall-2.js b/test/language/statements/class/fields-private-derived-cls-indirect-eval-err-contains-supercall-2.js
new file mode 100644
index 0000000000000000000000000000000000000000..586a59e3b0a43f53e19ddfb4821e25966cd5ac9a
--- /dev/null
+++ b/test/language/statements/class/fields-private-derived-cls-indirect-eval-err-contains-supercall-2.js
@@ -0,0 +1,29 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/eval-err-contains-supercall-2.case
+// - src/class-fields/initializer-eval-super-call/cls-decl-private-fields-indirect-eval.template
+/*---
+description: error if `super().x` in StatementList of eval (indirect eval)
+esid: sec-performeval-rules-in-initializer
+features: [class, class-fields-public]
+flags: [generated]
+info: |
+    Additional Early Error Rules for Eval Outside Constructor Methods
+    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
+    ScriptBody : StatementList
+
+      It is a Syntax Error if StatementList Contains SuperCall.
+
+---*/
+
+
+var executed = false;
+class A {}
+class C extends A {
+  #x = (0, eval)('executed = true; super().x;');
+}
+
+assert.throws(SyntaxError, function() {
+  new C();
+});
+
+assert.sameValue(executed, false);
diff --git a/test/language/statements/class/fields-private-derived-cls-indirect-eval-err-contains-supercall.js b/test/language/statements/class/fields-private-derived-cls-indirect-eval-err-contains-supercall.js
new file mode 100644
index 0000000000000000000000000000000000000000..d4999d75dfd597042a43abdb70132543b9ba56b4
--- /dev/null
+++ b/test/language/statements/class/fields-private-derived-cls-indirect-eval-err-contains-supercall.js
@@ -0,0 +1,36 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/eval-err-contains-supercall.case
+// - src/class-fields/initializer-eval-super-call/cls-decl-private-fields-indirect-eval.template
+/*---
+description: error if `super()` in StatementList of eval (indirect eval)
+esid: sec-performeval-rules-in-initializer
+features: [class, class-fields-public]
+flags: [generated]
+info: |
+    Additional Early Error Rules for Eval Inside Initializer
+    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
+    ScriptBody : StatementList
+
+      ...
+      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
+
+    Additional Early Error Rules for Eval Outside Constructor Methods
+    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
+    ScriptBody : StatementList
+
+      It is a Syntax Error if StatementList Contains SuperCall.
+
+---*/
+
+
+var executed = false;
+class A {}
+class C extends A {
+  #x = (0, eval)('executed = true; super();');
+}
+
+assert.throws(SyntaxError, function() {
+  new C();
+});
+
+assert.sameValue(executed, false);
diff --git a/test/language/statements/class/fields-private-derived-cls-indirect-eval-err-contains-superproperty-1.js b/test/language/statements/class/fields-private-derived-cls-indirect-eval-err-contains-superproperty-1.js
new file mode 100644
index 0000000000000000000000000000000000000000..ddeafb7253201841e93eef563a3c8acbf3231bba
--- /dev/null
+++ b/test/language/statements/class/fields-private-derived-cls-indirect-eval-err-contains-superproperty-1.js
@@ -0,0 +1,36 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/eval-err-contains-superproperty-1.case
+// - src/class-fields/initializer-eval-super-property/cls-decl-private-fields-indirect-eval.template
+/*---
+description: error if `super.x` in StatementList of eval (indirect eval)
+esid: sec-performeval-rules-in-initializer
+features: [class, class-fields-public]
+flags: [generated]
+info: |
+    Additional Early Error Rules for Eval Inside Initializer
+    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
+    ScriptBody : StatementList
+
+      ...
+      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
+
+    Additional Early Error Rules for Eval Outside Methods
+    These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
+    ScriptBody : StatementList
+
+      It is a Syntax Error if StatementList Contains SuperProperty.
+
+---*/
+
+
+var executed = false;
+class A {}
+class C extends A {
+  #x = (0, eval)('executed = true; super.x;');
+}
+
+assert.throws(SyntaxError, function() {
+  new C();
+});
+
+assert.sameValue(executed, false);
diff --git a/test/language/statements/class/fields-private-derived-cls-indirect-eval-err-contains-superproperty-2.js b/test/language/statements/class/fields-private-derived-cls-indirect-eval-err-contains-superproperty-2.js
new file mode 100644
index 0000000000000000000000000000000000000000..2ed9f8c6a1a158ba01c4737a942c0f75842dc8cd
--- /dev/null
+++ b/test/language/statements/class/fields-private-derived-cls-indirect-eval-err-contains-superproperty-2.js
@@ -0,0 +1,33 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/eval-err-contains-superproperty-2.case
+// - src/class-fields/initializer-eval-super-property/cls-decl-private-fields-indirect-eval.template
+/*---
+description: error if super['x'] in StatementList of eval (indirect eval)
+esid: sec-performeval-rules-in-initializer
+features: [class, class-fields-public]
+flags: [generated]
+info: |
+    The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
+
+    Additional Early Error Rules for Eval Outside Methods
+
+      These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
+
+      ScriptBody : StatementList
+
+      It is a Syntax Error if StatementList Contains SuperProperty.
+
+---*/
+
+
+var executed = false;
+class A {}
+class C extends A {
+  #x = (0, eval)('executed = true; super["x"];');
+}
+
+assert.throws(SyntaxError, function() {
+  new C();
+});
+
+assert.sameValue(executed, false);