From 3e2d3495c81cc0f0776946f28b8cc9fd4f5c385a Mon Sep 17 00:00:00 2001
From: Leo Balter <leonardo.balter@gmail.com>
Date: Tue, 28 Nov 2017 12:46:58 -0500
Subject: [PATCH] Add features for class public fields

---
 src/class-fields/class-evaluation-error/cls-decl.template       | 2 +-
 src/class-fields/class-evaluation-error/cls-expr.template       | 2 +-
 src/class-fields/default/cls-decl.template                      | 2 +-
 src/class-fields/default/cls-expr.template                      | 2 +-
 src/class-fields/eval-err-contains-arguments.case               | 2 +-
 src/class-fields/eval-err-contains-newtarget.case               | 2 +-
 src/class-fields/eval-err-contains-supercall-1.case             | 2 +-
 src/class-fields/eval-err-contains-supercall-2.case             | 2 +-
 src/class-fields/eval-err-contains-supercall.case               | 2 +-
 src/class-fields/eval-err-contains-superproperty-1.case         | 2 +-
 src/class-fields/eval-err-contains-superproperty-2.case         | 2 +-
 src/class-fields/init-err-contains-arguments.case               | 2 +-
 src/class-fields/init-err-contains-super.case                   | 2 +-
 .../productions/cls-decl-after-same-line-async-gen.template     | 2 +-
 .../productions/cls-decl-after-same-line-async-method.template  | 2 +-
 .../productions/cls-decl-after-same-line-gen.template           | 2 +-
 .../productions/cls-decl-after-same-line-method.template        | 2 +-
 .../cls-decl-after-same-line-static-async-gen.template          | 2 +-
 .../cls-decl-after-same-line-static-async-method.template       | 2 +-
 .../productions/cls-decl-after-same-line-static-gen.template    | 2 +-
 .../productions/cls-decl-after-same-line-static-method.template | 2 +-
 .../productions/cls-decl-multiple-definitions.template          | 2 +-
 .../productions/cls-decl-multiple-stacked-definitions.template  | 2 +-
 .../productions/cls-decl-new-no-sc-line-method.template         | 2 +-
 .../productions/cls-decl-new-sc-line-generator.template         | 2 +-
 .../productions/cls-decl-new-sc-line-method.template            | 2 +-
 .../productions/cls-decl-regular-definitions.template           | 2 +-
 .../productions/cls-decl-same-line-generator.template           | 2 +-
 src/class-fields/productions/cls-decl-same-line-method.template | 2 +-
 src/class-fields/productions/cls-decl-wrapped-in-sc.template    | 2 +-
 .../productions/cls-expr-after-same-line-async-gen.template     | 2 +-
 .../productions/cls-expr-after-same-line-async-method.template  | 2 +-
 .../productions/cls-expr-after-same-line-gen.template           | 2 +-
 .../productions/cls-expr-after-same-line-method.template        | 2 +-
 .../cls-expr-after-same-line-static-async-gen.template          | 2 +-
 .../cls-expr-after-same-line-static-async-method.template       | 2 +-
 .../productions/cls-expr-after-same-line-static-gen.template    | 2 +-
 .../productions/cls-expr-after-same-line-static-method.template | 2 +-
 .../productions/cls-expr-multiple-definitions.template          | 2 +-
 .../productions/cls-expr-multiple-stacked-definitions.template  | 2 +-
 .../productions/cls-expr-new-no-sc-line-method.template         | 2 +-
 .../productions/cls-expr-new-sc-line-generator.template         | 2 +-
 .../productions/cls-expr-new-sc-line-method.template            | 2 +-
 .../productions/cls-expr-regular-definitions.template           | 2 +-
 .../productions/cls-expr-same-line-generator.template           | 2 +-
 src/class-fields/productions/cls-expr-same-line-method.template | 2 +-
 src/class-fields/productions/cls-expr-wrapped-in-sc.template    | 2 +-
 src/class-fields/propname-constructor.case                      | 2 +-
 src/class-fields/static-propname-constructor.case               | 2 +-
 src/class-fields/static-propname-prototype.case                 | 2 +-
 50 files changed, 50 insertions(+), 50 deletions(-)

