From 06aaef8ecdbc6f2b1cf28fd8022327bae9475b25 Mon Sep 17 00:00:00 2001
From: Rick Waldron <waldron.rick@gmail.com>
Date: Thu, 21 Dec 2017 16:35:05 -0500
Subject: [PATCH] Restore & update existing static class field cases/templates

---
 .../cls-decl-static-field-initializer.template | 16 ++++++++++++++++
 .../cls-decl-static-literal-name.template      | 16 ++++++++++++++++
 .../cls-expr-static-field-initializer.template | 16 ++++++++++++++++
 .../cls-expr-static-literal-name.template      | 16 ++++++++++++++++
 .../static-private-fields-forbidden.case       | 11 +++++++++++
 .../static-public-fields-forbidden.case        | 11 +++++++++++
 ...tializer-static-private-fields-forbidden.js | 18 ++++++++++++++++++
 ...itializer-static-public-fields-forbidden.js | 18 ++++++++++++++++++
 ...rop-name-static-private-fields-forbidden.js | 18 ++++++++++++++++++
 ...prop-name-static-public-fields-forbidden.js | 18 ++++++++++++++++++
 ...tializer-static-private-fields-forbidden.js | 18 ++++++++++++++++++
 ...itializer-static-public-fields-forbidden.js | 18 ++++++++++++++++++
 ...rop-name-static-private-fields-forbidden.js | 18 ++++++++++++++++++
 ...prop-name-static-public-fields-forbidden.js | 18 ++++++++++++++++++
 14 files changed, 230 insertions(+)
 create mode 100644 src/class-fields/propname-error-static/cls-decl-static-field-initializer.template
 create mode 100644 src/class-fields/propname-error-static/cls-decl-static-literal-name.template
 create mode 100644 src/class-fields/propname-error-static/cls-expr-static-field-initializer.template
 create mode 100644 src/class-fields/propname-error-static/cls-expr-static-literal-name.template
 create mode 100644 src/class-fields/static-private-fields-forbidden.case
 create mode 100644 src/class-fields/static-public-fields-forbidden.case
 create mode 100644 test/language/expressions/class/fields-initializer-static-private-fields-forbidden.js
 create mode 100644 test/language/expressions/class/fields-initializer-static-public-fields-forbidden.js
 create mode 100644 test/language/expressions/class/fields-prop-name-static-private-fields-forbidden.js
 create mode 100644 test/language/expressions/class/fields-prop-name-static-public-fields-forbidden.js
 create mode 100644 test/language/statements/class/fields-initializer-static-private-fields-forbidden.js
 create mode 100644 test/language/statements/class/fields-initializer-static-public-fields-forbidden.js
 create mode 100644 test/language/statements/class/fields-prop-name-static-private-fields-forbidden.js
 create mode 100644 test/language/statements/class/fields-prop-name-static-public-fields-forbidden.js

