diff --git a/test/language/expressions/class/syntax/early-error/grammar-static-async-gen-meth-prototype.js b/test/language/expressions/class/syntax/early-error/grammar-static-async-gen-meth-prototype.js
new file mode 100644
index 0000000000000000000000000000000000000000..18991777c1e5a6bfe9d172a15fcd61a88ef49bdf
--- /dev/null
+++ b/test/language/expressions/class/syntax/early-error/grammar-static-async-gen-meth-prototype.js
@@ -0,0 +1,25 @@
+// This file was procedurally generated from the following sources:
+// - src/class-elements/grammar-static-async-gen-meth-prototype.case
+// - src/class-elements/syntax/invalid/cls-expr-elements-invalid-syntax.template
+/*---
+description: Static Async Generator Methods cannot be named prototype (class expression)
+esid: prod-ClassElement
+features: [async-iteration, class]
+flags: [generated]
+negative:
+  phase: parse
+  type: SyntaxError
+info: |
+    Class Definitions / Static Semantics: Early Errors
+
+    ClassElement : static MethodDefinition
+        It is a Syntax Error if PropName of MethodDefinition is "prototype"
+
+---*/
+
+
+throw "Test262: This statement should not be evaluated.";
+
+var C = class {
+  static async * prototype() {}
+};
diff --git a/test/language/expressions/class/syntax/early-error/grammar-static-async-meth-prototype.js b/test/language/expressions/class/syntax/early-error/grammar-static-async-meth-prototype.js
new file mode 100644
index 0000000000000000000000000000000000000000..f0882842a1b041b7064ed4c6ec2694d6ca986332
--- /dev/null
+++ b/test/language/expressions/class/syntax/early-error/grammar-static-async-meth-prototype.js
@@ -0,0 +1,25 @@
+// This file was procedurally generated from the following sources:
+// - src/class-elements/grammar-static-async-meth-prototype.case
+// - src/class-elements/syntax/invalid/cls-expr-elements-invalid-syntax.template
+/*---
+description: Static Async Methods cannot be named prototype (class expression)
+esid: prod-ClassElement
+features: [async-functions, class]
+flags: [generated]
+negative:
+  phase: parse
+  type: SyntaxError
+info: |
+    Class Definitions / Static Semantics: Early Errors
+
+    ClassElement : static MethodDefinition
+        It is a Syntax Error if PropName of MethodDefinition is "prototype"
+
+---*/
+
+
+throw "Test262: This statement should not be evaluated.";
+
+var C = class {
+  static async prototype() {}
+};
diff --git a/test/language/expressions/class/syntax/early-error/grammar-static-gen-meth-prototype.js b/test/language/expressions/class/syntax/early-error/grammar-static-gen-meth-prototype.js
new file mode 100644
index 0000000000000000000000000000000000000000..f4b4e6e779693c1e56fc6167b84822e243751372
--- /dev/null
+++ b/test/language/expressions/class/syntax/early-error/grammar-static-gen-meth-prototype.js
@@ -0,0 +1,25 @@
+// This file was procedurally generated from the following sources:
+// - src/class-elements/grammar-static-gen-meth-prototype.case
+// - src/class-elements/syntax/invalid/cls-expr-elements-invalid-syntax.template
+/*---
+description: Static Generator Methods cannot be named prototype (class expression)
+esid: prod-ClassElement
+features: [generators, class]
+flags: [generated]
+negative:
+  phase: parse
+  type: SyntaxError
+info: |
+    Class Definitions / Static Semantics: Early Errors
+
+    ClassElement : static MethodDefinition
+        It is a Syntax Error if PropName of MethodDefinition is "prototype"
+
+---*/
+
+
+throw "Test262: This statement should not be evaluated.";
+
+var C = class {
+  static * prototype() {}
+};
diff --git a/test/language/expressions/class/syntax/early-error/grammar-static-get-meth-prototype.js b/test/language/expressions/class/syntax/early-error/grammar-static-get-meth-prototype.js
new file mode 100644
index 0000000000000000000000000000000000000000..0c060817b18812749a78bc580135d6ea2dc2d989
--- /dev/null
+++ b/test/language/expressions/class/syntax/early-error/grammar-static-get-meth-prototype.js
@@ -0,0 +1,25 @@
+// This file was procedurally generated from the following sources:
+// - src/class-elements/grammar-static-get-meth-prototype.case
+// - src/class-elements/syntax/invalid/cls-expr-elements-invalid-syntax.template
+/*---
+description: Static Accessor get Methods cannot be named prototype (class expression)
+esid: prod-ClassElement
+features: [class]
+flags: [generated]
+negative:
+  phase: parse
+  type: SyntaxError
+info: |
+    Class Definitions / Static Semantics: Early Errors
+
+    ClassElement : static MethodDefinition
+        It is a Syntax Error if PropName of MethodDefinition is "prototype"
+
+---*/
+
+
+throw "Test262: This statement should not be evaluated.";
+
+var C = class {
+  static get prototype() {}
+};
diff --git a/test/language/expressions/class/syntax/early-error/grammar-static-meth-prototype.js b/test/language/expressions/class/syntax/early-error/grammar-static-meth-prototype.js
new file mode 100644
index 0000000000000000000000000000000000000000..40263c679982ae0eaf1f9979243eda339bfb8f8c
--- /dev/null
+++ b/test/language/expressions/class/syntax/early-error/grammar-static-meth-prototype.js
@@ -0,0 +1,25 @@
+// This file was procedurally generated from the following sources:
+// - src/class-elements/grammar-static-meth-prototype.case
+// - src/class-elements/syntax/invalid/cls-expr-elements-invalid-syntax.template
+/*---
+description: Static Methods cannot be named prototype (class expression)
+esid: prod-ClassElement
+features: [class]
+flags: [generated]
+negative:
+  phase: parse
+  type: SyntaxError
+info: |
+    Class Definitions / Static Semantics: Early Errors
+
+    ClassElement : static MethodDefinition
+        It is a Syntax Error if PropName of MethodDefinition is "prototype"
+
+---*/
+
+
+throw "Test262: This statement should not be evaluated.";
+
+var C = class {
+  static prototype() {}
+};
diff --git a/test/language/expressions/class/syntax/early-error/grammar-static-set-meth-prototype.js b/test/language/expressions/class/syntax/early-error/grammar-static-set-meth-prototype.js
new file mode 100644
index 0000000000000000000000000000000000000000..0e675f4a87b64926d76449625946fdf13f26ab37
--- /dev/null
+++ b/test/language/expressions/class/syntax/early-error/grammar-static-set-meth-prototype.js
@@ -0,0 +1,25 @@
+// This file was procedurally generated from the following sources:
+// - src/class-elements/grammar-static-set-meth-prototype.case
+// - src/class-elements/syntax/invalid/cls-expr-elements-invalid-syntax.template
+/*---
+description: Static Accessor set Methods cannot be named prototype (class expression)
+esid: prod-ClassElement
+features: [class]
+flags: [generated]
+negative:
+  phase: parse
+  type: SyntaxError
+info: |
+    Class Definitions / Static Semantics: Early Errors
+
+    ClassElement : static MethodDefinition
+        It is a Syntax Error if PropName of MethodDefinition is "prototype"
+
+---*/
+
+
+throw "Test262: This statement should not be evaluated.";
+
+var C = class {
+  static set prototype() {}
+};
diff --git a/test/language/expressions/class/syntax/valid/grammar-static-private-async-gen-meth-prototype.js b/test/language/expressions/class/syntax/valid/grammar-static-private-async-gen-meth-prototype.js
new file mode 100644
index 0000000000000000000000000000000000000000..1f19d0ef4b6aff20c1d69e3b813cbe8b6eeacb6b
--- /dev/null
+++ b/test/language/expressions/class/syntax/valid/grammar-static-private-async-gen-meth-prototype.js
@@ -0,0 +1,20 @@
+// This file was procedurally generated from the following sources:
+// - src/class-elements/grammar-static-private-async-gen-meth-prototype.case
+// - src/class-elements/syntax/valid/cls-expr-elements-valid-syntax.template
+/*---
+description: Static Async Generator Private Methods can be named prototype (class expression)
+esid: prod-ClassElement
+features: [async-iteration, class-static-methods-private, class]
+flags: [generated]
+info: |
+    Class Definitions / Static Semantics: Early Errors
+
+    ClassElement : static MethodDefinition
+        It is a Syntax Error if PropName of MethodDefinition is "prototype"
+
+---*/
+
+
+var C = class {
+  static async * #prototype() {}
+};
diff --git a/test/language/expressions/class/syntax/valid/grammar-static-private-async-meth-prototype.js b/test/language/expressions/class/syntax/valid/grammar-static-private-async-meth-prototype.js
new file mode 100644
index 0000000000000000000000000000000000000000..d8a3023b9525c700b82aa07465836d6a88b0778e
--- /dev/null
+++ b/test/language/expressions/class/syntax/valid/grammar-static-private-async-meth-prototype.js
@@ -0,0 +1,20 @@
+// This file was procedurally generated from the following sources:
+// - src/class-elements/grammar-static-private-async-meth-prototype.case
+// - src/class-elements/syntax/valid/cls-expr-elements-valid-syntax.template
+/*---
+description: Static Async Private Methods can be named prototype (class expression)
+esid: prod-ClassElement
+features: [async-functions, class-static-methods-private, class]
+flags: [generated]
+info: |
+    Class Definitions / Static Semantics: Early Errors
+
+    ClassElement : static MethodDefinition
+        It is a Syntax Error if PropName of MethodDefinition is "prototype"
+
+---*/
+
+
+var C = class {
+  static async #prototype() {}
+};
diff --git a/test/language/expressions/class/syntax/valid/grammar-static-private-gen-meth-prototype.js b/test/language/expressions/class/syntax/valid/grammar-static-private-gen-meth-prototype.js
new file mode 100644
index 0000000000000000000000000000000000000000..22e6f62cdb843cdf21a0346b2c852b9006dd2bfd
--- /dev/null
+++ b/test/language/expressions/class/syntax/valid/grammar-static-private-gen-meth-prototype.js
@@ -0,0 +1,20 @@
+// This file was procedurally generated from the following sources:
+// - src/class-elements/grammar-static-private-gen-meth-prototype.case
+// - src/class-elements/syntax/valid/cls-expr-elements-valid-syntax.template
+/*---
+description: Static Generator Private Methods can be named prototype (class expression)
+esid: prod-ClassElement
+features: [generators, class-static-methods-private, class]
+flags: [generated]
+info: |
+    Class Definitions / Static Semantics: Early Errors
+
+    ClassElement : static MethodDefinition
+        It is a Syntax Error if PropName of MethodDefinition is "prototype"
+
+---*/
+
+
+var C = class {
+  static * #prototype() {}
+};
diff --git a/test/language/expressions/class/syntax/valid/grammar-static-private-meth-prototype.js b/test/language/expressions/class/syntax/valid/grammar-static-private-meth-prototype.js
new file mode 100644
index 0000000000000000000000000000000000000000..186104cf2b77b9f06a62331c90ab3ae0d84b9d86
--- /dev/null
+++ b/test/language/expressions/class/syntax/valid/grammar-static-private-meth-prototype.js
@@ -0,0 +1,20 @@
+// This file was procedurally generated from the following sources:
+// - src/class-elements/grammar-static-private-meth-prototype.case
+// - src/class-elements/syntax/valid/cls-expr-elements-valid-syntax.template
+/*---
+description: Static Private Methods can be named prototype (class expression)
+esid: prod-ClassElement
+features: [class-static-methods-private, class]
+flags: [generated]
+info: |
+    Class Definitions / Static Semantics: Early Errors
+
+    ClassElement : static MethodDefinition
+        It is a Syntax Error if PropName of MethodDefinition is "prototype"
+
+---*/
+
+
+var C = class {
+  static #prototype() {}
+};
diff --git a/test/language/statements/class/syntax/early-error/grammar-static-async-gen-meth-prototype.js b/test/language/statements/class/syntax/early-error/grammar-static-async-gen-meth-prototype.js
new file mode 100644
index 0000000000000000000000000000000000000000..d7f677c87e2c9b200df4e04dac3d1a19bb22275a
--- /dev/null
+++ b/test/language/statements/class/syntax/early-error/grammar-static-async-gen-meth-prototype.js
@@ -0,0 +1,25 @@
+// This file was procedurally generated from the following sources:
+// - src/class-elements/grammar-static-async-gen-meth-prototype.case
+// - src/class-elements/syntax/invalid/cls-decl-elements-invalid-syntax.template
+/*---
+description: Static Async Generator Methods cannot be named prototype (class declaration)
+esid: prod-ClassElement
+features: [async-iteration, class]
+flags: [generated]
+negative:
+  phase: parse
+  type: SyntaxError
+info: |
+    Class Definitions / Static Semantics: Early Errors
+
+    ClassElement : static MethodDefinition
+        It is a Syntax Error if PropName of MethodDefinition is "prototype"
+
+---*/
+
+
+throw "Test262: This statement should not be evaluated.";
+
+class C {
+  static async * prototype() {}
+}
diff --git a/test/language/statements/class/syntax/early-error/grammar-static-async-meth-prototype.js b/test/language/statements/class/syntax/early-error/grammar-static-async-meth-prototype.js
new file mode 100644
index 0000000000000000000000000000000000000000..f642d0afd67c5b661374dfd7bd8e928aaeaf7536
--- /dev/null
+++ b/test/language/statements/class/syntax/early-error/grammar-static-async-meth-prototype.js
@@ -0,0 +1,25 @@
+// This file was procedurally generated from the following sources:
+// - src/class-elements/grammar-static-async-meth-prototype.case
+// - src/class-elements/syntax/invalid/cls-decl-elements-invalid-syntax.template
+/*---
+description: Static Async Methods cannot be named prototype (class declaration)
+esid: prod-ClassElement
+features: [async-functions, class]
+flags: [generated]
+negative:
+  phase: parse
+  type: SyntaxError
+info: |
+    Class Definitions / Static Semantics: Early Errors
+
+    ClassElement : static MethodDefinition
+        It is a Syntax Error if PropName of MethodDefinition is "prototype"
+
+---*/
+
+
+throw "Test262: This statement should not be evaluated.";
+
+class C {
+  static async prototype() {}
+}
diff --git a/test/language/statements/class/syntax/early-error/grammar-static-gen-meth-prototype.js b/test/language/statements/class/syntax/early-error/grammar-static-gen-meth-prototype.js
new file mode 100644
index 0000000000000000000000000000000000000000..986f7f00f91e50546bb4bee72bcc03c22f5197ff
--- /dev/null
+++ b/test/language/statements/class/syntax/early-error/grammar-static-gen-meth-prototype.js
@@ -0,0 +1,25 @@
+// This file was procedurally generated from the following sources:
+// - src/class-elements/grammar-static-gen-meth-prototype.case
+// - src/class-elements/syntax/invalid/cls-decl-elements-invalid-syntax.template
+/*---
+description: Static Generator Methods cannot be named prototype (class declaration)
+esid: prod-ClassElement
+features: [generators, class]
+flags: [generated]
+negative:
+  phase: parse
+  type: SyntaxError
+info: |
+    Class Definitions / Static Semantics: Early Errors
+
+    ClassElement : static MethodDefinition
+        It is a Syntax Error if PropName of MethodDefinition is "prototype"
+
+---*/
+
+
+throw "Test262: This statement should not be evaluated.";
+
+class C {
+  static * prototype() {}
+}
diff --git a/test/language/statements/class/syntax/early-error/grammar-static-get-meth-prototype.js b/test/language/statements/class/syntax/early-error/grammar-static-get-meth-prototype.js
new file mode 100644
index 0000000000000000000000000000000000000000..6f24c3418d96123b8216e399db7a742c1b4264b2
--- /dev/null
+++ b/test/language/statements/class/syntax/early-error/grammar-static-get-meth-prototype.js
@@ -0,0 +1,25 @@
+// This file was procedurally generated from the following sources:
+// - src/class-elements/grammar-static-get-meth-prototype.case
+// - src/class-elements/syntax/invalid/cls-decl-elements-invalid-syntax.template
+/*---
+description: Static Accessor get Methods cannot be named prototype (class declaration)
+esid: prod-ClassElement
+features: [class]
+flags: [generated]
+negative:
+  phase: parse
+  type: SyntaxError
+info: |
+    Class Definitions / Static Semantics: Early Errors
+
+    ClassElement : static MethodDefinition
+        It is a Syntax Error if PropName of MethodDefinition is "prototype"
+
+---*/
+
+
+throw "Test262: This statement should not be evaluated.";
+
+class C {
+  static get prototype() {}
+}
diff --git a/test/language/statements/class/syntax/early-error/grammar-static-meth-prototype.js b/test/language/statements/class/syntax/early-error/grammar-static-meth-prototype.js
new file mode 100644
index 0000000000000000000000000000000000000000..92ab353af5bbf402fc85b72c99e9e0043952b62e
--- /dev/null
+++ b/test/language/statements/class/syntax/early-error/grammar-static-meth-prototype.js
@@ -0,0 +1,25 @@
+// This file was procedurally generated from the following sources:
+// - src/class-elements/grammar-static-meth-prototype.case
+// - src/class-elements/syntax/invalid/cls-decl-elements-invalid-syntax.template
+/*---
+description: Static Methods cannot be named prototype (class declaration)
+esid: prod-ClassElement
+features: [class]
+flags: [generated]
+negative:
+  phase: parse
+  type: SyntaxError
+info: |
+    Class Definitions / Static Semantics: Early Errors
+
+    ClassElement : static MethodDefinition
+        It is a Syntax Error if PropName of MethodDefinition is "prototype"
+
+---*/
+
+
+throw "Test262: This statement should not be evaluated.";
+
+class C {
+  static prototype() {}
+}
diff --git a/test/language/statements/class/syntax/early-error/grammar-static-set-meth-prototype.js b/test/language/statements/class/syntax/early-error/grammar-static-set-meth-prototype.js
new file mode 100644
index 0000000000000000000000000000000000000000..1de086e4f49932a5a2dcd9d59189561d2641d33a
--- /dev/null
+++ b/test/language/statements/class/syntax/early-error/grammar-static-set-meth-prototype.js
@@ -0,0 +1,25 @@
+// This file was procedurally generated from the following sources:
+// - src/class-elements/grammar-static-set-meth-prototype.case
+// - src/class-elements/syntax/invalid/cls-decl-elements-invalid-syntax.template
+/*---
+description: Static Accessor set Methods cannot be named prototype (class declaration)
+esid: prod-ClassElement
+features: [class]
+flags: [generated]
+negative:
+  phase: parse
+  type: SyntaxError
+info: |
+    Class Definitions / Static Semantics: Early Errors
+
+    ClassElement : static MethodDefinition
+        It is a Syntax Error if PropName of MethodDefinition is "prototype"
+
+---*/
+
+
+throw "Test262: This statement should not be evaluated.";
+
+class C {
+  static set prototype() {}
+}
diff --git a/test/language/statements/class/syntax/valid/grammar-static-private-async-gen-meth-prototype.js b/test/language/statements/class/syntax/valid/grammar-static-private-async-gen-meth-prototype.js
new file mode 100644
index 0000000000000000000000000000000000000000..06b509c97bd46852e98583c033497c77c24933f7
--- /dev/null
+++ b/test/language/statements/class/syntax/valid/grammar-static-private-async-gen-meth-prototype.js
@@ -0,0 +1,20 @@
+// This file was procedurally generated from the following sources:
+// - src/class-elements/grammar-static-private-async-gen-meth-prototype.case
+// - src/class-elements/syntax/valid/cls-decl-elements-valid-syntax.template
+/*---
+description: Static Async Generator Private Methods can be named prototype (class declaration)
+esid: prod-ClassElement
+features: [async-iteration, class-static-methods-private, class]
+flags: [generated]
+info: |
+    Class Definitions / Static Semantics: Early Errors
+
+    ClassElement : static MethodDefinition
+        It is a Syntax Error if PropName of MethodDefinition is "prototype"
+
+---*/
+
+
+class C {
+  static async * #prototype() {}
+}
diff --git a/test/language/statements/class/syntax/valid/grammar-static-private-async-meth-prototype.js b/test/language/statements/class/syntax/valid/grammar-static-private-async-meth-prototype.js
new file mode 100644
index 0000000000000000000000000000000000000000..376df2d768bc884e6cee21d273ee7abd6b5d57e2
--- /dev/null
+++ b/test/language/statements/class/syntax/valid/grammar-static-private-async-meth-prototype.js
@@ -0,0 +1,20 @@
+// This file was procedurally generated from the following sources:
+// - src/class-elements/grammar-static-private-async-meth-prototype.case
+// - src/class-elements/syntax/valid/cls-decl-elements-valid-syntax.template
+/*---
+description: Static Async Private Methods can be named prototype (class declaration)
+esid: prod-ClassElement
+features: [async-functions, class-static-methods-private, class]
+flags: [generated]
+info: |
+    Class Definitions / Static Semantics: Early Errors
+
+    ClassElement : static MethodDefinition
+        It is a Syntax Error if PropName of MethodDefinition is "prototype"
+
+---*/
+
+
+class C {
+  static async #prototype() {}
+}
diff --git a/test/language/statements/class/syntax/valid/grammar-static-private-gen-meth-prototype.js b/test/language/statements/class/syntax/valid/grammar-static-private-gen-meth-prototype.js
new file mode 100644
index 0000000000000000000000000000000000000000..56bb3105ce24c58585793146e3eb29827a804921
--- /dev/null
+++ b/test/language/statements/class/syntax/valid/grammar-static-private-gen-meth-prototype.js
@@ -0,0 +1,20 @@
+// This file was procedurally generated from the following sources:
+// - src/class-elements/grammar-static-private-gen-meth-prototype.case
+// - src/class-elements/syntax/valid/cls-decl-elements-valid-syntax.template
+/*---
+description: Static Generator Private Methods can be named prototype (class declaration)
+esid: prod-ClassElement
+features: [generators, class-static-methods-private, class]
+flags: [generated]
+info: |
+    Class Definitions / Static Semantics: Early Errors
+
+    ClassElement : static MethodDefinition
+        It is a Syntax Error if PropName of MethodDefinition is "prototype"
+
+---*/
+
+
+class C {
+  static * #prototype() {}
+}
diff --git a/test/language/statements/class/syntax/valid/grammar-static-private-meth-prototype.js b/test/language/statements/class/syntax/valid/grammar-static-private-meth-prototype.js
new file mode 100644
index 0000000000000000000000000000000000000000..111315c043056314f2168172bbcbcbb548126d23
--- /dev/null
+++ b/test/language/statements/class/syntax/valid/grammar-static-private-meth-prototype.js
@@ -0,0 +1,20 @@
+// This file was procedurally generated from the following sources:
+// - src/class-elements/grammar-static-private-meth-prototype.case
+// - src/class-elements/syntax/valid/cls-decl-elements-valid-syntax.template
+/*---
+description: Static Private Methods can be named prototype (class declaration)
+esid: prod-ClassElement
+features: [class-static-methods-private, class]
+flags: [generated]
+info: |
+    Class Definitions / Static Semantics: Early Errors
+
+    ClassElement : static MethodDefinition
+        It is a Syntax Error if PropName of MethodDefinition is "prototype"
+
+---*/
+
+
+class C {
+  static #prototype() {}
+}