diff --git a/src/class-fields/class-evaluation-error/cls-decl.template b/src/class-fields/class-evaluation-error/cls-decl.template
index 2b141c930a..6a77134e10 100644
--- a/src/class-fields/class-evaluation-error/cls-decl.template
+++ b/src/class-fields/class-evaluation-error/cls-decl.template
@@ -4,7 +4,7 @@
 /*---
 path: language/statements/class/fields-evaluation-error-
 name: field definitions in a class declaration
-features: [class-fields]
+features: [class, class-fields-public]
 esid: sec-runtime-semantics-classdefinitionevaluation
 ---*/
 
diff --git a/src/class-fields/class-evaluation-error/cls-expr.template b/src/class-fields/class-evaluation-error/cls-expr.template
index d7cf4339ac..55735b5974 100644
--- a/src/class-fields/class-evaluation-error/cls-expr.template
+++ b/src/class-fields/class-evaluation-error/cls-expr.template
@@ -4,7 +4,7 @@
 /*---
 path: language/expressions/class/fields-evaluation-error-
 name: field definitions in a class expression
-features: [class-fields]
+features: [class, class-fields-public]
 esid: sec-runtime-semantics-classdefinitionevaluation
 ---*/
 
diff --git a/src/class-fields/default/cls-decl.template b/src/class-fields/default/cls-decl.template
index e46471f6a3..8acd1452b8 100644
--- a/src/class-fields/default/cls-decl.template
+++ b/src/class-fields/default/cls-decl.template
@@ -4,7 +4,7 @@
 /*---
 path: language/statements/class/fields-
 name: field definitions in a class declaration
-features: [class-fields]
+features: [class, class-fields-public]
 esid: prod-FieldDefinition
 ---*/
 
diff --git a/src/class-fields/default/cls-expr.template b/src/class-fields/default/cls-expr.template
index 5b22f06c8a..1ea8cc02e1 100644
--- a/src/class-fields/default/cls-expr.template
+++ b/src/class-fields/default/cls-expr.template
@@ -4,7 +4,7 @@
 /*---
 path: language/expressions/class/fields-
 name: field definitions in a class expression
-features: [class-fields]
+features: [class, class-fields-public]
 esid: prod-FieldDefinition
 ---*/
 
diff --git a/src/class-fields/eval-err-contains-arguments.case b/src/class-fields/eval-err-contains-arguments.case
index f9a6f6345d..9f3b661fd5 100644
--- a/src/class-fields/eval-err-contains-arguments.case
+++ b/src/class-fields/eval-err-contains-arguments.case
@@ -17,7 +17,7 @@ info: |
     1. If the StringValue of Identifier is "arguments", return true.
     ...
     For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
-features: [class-fields]
+features: [class, class-fields-public]
 template: initializer-eval-arguments
 ---*/
 
diff --git a/src/class-fields/eval-err-contains-newtarget.case b/src/class-fields/eval-err-contains-newtarget.case
index 65ab504e41..28688867af 100644
--- a/src/class-fields/eval-err-contains-newtarget.case
+++ b/src/class-fields/eval-err-contains-newtarget.case
@@ -16,7 +16,7 @@ info: |
   ScriptBody:StatementList
 
     It is a Syntax Error if StatementList Contains NewTarget.
-features: [class-fields]
+features: [class, class-fields-public]
 template: initializer-eval-newtarget
 ---*/
 
diff --git a/src/class-fields/eval-err-contains-supercall-1.case b/src/class-fields/eval-err-contains-supercall-1.case
index 7be53f9427..27469abd5e 100644
--- a/src/class-fields/eval-err-contains-supercall-1.case
+++ b/src/class-fields/eval-err-contains-supercall-1.case
@@ -16,7 +16,7 @@ info: |
   ScriptBody:StatementList
 
     It is a Syntax Error if StatementList Contains SuperCall.
-features: [class-fields]
+features: [class, class-fields-public]
 template: initializer-eval-super-call
 ---*/
 
diff --git a/src/class-fields/eval-err-contains-supercall-2.case b/src/class-fields/eval-err-contains-supercall-2.case
index d0c9e34491..cdddc77917 100644
--- a/src/class-fields/eval-err-contains-supercall-2.case
+++ b/src/class-fields/eval-err-contains-supercall-2.case
@@ -16,7 +16,7 @@ info: |
   ScriptBody:StatementList
 
     It is a Syntax Error if StatementList Contains SuperCall.