diff --git a/src/class-fields/propname-error-static/cls-decl-static-field-initializer.template b/src/class-fields/propname-error-static/cls-decl-static-field-initializer.template
new file mode 100644
index 0000000000..f51bd6b3fa
--- /dev/null
+++ b/src/class-fields/propname-error-static/cls-decl-static-field-initializer.template
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+path: language/statements/class/fields-initializer-
+name: early error -- static ClassElementName Initializer
+negative:
+  type: SyntaxError
+  phase: early
+---*/
+
+throw "Test262: This statement should not be evaluated.";
+
+class C {
+  static /*{ propname }*/ = 0;
+}
diff --git a/src/class-fields/propname-error-static/cls-decl-static-literal-name.template b/src/class-fields/propname-error-static/cls-decl-static-literal-name.template
new file mode 100644
index 0000000000..bba9b7d151
--- /dev/null
+++ b/src/class-fields/propname-error-static/cls-decl-static-literal-name.template
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+path: language/statements/class/fields-prop-name-
+name: early error -- static ClassElementName
+negative:
+  type: SyntaxError
+  phase: early
+---*/
+
+throw "Test262: This statement should not be evaluated.";
+
+class C {
+  static /*{ propname }*/;
+}
diff --git a/src/class-fields/propname-error-static/cls-expr-static-field-initializer.template b/src/class-fields/propname-error-static/cls-expr-static-field-initializer.template
new file mode 100644
index 0000000000..c59ae1a643
--- /dev/null
+++ b/src/class-fields/propname-error-static/cls-expr-static-field-initializer.template
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+path: language/expressions/class/fields-initializer-
+name: early error -- static ClassElementName Initializer
+negative:
+  type: SyntaxError
+  phase: early
+---*/
+
+throw "Test262: This statement should not be evaluated.";
+
+var C = class {
+  static /*{ propname }*/ = 0;
+};
diff --git a/src/class-fields/propname-error-static/cls-expr-static-literal-name.template b/src/class-fields/propname-error-static/cls-expr-static-literal-name.template
new file mode 100644
index 0000000000..e83ef26a39
--- /dev/null
+++ b/src/class-fields/propname-error-static/cls-expr-static-literal-name.template
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+path: language/expressions/class/fields-prop-name-
+name: early error -- static ClassElementName
+negative:
+  type: SyntaxError
+  phase: early
+---*/
+
+throw "Test262: This statement should not be evaluated.";
+
+var C = class {
+  static /*{ propname }*/;
+};
diff --git a/src/class-fields/static-private-fields-forbidden.case b/src/class-fields/static-private-fields-forbidden.case
new file mode 100644
index 0000000000..5130caf9a6
--- /dev/null
+++ b/src/class-fields/static-private-fields-forbidden.case
@@ -0,0 +1,11 @@
+// Copyright (C) 2017 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+desc: static private class fields forbidden
+features: [class, class-fields-private]
+template: propname-error-static
+---*/
+
+//- propname
+#field
diff --git a/src/class-fields/static-public-fields-forbidden.case b/src/class-fields/static-public-fields-forbidden.case
new file mode 100644
index 0000000000..f5390bf748
--- /dev/null
+++ b/src/class-fields/static-public-fields-forbidden.case
@@ -0,0 +1,11 @@
+// Copyright (C) 2017 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+desc: static public class fields forbidden
+features: [class, class-fields-public]
+template: propname-error-static
+---*/
+
+//- propname
+field
diff --git a/test/language/expressions/class/fields-initializer-static-private-fields-forbidden.js b/test/language/expressions/class/fields-initializer-static-private-fields-forbidden.js
new file mode 100644
index 0000000000..f281edb468
--- /dev/null
+++ b/test/language/expressions/class/fields-initializer-static-private-fields-forbidden.js
@@ -0,0 +1,18 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/static-private-fields-forbidden.case
+// - src/class-fields/propname-error-static/cls-expr-static-field-initializer.template
+/*---
+description: static private class fields forbidden (early error -- static ClassElementName Initializer)
+features: [class, class-fields-private]
+flags: [generated]
+negative:
+  phase: early
+  type: SyntaxError
+---*/
+
+
+throw "Test262: This statement should not be evaluated.";
+
+var C = class {
+  static #field = 0;
+};
diff --git a/test/language/expressions/class/fields-initializer-static-public-fields-forbidden.js b/test/language/expressions/class/fields-initializer-static-public-fields-forbidden.js
new file mode 100644
index 0000000000..e43ac4dae9
--- /dev/null
+++ b/test/language/expressions/class/fields-initializer-static-public-fields-forbidden.js
@@ -0,0 +1,18 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/static-public-fields-forbidden.case
+// - src/class-fields/propname-error-static/cls-expr-static-field-initializer.template
+/*---
+description: static public class fields forbidden (early error -- static ClassElementName Initializer)
+features: [class, class-fields-public]
+flags: [generated]
+negative:
+  phase: early
+  type: SyntaxError
+---*/
+
+
+throw "Test262: This statement should not be evaluated.";
+
+var C = class {
+  static field = 0;
+};
diff --git a/test/language/expressions/class/fields-prop-name-static-private-fields-forbidden.js b/test/language/expressions/class/fields-prop-name-static-private-fields-forbidden.js
new file mode 100644
index 0000000000..164f489f9f
--- /dev/null
+++ b/test/language/expressions/class/fields-prop-name-static-private-fields-forbidden.js
@@ -0,0 +1,18 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/static-private-fields-forbidden.case
+// - src/class-fields/propname-error-static/cls-expr-static-literal-name.template
+/*---
+description: static private class fields forbidden (early error -- static ClassElementName)
+features: [class, class-fields-private]
+flags: [generated]
+negative:
+  phase: early
+  type: SyntaxError
+---*/
+
+
+throw "Test262: This statement should not be evaluated.";
+
+var C = class {
+  static #field;
+};
diff --git a/test/language/expressions/class/fields-prop-name-static-public-fields-forbidden.js b/test/language/expressions/class/fields-prop-name-static-public-fields-forbidden.js
new file mode 100644
index 0000000000..83cd633c55
--- /dev/null
+++ b/test/language/expressions/class/fields-prop-name-static-public-fields-forbidden.js
@@ -0,0 +1,18 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/static-public-fields-forbidden.case
+// - src/class-fields/propname-error-static/cls-expr-static-literal-name.template
+/*---
+description: static public class fields forbidden (early error -- static ClassElementName)
+features: [class, class-fields-public]
+flags: [generated]
+negative:
+  phase: early
+  type: SyntaxError
+---*/
+
+
+throw "Test262: This statement should not be evaluated.";
+
+var C = class {
+  static field;
+};
diff --git a/test/language/statements/class/fields-initializer-static-private-fields-forbidden.js b/test/language/statements/class/fields-initializer-static-private-fields-forbidden.js
new file mode 100644
index 0000000000..a4f1bea6e5
--- /dev/null
+++ b/test/language/statements/class/fields-initializer-static-private-fields-forbidden.js
@@ -0,0 +1,18 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/static-private-fields-forbidden.case
+// - src/class-fields/propname-error-static/cls-decl-static-field-initializer.template
+/*---
+description: static private class fields forbidden (early error -- static ClassElementName Initializer)
+features: [class, class-fields-private]
+flags: [generated]
+negative:
+  phase: early
+  type: SyntaxError
+---*/
+
+
+throw "Test262: This statement should not be evaluated.";
+
+class C {
+  static #field = 0;
+}
diff --git a/test/language/statements/class/fields-initializer-static-public-fields-forbidden.js b/test/language/statements/class/fields-initializer-static-public-fields-forbidden.js
new file mode 100644
index 0000000000..1271f0caa1
--- /dev/null
+++ b/test/language/statements/class/fields-initializer-static-public-fields-forbidden.js
@@ -0,0 +1,18 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/static-public-fields-forbidden.case
+// - src/class-fields/propname-error-static/cls-decl-static-field-initializer.template
+/*---
+description: static public class fields forbidden (early error -- static ClassElementName Initializer)
+features: [class, class-fields-public]
+flags: [generated]
+negative:
+  phase: early
+  type: SyntaxError
+---*/
+
+
+throw "Test262: This statement should not be evaluated.";
+
+class C {
+  static field = 0;
+}
diff --git a/test/language/statements/class/fields-prop-name-static-private-fields-forbidden.js b/test/language/statements/class/fields-prop-name-static-private-fields-forbidden.js
new file mode 100644
index 0000000000..2f3a55741e
--- /dev/null
+++ b/test/language/statements/class/fields-prop-name-static-private-fields-forbidden.js
@@ -0,0 +1,18 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/static-private-fields-forbidden.case
+// - src/class-fields/propname-error-static/cls-decl-static-literal-name.template
+/*---
+description: static private class fields forbidden (early error -- static ClassElementName)
+features: [class, class-fields-private]
+flags: [generated]
+negative:
+  phase: early
+  type: SyntaxError
+---*/
+
+
+throw "Test262: This statement should not be evaluated.";
+
+class C {
+  static #field;
+}
diff --git a/test/language/statements/class/fields-prop-name-static-public-fields-forbidden.js b/test/language/statements/class/fields-prop-name-static-public-fields-forbidden.js
new file mode 100644
index 0000000000..056dd443b0
--- /dev/null
+++ b/test/language/statements/class/fields-prop-name-static-public-fields-forbidden.js
@@ -0,0 +1,18 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/static-public-fields-forbidden.case
+// - src/class-fields/propname-error-static/cls-decl-static-literal-name.template
+/*---
+description: static public class fields forbidden (early error -- static ClassElementName)
+features: [class, class-fields-public]
+flags: [generated]
+negative:
+  phase: early
+  type: SyntaxError
+---*/
+
+
+throw "Test262: This statement should not be evaluated.";
+
+class C {
+  static field;
+}
-- 
GitLab