diff --git a/src/class-elements/grammar-privatename-constructor.case b/src/class-elements/grammar-privatename-constructor.case
new file mode 100644
index 0000000000000000000000000000000000000000..aff1f6881da7afd153fb4677c7cd4d5847208b33
--- /dev/null
+++ b/src/class-elements/grammar-privatename-constructor.case
@@ -0,0 +1,16 @@
+// Copyright (C) 2018 Leo Balter. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+desc: Private Fields cannot be named constructor
+info: |
+    Class Definitions / Static Semantics: Early Errors
+
+    ClassElementName : PrivateName ;
+        It is a Syntax Error if StringValue of PrivateName is "#constructor"
+template: syntax/invalid
+features: [class-fields-private]
+---*/
+
+//- elements
+#constructor
diff --git a/src/class-elements/grammar-static-private-async-gen-meth-constructor.case b/src/class-elements/grammar-static-private-async-gen-meth-constructor.case
new file mode 100644
index 0000000000000000000000000000000000000000..95dd8e357c7c5686f634987bc3c197482e92b6a9
--- /dev/null
+++ b/src/class-elements/grammar-static-private-async-gen-meth-constructor.case
@@ -0,0 +1,16 @@
+// Copyright (C) 2018 Leo Balter. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+desc: Static Async Generator Private Methods cannot be named constructor
+info: |
+    Class Definitions / Static Semantics: Early Errors
+
+    ClassElementName : PrivateName ;
+        It is a Syntax Error if StringValue of PrivateName is "#constructor"
+template: syntax/invalid
+features: [async-iteration, class-static-methods-private]
+---*/
+
+//- elements
+static async * #constructor() {}
diff --git a/src/class-elements/grammar-static-private-async-meth-constructor.case b/src/class-elements/grammar-static-private-async-meth-constructor.case
new file mode 100644
index 0000000000000000000000000000000000000000..dbcfa23b2ee812853fc85d5c65795c3279e83e32
--- /dev/null
+++ b/src/class-elements/grammar-static-private-async-meth-constructor.case
@@ -0,0 +1,16 @@
+// Copyright (C) 2018 Leo Balter. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+desc: Static Async Private Methods cannot be named constructor
+info: |
+    Class Definitions / Static Semantics: Early Errors
+
+    ClassElementName : PrivateName ;
+        It is a Syntax Error if StringValue of PrivateName is "#constructor"
+template: syntax/invalid
+features: [async-functions, class-static-methods-private]
+---*/
+
+//- elements
+static async #constructor() {}
diff --git a/src/class-elements/grammar-static-private-gen-meth-constructor.case b/src/class-elements/grammar-static-private-gen-meth-constructor.case
new file mode 100644
index 0000000000000000000000000000000000000000..d2bb110ce9ae96e08626039acd32da654ff8e37a
--- /dev/null
+++ b/src/class-elements/grammar-static-private-gen-meth-constructor.case
@@ -0,0 +1,16 @@
+// Copyright (C) 2018 Leo Balter. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+desc: Static Generator Private Methods cannot be named constructor
+info: |
+    Class Definitions / Static Semantics: Early Errors
+
+    ClassElementName : PrivateName ;
+        It is a Syntax Error if StringValue of PrivateName is "#constructor"
+template: syntax/invalid
+features: [generators, class-static-methods-private]
+---*/
+
+//- elements
+static * #constructor() {}
diff --git a/src/class-elements/grammar-static-private-meth-constructor.case b/src/class-elements/grammar-static-private-meth-constructor.case
new file mode 100644
index 0000000000000000000000000000000000000000..17757ee24bbaa98a444853331a415634e799abed
--- /dev/null
+++ b/src/class-elements/grammar-static-private-meth-constructor.case
@@ -0,0 +1,16 @@
+// Copyright (C) 2018 Leo Balter. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+desc: Static Private Methods cannot be named constructor
+info: |
+    Class Definitions / Static Semantics: Early Errors
+
+    ClassElementName : PrivateName ;
+        It is a Syntax Error if StringValue of PrivateName is "#constructor"
+template: syntax/invalid
+features: [class-static-methods-private]
+---*/
+
+//- elements
+static #constructor() {}
diff --git a/src/class-elements/grammar-static-privatename-constructor.case b/src/class-elements/grammar-static-privatename-constructor.case
new file mode 100644
index 0000000000000000000000000000000000000000..83f23e7014edf732ef9269d60d0627aae2f4887f
--- /dev/null
+++ b/src/class-elements/grammar-static-privatename-constructor.case
@@ -0,0 +1,16 @@
+// Copyright (C) 2018 Leo Balter. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+desc: Static Private Fields cannot be named constructor
+info: |
+    Class Definitions / Static Semantics: Early Errors
+
+    ClassElementName : PrivateName ;
+        It is a Syntax Error if StringValue of PrivateName is "#constructor"
+template: syntax/invalid
+features: [class-static-fields-private]
+---*/
+
+//- elements
+static #constructor