-features: [class-fields]
+features: [class, class-fields-public]
 template: initializer-eval-super-call
 ---*/
 
diff --git a/src/class-fields/eval-err-contains-supercall.case b/src/class-fields/eval-err-contains-supercall.case
index b6370bc13e..55e7f213f2 100644
--- a/src/class-fields/eval-err-contains-supercall.case
+++ b/src/class-fields/eval-err-contains-supercall.case
@@ -16,7 +16,7 @@ info: |
   ScriptBody:StatementList
 
     It is a Syntax Error if StatementList Contains SuperCall.
-features: [class-fields]
+features: [class, class-fields-public]
 template: initializer-eval-super-call
 ---*/
 
diff --git a/src/class-fields/eval-err-contains-superproperty-1.case b/src/class-fields/eval-err-contains-superproperty-1.case
index 0d9a2d3a52..9241e3a1c4 100644
--- a/src/class-fields/eval-err-contains-superproperty-1.case
+++ b/src/class-fields/eval-err-contains-superproperty-1.case
@@ -16,7 +16,7 @@ info: |
   ScriptBody:StatementList
 
     It is a Syntax Error if StatementList Contains SuperProperty.
-features: [class-fields]
+features: [class, class-fields-public]
 template: initializer-eval-super-property
 ---*/
 
diff --git a/src/class-fields/eval-err-contains-superproperty-2.case b/src/class-fields/eval-err-contains-superproperty-2.case
index 7840bdb77f..f770e42cdb 100644
--- a/src/class-fields/eval-err-contains-superproperty-2.case
+++ b/src/class-fields/eval-err-contains-superproperty-2.case
@@ -16,7 +16,7 @@ info: |
   ScriptBody:StatementList
 
     It is a Syntax Error if StatementList Contains SuperProperty.
-features: [class-fields]
+features: [class, class-fields-public]
 template: initializer-eval-super-property
 ---*/
 
diff --git a/src/class-fields/init-err-contains-arguments.case b/src/class-fields/init-err-contains-arguments.case
index 605cdd32dd..d6c2b6d7e3 100644
--- a/src/class-fields/init-err-contains-arguments.case
+++ b/src/class-fields/init-err-contains-arguments.case
@@ -17,7 +17,7 @@ info: |
     1. If the StringValue of Identifier is "arguments", return true.
     ...
     For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
-features: [class-fields]
+features: [class, class-fields-public]
 negative:
   type: SyntaxError
   phase: early
diff --git a/src/class-fields/init-err-contains-super.case b/src/class-fields/init-err-contains-super.case
index 49aa3c9bff..29a141ef2c 100644
--- a/src/class-fields/init-err-contains-super.case
+++ b/src/class-fields/init-err-contains-super.case
@@ -10,7 +10,7 @@ info: |
       PropertyNameInitializeropt
 
     - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
-features: [class-fields]
+features: [class, class-fields-public]
 negative:
   type: SyntaxError
   phase: early
diff --git a/src/class-fields/productions/cls-decl-after-same-line-async-gen.template b/src/class-fields/productions/cls-decl-after-same-line-async-gen.template
index 81d3548cf8..7f6370a8f9 100644
--- a/src/class-fields/productions/cls-decl-after-same-line-async-gen.template
+++ b/src/class-fields/productions/cls-decl-after-same-line-async-gen.template
@@ -4,7 +4,7 @@
 /*---
 path: language/statements/class/fields-same-line-async-gen-
 name: field definitions after an async generator in the same line
-features: [class-fields, async-iteration]
+features: [class, class-fields-public, async-iteration]
 flags: [async]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
diff --git a/src/class-fields/productions/cls-decl-after-same-line-async-method.template b/src/class-fields/productions/cls-decl-after-same-line-async-method.template
index 62b48966f4..3f27b16f39 100644
--- a/src/class-fields/productions/cls-decl-after-same-line-async-method.template
+++ b/src/class-fields/productions/cls-decl-after-same-line-async-method.template
@@ -4,7 +4,7 @@
 /*---
 path: language/statements/class/fields-same-line-async-method-
 name: field definitions after an async method in the same line
-features: [class-fields, async-functions]
+features: [class, class-fields-public, async-functions]
 flags: [async]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
diff --git a/src/class-fields/productions/cls-decl-after-same-line-gen.template b/src/class-fields/productions/cls-decl-after-same-line-gen.template
index 7ca401a7cc..685e9a932c 100644
--- a/src/class-fields/productions/cls-decl-after-same-line-gen.template
+++ b/src/class-fields/productions/cls-decl-after-same-line-gen.template
@@ -4,7 +4,7 @@
 /*---
 path: language/statements/class/fields-after-same-line-gen-
 name: field definitions after a generator in the same line
-features: [generators, class-fields]
+features: [generators, class, class-fields-public]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
 ---*/
diff --git a/src/class-fields/productions/cls-decl-after-same-line-method.template b/src/class-fields/productions/cls-decl-after-same-line-method.template
index ab59c5bb94..03c468685b 100644
--- a/src/class-fields/productions/cls-decl-after-same-line-method.template
+++ b/src/class-fields/productions/cls-decl-after-same-line-method.template
@@ -4,7 +4,7 @@
 /*---
 path: language/statements/class/fields-after-same-line-method-
 name: field definitions after a method in the same line
-features: [class-fields]
+features: [class, class-fields-public]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
 ---*/
diff --git a/src/class-fields/productions/cls-decl-after-same-line-static-async-gen.template b/src/class-fields/productions/cls-decl-after-same-line-static-async-gen.template
index 68d9687cdd..4e9a9bbe9b 100644
--- a/src/class-fields/productions/cls-decl-after-same-line-static-async-gen.template
+++ b/src/class-fields/productions/cls-decl-after-same-line-static-async-gen.template
@@ -4,7 +4,7 @@
 /*---
 path: language/statements/class/fields-after-same-line-static-async-gen-
 name: field definitions after a static async generator in the same line
-features: [class-fields, async-iteration]
+features: [class, class-fields-public, async-iteration]
 flags: [async]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
diff --git a/src/class-fields/productions/cls-decl-after-same-line-static-async-method.template b/src/class-fields/productions/cls-decl-after-same-line-static-async-method.template
index 5b5bb56a1d..df3ff3aca1 100644
--- a/src/class-fields/productions/cls-decl-after-same-line-static-async-method.template
+++ b/src/class-fields/productions/cls-decl-after-same-line-static-async-method.template
@@ -4,7 +4,7 @@
 /*---
 path: language/statements/class/fields-after-same-line-static-async-method-
 name: field definitions after a static async method in the same line
-features: [class-fields, async-functions]
+features: [class, class-fields-public, async-functions]
 flags: [async]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
diff --git a/src/class-fields/productions/cls-decl-after-same-line-static-gen.template b/src/class-fields/productions/cls-decl-after-same-line-static-gen.template
index 1c9137c271..68e5251f0d 100644
--- a/src/class-fields/productions/cls-decl-after-same-line-static-gen.template
+++ b/src/class-fields/productions/cls-decl-after-same-line-static-gen.template
@@ -4,7 +4,7 @@
 /*---
 path: language/statements/class/fields-after-same-line-static-gen-
 name: field definitions after a static generator in the same line
-features: [generators, class-fields]
+features: [generators, class, class-fields-public]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
 ---*/
diff --git a/src/class-fields/productions/cls-decl-after-same-line-static-method.template b/src/class-fields/productions/cls-decl-after-same-line-static-method.template
index 2d13512658..cce75d1726 100644
--- a/src/class-fields/productions/cls-decl-after-same-line-static-method.template
+++ b/src/class-fields/productions/cls-decl-after-same-line-static-method.template
@@ -4,7 +4,7 @@
 /*---
 path: language/statements/class/fields-after-same-line-static-method-
 name: field definitions after a static method in the same line
-features: [class-fields]
+features: [class, class-fields-public]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
 ---*/
diff --git a/src/class-fields/productions/cls-decl-multiple-definitions.template b/src/class-fields/productions/cls-decl-multiple-definitions.template
index 583c8f3770..a64f7bc539 100644
--- a/src/class-fields/productions/cls-decl-multiple-definitions.template
+++ b/src/class-fields/productions/cls-decl-multiple-definitions.template
@@ -4,7 +4,7 @@
 /*---
 path: language/statements/class/fields-multiple-definitions-
 name: multiple fields definitions
-features: [class-fields]
+features: [class, class-fields-public]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
 ---*/
diff --git a/src/class-fields/productions/cls-decl-multiple-stacked-definitions.template b/src/class-fields/productions/cls-decl-multiple-stacked-definitions.template
index 7c95c62ff1..e65c65475c 100644
--- a/src/class-fields/productions/cls-decl-multiple-stacked-definitions.template
+++ b/src/class-fields/productions/cls-decl-multiple-stacked-definitions.template
@@ -4,7 +4,7 @@
 /*---
 path: language/statements/class/fields-multiple-stacked-definitions-
 name: multiple stacked fields definitions through ASI
-features: [class-fields]
+features: [class, class-fields-public]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
 ---*/
diff --git a/src/class-fields/productions/cls-decl-new-no-sc-line-method.template b/src/class-fields/productions/cls-decl-new-no-sc-line-method.template
index 630d9c51e2..bc7bedf155 100644
--- a/src/class-fields/productions/cls-decl-new-no-sc-line-method.template
+++ b/src/class-fields/productions/cls-decl-new-no-sc-line-method.template
@@ -4,7 +4,7 @@
 /*---
 path: language/statements/class/fields-new-no-sc-line-method-
 name: field definitions followed by a method in a new line without a semicolon
-features: [class-fields]
+features: [class, class-fields-public]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
 ---*/
diff --git a/src/class-fields/productions/cls-decl-new-sc-line-generator.template b/src/class-fields/productions/cls-decl-new-sc-line-generator.template
index b347c09b92..3ae2f7ebaa 100644
--- a/src/class-fields/productions/cls-decl-new-sc-line-generator.template
+++ b/src/class-fields/productions/cls-decl-new-sc-line-generator.template
@@ -4,7 +4,7 @@
 /*---
 path: language/statements/class/fields-new-sc-line-gen-
 name: field definitions followed by a method in a new line with a semicolon
-features: [class-fields, generators]
+features: [class, class-fields-public, generators]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
 ---*/
diff --git a/src/class-fields/productions/cls-decl-new-sc-line-method.template b/src/class-fields/productions/cls-decl-new-sc-line-method.template
index 4f714e29f8..1bdd2ab6f7 100644
--- a/src/class-fields/productions/cls-decl-new-sc-line-method.template
+++ b/src/class-fields/productions/cls-decl-new-sc-line-method.template
@@ -4,7 +4,7 @@
 /*---
 path: language/statements/class/fields-new-sc-line-method-
 name: field definitions followed by a method in a new line with a semicolon
-features: [class-fields]
+features: [class, class-fields-public]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
 ---*/
diff --git a/src/class-fields/productions/cls-decl-regular-definitions.template b/src/class-fields/productions/cls-decl-regular-definitions.template
index 4ccdd76f7f..870e20b98b 100644
--- a/src/class-fields/productions/cls-decl-regular-definitions.template
+++ b/src/class-fields/productions/cls-decl-regular-definitions.template
@@ -4,7 +4,7 @@
 /*---
 path: language/statements/class/fields-regular-definitions-
 name: regular fields defintion
-features: [class-fields]
+features: [class, class-fields-public]
 esid: prod-FieldDefinition
 ---*/
 
diff --git a/src/class-fields/productions/cls-decl-same-line-generator.template b/src/class-fields/productions/cls-decl-same-line-generator.template
index 420268b69d..467e259d84 100644
--- a/src/class-fields/productions/cls-decl-same-line-generator.template
+++ b/src/class-fields/productions/cls-decl-same-line-generator.template
@@ -4,7 +4,7 @@
 /*---
 path: language/statements/class/fields-same-line-gen-
 name: field definitions followed by a generator method in the same line
-features: [class-fields, generators]
+features: [class, class-fields-public, generators]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
 ---*/
diff --git a/src/class-fields/productions/cls-decl-same-line-method.template b/src/class-fields/productions/cls-decl-same-line-method.template
index 3b1be5f583..7b1bd68cec 100644
--- a/src/class-fields/productions/cls-decl-same-line-method.template
+++ b/src/class-fields/productions/cls-decl-same-line-method.template
@@ -4,7 +4,7 @@
 /*---
 path: language/statements/class/fields-same-line-method-
 name: field definitions followed by a method in the same line
-features: [class-fields]
+features: [class, class-fields-public]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
 ---*/
diff --git a/src/class-fields/productions/cls-decl-wrapped-in-sc.template b/src/class-fields/productions/cls-decl-wrapped-in-sc.template
index b76403262a..ccccf51d79 100644
--- a/src/class-fields/productions/cls-decl-wrapped-in-sc.template
+++ b/src/class-fields/productions/cls-decl-wrapped-in-sc.template
@@ -4,7 +4,7 @@
 /*---
 path: language/statements/class/fields-wrapped-in-sc-
 name: fields definition wrapped in semicolons
-features: [class-fields]
+features: [class, class-fields-public]
 esid: prod-FieldDefinition
 ---*/
 
diff --git a/src/class-fields/productions/cls-expr-after-same-line-async-gen.template b/src/class-fields/productions/cls-expr-after-same-line-async-gen.template
index a86b3256ad..410d8abd6d 100644
--- a/src/class-fields/productions/cls-expr-after-same-line-async-gen.template
+++ b/src/class-fields/productions/cls-expr-after-same-line-async-gen.template
@@ -4,7 +4,7 @@
 /*---
 path: language/expressions/class/fields-same-line-async-gen-
 name: field definitions after an async generator in the same line
-features: [class-fields, async-iteration]
+features: [class, class-fields-public, async-iteration]
 flags: [async]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
diff --git a/src/class-fields/productions/cls-expr-after-same-line-async-method.template b/src/class-fields/productions/cls-expr-after-same-line-async-method.template
index f1a0f26956..60b81cb597 100644
--- a/src/class-fields/productions/cls-expr-after-same-line-async-method.template
+++ b/src/class-fields/productions/cls-expr-after-same-line-async-method.template
@@ -4,7 +4,7 @@
 /*---
 path: language/expressions/class/fields-same-line-async-method-
 name: field definitions after an async method in the same line
-features: [class-fields, async-functions]
+features: [class, class-fields-public, async-functions]
 flags: [async]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
diff --git a/src/class-fields/productions/cls-expr-after-same-line-gen.template b/src/class-fields/productions/cls-expr-after-same-line-gen.template
index 1434038dfe..8231e3eea4 100644
--- a/src/class-fields/productions/cls-expr-after-same-line-gen.template
+++ b/src/class-fields/productions/cls-expr-after-same-line-gen.template
@@ -4,7 +4,7 @@
 /*---
 path: language/expressions/class/fields-after-same-line-gen-
 name: field definitions after a generator in the same line
-features: [generators, class-fields]
+features: [generators, class, class-fields-public]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
 ---*/
diff --git a/src/class-fields/productions/cls-expr-after-same-line-method.template b/src/class-fields/productions/cls-expr-after-same-line-method.template
index 9f25e8b48d..5ea97ad696 100644
--- a/src/class-fields/productions/cls-expr-after-same-line-method.template
+++ b/src/class-fields/productions/cls-expr-after-same-line-method.template
@@ -4,7 +4,7 @@
 /*---
 path: language/expressions/class/fields-after-same-line-method-
 name: field definitions after a method in the same line
-features: [class-fields]
+features: [class, class-fields-public]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
 ---*/
diff --git a/src/class-fields/productions/cls-expr-after-same-line-static-async-gen.template b/src/class-fields/productions/cls-expr-after-same-line-static-async-gen.template
index bda88adcc6..26df25c717 100644
--- a/src/class-fields/productions/cls-expr-after-same-line-static-async-gen.template
+++ b/src/class-fields/productions/cls-expr-after-same-line-static-async-gen.template
@@ -4,7 +4,7 @@
 /*---
 path: language/expressions/class/fields-after-same-line-static-async-gen-
 name: field definitions after a static async generator in the same line
-features: [class-fields, async-iteration]
+features: [class, class-fields-public, async-iteration]
 flags: [async]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
diff --git a/src/class-fields/productions/cls-expr-after-same-line-static-async-method.template b/src/class-fields/productions/cls-expr-after-same-line-static-async-method.template
index f9e61dc7fc..84dad39280 100644
--- a/src/class-fields/productions/cls-expr-after-same-line-static-async-method.template
+++ b/src/class-fields/productions/cls-expr-after-same-line-static-async-method.template
@@ -4,7 +4,7 @@
 /*---
 path: language/expressions/class/fields-after-same-line-static-async-method-
 name: field definitions after a static async method in the same line
-features: [class-fields, async-functions]
+features: [class, class-fields-public, async-functions]
 flags: [async]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
diff --git a/src/class-fields/productions/cls-expr-after-same-line-static-gen.template b/src/class-fields/productions/cls-expr-after-same-line-static-gen.template
index 278275a308..9d9c314705 100644
--- a/src/class-fields/productions/cls-expr-after-same-line-static-gen.template
+++ b/src/class-fields/productions/cls-expr-after-same-line-static-gen.template
@@ -4,7 +4,7 @@
 /*---
 path: language/expressions/class/fields-after-same-line-static-gen-
 name: field definitions after a static generator in the same line
-features: [generators, class-fields]
+features: [generators, class, class-fields-public]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
 ---*/
diff --git a/src/class-fields/productions/cls-expr-after-same-line-static-method.template b/src/class-fields/productions/cls-expr-after-same-line-static-method.template
index 2b6f3e4dd9..922c449ffa 100644
--- a/src/class-fields/productions/cls-expr-after-same-line-static-method.template
+++ b/src/class-fields/productions/cls-expr-after-same-line-static-method.template
@@ -4,7 +4,7 @@
 /*---
 path: language/expressions/class/fields-after-same-line-static-method-
 name: field definitions after a static method in the same line
-features: [class-fields]
+features: [class, class-fields-public]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
 ---*/
diff --git a/src/class-fields/productions/cls-expr-multiple-definitions.template b/src/class-fields/productions/cls-expr-multiple-definitions.template
index 00c2175eb0..c94b5255da 100644
--- a/src/class-fields/productions/cls-expr-multiple-definitions.template
+++ b/src/class-fields/productions/cls-expr-multiple-definitions.template
@@ -4,7 +4,7 @@
 /*---
 path: language/expressions/class/fields-multiple-definitions-
 name: multiple fields definitions
-features: [class-fields]
+features: [class, class-fields-public]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
 ---*/
diff --git a/src/class-fields/productions/cls-expr-multiple-stacked-definitions.template b/src/class-fields/productions/cls-expr-multiple-stacked-definitions.template
index dd920d97e6..8184c88058 100644
--- a/src/class-fields/productions/cls-expr-multiple-stacked-definitions.template
+++ b/src/class-fields/productions/cls-expr-multiple-stacked-definitions.template
@@ -4,7 +4,7 @@
 /*---
 path: language/expressions/class/fields-multiple-stacked-definitions-
 name: multiple stacked fields definitions through ASI
-features: [class-fields]
+features: [class, class-fields-public]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
 ---*/
diff --git a/src/class-fields/productions/cls-expr-new-no-sc-line-method.template b/src/class-fields/productions/cls-expr-new-no-sc-line-method.template
index 320f626823..f0269c0f42 100644
--- a/src/class-fields/productions/cls-expr-new-no-sc-line-method.template
+++ b/src/class-fields/productions/cls-expr-new-no-sc-line-method.template
@@ -4,7 +4,7 @@
 /*---
 path: language/expressions/class/fields-new-no-sc-line-method-
 name: field definitions followed by a method in a new line without a semicolon
-features: [class-fields]
+features: [class, class-fields-public]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
 ---*/
diff --git a/src/class-fields/productions/cls-expr-new-sc-line-generator.template b/src/class-fields/productions/cls-expr-new-sc-line-generator.template
index e956c11b60..34d080e3fc 100644
--- a/src/class-fields/productions/cls-expr-new-sc-line-generator.template
+++ b/src/class-fields/productions/cls-expr-new-sc-line-generator.template
@@ -4,7 +4,7 @@
 /*---
 path: language/expressions/class/fields-new-sc-line-gen-
 name: field definitions followed by a method in a new line with a semicolon
-features: [class-fields, generators]
+features: [class, class-fields-public, generators]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
 ---*/
diff --git a/src/class-fields/productions/cls-expr-new-sc-line-method.template b/src/class-fields/productions/cls-expr-new-sc-line-method.template
index 8be8ce2edc..e604e4ee62 100644
--- a/src/class-fields/productions/cls-expr-new-sc-line-method.template
+++ b/src/class-fields/productions/cls-expr-new-sc-line-method.template
@@ -4,7 +4,7 @@
 /*---
 path: language/expressions/class/fields-new-sc-line-method-
 name: field definitions followed by a method in a new line with a semicolon
-features: [class-fields]
+features: [class, class-fields-public]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
 ---*/
diff --git a/src/class-fields/productions/cls-expr-regular-definitions.template b/src/class-fields/productions/cls-expr-regular-definitions.template
index 630c04f41c..3f1665d002 100644
--- a/src/class-fields/productions/cls-expr-regular-definitions.template
+++ b/src/class-fields/productions/cls-expr-regular-definitions.template
@@ -4,7 +4,7 @@
 /*---
 path: language/expressions/class/fields-regular-definitions-
 name: regular fields defintion
-features: [class-fields]
+features: [class, class-fields-public]
 esid: prod-FieldDefinition
 ---*/
 
diff --git a/src/class-fields/productions/cls-expr-same-line-generator.template b/src/class-fields/productions/cls-expr-same-line-generator.template
index 286d60af3f..ca1fcdc8bc 100644
--- a/src/class-fields/productions/cls-expr-same-line-generator.template
+++ b/src/class-fields/productions/cls-expr-same-line-generator.template
@@ -4,7 +4,7 @@
 /*---
 path: language/expressions/class/fields-same-line-gen-
 name: field definitions followed by a generator method in the same line
-features: [class-fields, generators]
+features: [class, class-fields-public, generators]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
 ---*/
diff --git a/src/class-fields/productions/cls-expr-same-line-method.template b/src/class-fields/productions/cls-expr-same-line-method.template
index d565e5c5e8..78eee3d869 100644
--- a/src/class-fields/productions/cls-expr-same-line-method.template
+++ b/src/class-fields/productions/cls-expr-same-line-method.template
@@ -4,7 +4,7 @@
 /*---
 path: language/expressions/class/fields-same-line-method-
 name: field definitions followed by a method in the same line
-features: [class-fields]
+features: [class, class-fields-public]
 esid: prod-FieldDefinition
 includes: [propertyHelper.js]
 ---*/
diff --git a/src/class-fields/productions/cls-expr-wrapped-in-sc.template b/src/class-fields/productions/cls-expr-wrapped-in-sc.template
index 4f7397057f..ff2780e2b2 100644
--- a/src/class-fields/productions/cls-expr-wrapped-in-sc.template
+++ b/src/class-fields/productions/cls-expr-wrapped-in-sc.template
@@ -4,7 +4,7 @@
 /*---
 path: language/expressions/class/fields-wrapped-in-sc-
 name: fields definition wrapped in semicolons
-features: [class-fields]
+features: [class, class-fields-public]
 esid: prod-FieldDefinition
 ---*/
 
diff --git a/src/class-fields/propname-constructor.case b/src/class-fields/propname-constructor.case
index 3353606ddb..5254d7bf9e 100644
--- a/src/class-fields/propname-constructor.case
+++ b/src/class-fields/propname-constructor.case
@@ -10,7 +10,7 @@ info: |
 
     ClassElement : FieldDefinition;
       It is a Syntax Error if PropName of FieldDefinition is "constructor".
-features: [class-fields]
+features: [class, class-fields-public]
 template: propname-error
 ---*/
 
diff --git a/src/class-fields/static-propname-constructor.case b/src/class-fields/static-propname-constructor.case
index b76be8ebb4..3f3c845fc4 100644
--- a/src/class-fields/static-propname-constructor.case
+++ b/src/class-fields/static-propname-constructor.case
@@ -10,7 +10,7 @@ info: |
 
     ClassElement : staticFieldDefinition;
       It is a Syntax Error if PropName of FieldDefinition is "prototype" or "constructor".
-features: [class-fields]
+features: [class, class-fields-public]
 template: propname-error-static
 ---*/
 
diff --git a/src/class-fields/static-propname-prototype.case b/src/class-fields/static-propname-prototype.case
index 30911e9432..0a514572ed 100644
--- a/src/class-fields/static-propname-prototype.case
+++ b/src/class-fields/static-propname-prototype.case
@@ -10,7 +10,7 @@ info: |
 
     ClassElement : staticFieldDefinition;
       It is a Syntax Error if PropName of FieldDefinition is "prototype" or "constructor".
-features: [class-fields]
+features: [class, class-fields-public]
 template: propname-error-static
 ---*/
 
-- 
GitLab