From 140d922d4c2acbf7c0e6cee67c7f65a13bd24aca Mon Sep 17 00:00:00 2001
From: Timothy Gu <timothygu99@gmail.com>
Date: Fri, 5 Oct 2018 07:37:21 -0700
Subject: [PATCH] Add async-functions feature to more files (#1830)

---
 src/function-forms/default/async-arrow-function.template       | 1 +
 src/function-forms/default/async-func-decl.template            | 1 +
 src/function-forms/default/async-func-expr-named.template      | 1 +
 src/function-forms/default/async-func-expr-nameless.template   | 1 +
 src/function-forms/default/async-meth.template                 | 1 +
 src/function-forms/default/cls-decl-async-meth-static.template | 1 +
 src/function-forms/default/cls-decl-async-meth.template        | 1 +
 src/function-forms/default/cls-expr-async-meth-static.template | 1 +
 src/function-forms/default/cls-expr-async-meth.template        | 1 +
 src/function-forms/error/async-arrow-function.template         | 1 +
 src/function-forms/error/async-func-decl.template              | 1 +
 src/function-forms/error/async-func-expr-named.template        | 1 +
 src/function-forms/error/async-func-expr-nameless.template     | 1 +
 src/function-forms/error/async-meth.template                   | 1 +
 src/function-forms/error/cls-decl-async-meth-static.template   | 1 +
 src/function-forms/error/cls-decl-async-meth.template          | 1 +
 src/function-forms/error/cls-expr-async-meth-static.template   | 1 +
 src/function-forms/error/cls-expr-async-meth.template          | 1 +
 src/function-forms/syntax/async-func-decl.template             | 1 +
 src/function-forms/syntax/async-func-expr-named.template       | 2 +-
 src/function-forms/syntax/async-func-expr-nameless.template    | 1 +
 .../expressions/async-arrow-function/dflt-params-abrupt.js     | 2 +-
 .../async-arrow-function/dflt-params-arg-val-not-undefined.js  | 2 +-
 .../async-arrow-function/dflt-params-arg-val-undefined.js      | 2 +-
 .../expressions/async-arrow-function/dflt-params-ref-later.js  | 2 +-
 .../expressions/async-arrow-function/dflt-params-ref-prior.js  | 2 +-
 .../expressions/async-arrow-function/dflt-params-ref-self.js   | 2 +-
 .../async-arrow-function/dflt-params-trailing-comma.js         | 1 +
 .../async-arrow-function/params-trailing-comma-multiple.js     | 1 +
 .../async-arrow-function/params-trailing-comma-single.js       | 1 +
 .../expressions/async-function/named-dflt-params-abrupt.js     | 2 +-
 .../async-function/named-dflt-params-arg-val-not-undefined.js  | 2 +-
 .../async-function/named-dflt-params-arg-val-undefined.js      | 2 +-
 .../expressions/async-function/named-dflt-params-duplicates.js | 2 +-
 .../expressions/async-function/named-dflt-params-ref-later.js  | 2 +-
 .../expressions/async-function/named-dflt-params-ref-prior.js  | 2 +-
 .../expressions/async-function/named-dflt-params-ref-self.js   | 2 +-
 .../expressions/async-function/named-dflt-params-rest.js       | 2 +-
 .../async-function/named-dflt-params-trailing-comma.js         | 1 +
 .../async-function/named-params-trailing-comma-multiple.js     | 1 +
 .../async-function/named-params-trailing-comma-single.js       | 1 +
 .../named-rest-params-trailing-comma-early-error.js            | 1 +
 .../expressions/async-function/nameless-dflt-params-abrupt.js  | 2 +-
 .../nameless-dflt-params-arg-val-not-undefined.js              | 2 +-
 .../async-function/nameless-dflt-params-arg-val-undefined.js   | 2 +-
 .../async-function/nameless-dflt-params-duplicates.js          | 3 ++-
 .../async-function/nameless-dflt-params-ref-later.js           | 2 +-
 .../async-function/nameless-dflt-params-ref-prior.js           | 2 +-
 .../async-function/nameless-dflt-params-ref-self.js            | 2 +-
 .../expressions/async-function/nameless-dflt-params-rest.js    | 3 ++-
 .../async-function/nameless-dflt-params-trailing-comma.js      | 1 +
 .../async-function/nameless-params-trailing-comma-multiple.js  | 1 +
 .../async-function/nameless-params-trailing-comma-single.js    | 1 +
 .../nameless-rest-params-trailing-comma-early-error.js         | 2 ++
 .../expressions/class/async-meth-dflt-params-abrupt.js         | 2 +-
 .../class/async-meth-dflt-params-arg-val-not-undefined.js      | 2 +-
 .../class/async-meth-dflt-params-arg-val-undefined.js          | 2 +-
 .../expressions/class/async-meth-dflt-params-ref-later.js      | 2 +-
 .../expressions/class/async-meth-dflt-params-ref-prior.js      | 2 +-
 .../expressions/class/async-meth-dflt-params-ref-self.js       | 2 +-
 .../expressions/class/async-meth-dflt-params-trailing-comma.js | 1 +
 .../class/async-meth-params-trailing-comma-multiple.js         | 1 +
 .../class/async-meth-params-trailing-comma-single.js           | 1 +
 .../expressions/class/async-meth-static-dflt-params-abrupt.js  | 2 +-
 .../async-meth-static-dflt-params-arg-val-not-undefined.js     | 2 +-
 .../class/async-meth-static-dflt-params-arg-val-undefined.js   | 2 +-
 .../class/async-meth-static-dflt-params-ref-later.js           | 2 +-
 .../class/async-meth-static-dflt-params-ref-prior.js           | 2 +-
 .../class/async-meth-static-dflt-params-ref-self.js            | 2 +-
 .../class/async-meth-static-dflt-params-trailing-comma.js      | 1 +
 .../class/async-meth-static-params-trailing-comma-multiple.js  | 1 +
 .../class/async-meth-static-params-trailing-comma-single.js    | 1 +
 .../object/method-definition/async-meth-dflt-params-abrupt.js  | 2 +-
 .../async-meth-dflt-params-arg-val-not-undefined.js            | 2 +-
 .../async-meth-dflt-params-arg-val-undefined.js                | 2 +-
 .../method-definition/async-meth-dflt-params-ref-later.js      | 2 +-
 .../method-definition/async-meth-dflt-params-ref-prior.js      | 2 +-
 .../method-definition/async-meth-dflt-params-ref-self.js       | 2 +-
 .../method-definition/async-meth-dflt-params-trailing-comma.js | 1 +
 .../async-meth-params-trailing-comma-multiple.js               | 1 +
 .../async-meth-params-trailing-comma-single.js                 | 1 +
 test/language/statements/async-function/dflt-params-abrupt.js  | 2 +-
 .../async-function/dflt-params-arg-val-not-undefined.js        | 2 +-
 .../statements/async-function/dflt-params-arg-val-undefined.js | 2 +-
 .../statements/async-function/dflt-params-duplicates.js        | 3 ++-
 .../statements/async-function/dflt-params-ref-later.js         | 2 +-
 .../statements/async-function/dflt-params-ref-prior.js         | 2 +-
 .../language/statements/async-function/dflt-params-ref-self.js | 2 +-
 test/language/statements/async-function/dflt-params-rest.js    | 3 ++-
 .../statements/async-function/dflt-params-trailing-comma.js    | 1 +
 .../async-function/params-trailing-comma-multiple.js           | 1 +
 .../statements/async-function/params-trailing-comma-single.js  | 1 +
 .../async-function/rest-params-trailing-comma-early-error.js   | 2 ++
 .../language/statements/class/async-meth-dflt-params-abrupt.js | 2 +-
 .../class/async-meth-dflt-params-arg-val-not-undefined.js      | 2 +-
 .../class/async-meth-dflt-params-arg-val-undefined.js          | 2 +-
 .../statements/class/async-meth-dflt-params-ref-later.js       | 2 +-
 .../statements/class/async-meth-dflt-params-ref-prior.js       | 2 +-
 .../statements/class/async-meth-dflt-params-ref-self.js        | 2 +-
 .../statements/class/async-meth-dflt-params-trailing-comma.js  | 1 +
 .../class/async-meth-params-trailing-comma-multiple.js         | 1 +
 .../class/async-meth-params-trailing-comma-single.js           | 1 +
 .../statements/class/async-meth-static-dflt-params-abrupt.js   | 2 +-
 .../async-meth-static-dflt-params-arg-val-not-undefined.js     | 2 +-
 .../class/async-meth-static-dflt-params-arg-val-undefined.js   | 2 +-
 .../class/async-meth-static-dflt-params-ref-later.js           | 2 +-
 .../class/async-meth-static-dflt-params-ref-prior.js           | 2 +-
 .../statements/class/async-meth-static-dflt-params-ref-self.js | 2 +-
 .../class/async-meth-static-dflt-params-trailing-comma.js      | 1 +
 .../class/async-meth-static-params-trailing-comma-multiple.js  | 1 +
 .../class/async-meth-static-params-trailing-comma-single.js    | 1 +
 .../class/definition/class-method-returns-promise.js           | 1 +
 .../class/definition/methods-async-super-call-body.js          | 1 +
 .../class/definition/methods-async-super-call-param.js         | 1 +
 114 files changed, 120 insertions(+), 61 deletions(-)

diff --git a/src/function-forms/default/async-arrow-function.template b/src/function-forms/default/async-arrow-function.template
index cdeec6f3e4..e1abe93442 100644
--- a/src/function-forms/default/async-arrow-function.template
+++ b/src/function-forms/default/async-arrow-function.template
@@ -26,6 +26,7 @@ info: |
   AsyncArrowHead :
     async ArrowFormalParameters
 flags: [async]
+features: [async-functions]
 ---*/
 
 var callCount = 0;
diff --git a/src/function-forms/default/async-func-decl.template b/src/function-forms/default/async-func-decl.template
index b9a21de58a..70971cdbc3 100644
--- a/src/function-forms/default/async-func-decl.template
+++ b/src/function-forms/default/async-func-decl.template
@@ -11,6 +11,7 @@ info: |
   AsyncFunctionDeclaration :
     async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
 flags: [async]
+features: [async-functions]
 ---*/
 
 var callCount = 0;
diff --git a/src/function-forms/default/async-func-expr-named.template b/src/function-forms/default/async-func-expr-named.template
index daf87b2f1f..e475de3912 100644
--- a/src/function-forms/default/async-func-expr-named.template
+++ b/src/function-forms/default/async-func-expr-named.template
@@ -11,6 +11,7 @@ info: |
   AsyncFunctionExpression :
     async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
 flags: [async]
+features: [async-functions]
 ---*/
 
 var callCount = 0;
diff --git a/src/function-forms/default/async-func-expr-nameless.template b/src/function-forms/default/async-func-expr-nameless.template
index cade1a007f..a3e984da1a 100644
--- a/src/function-forms/default/async-func-expr-nameless.template
+++ b/src/function-forms/default/async-func-expr-nameless.template
@@ -11,6 +11,7 @@ info: |
   AsyncFunctionExpression :
     async function ( FormalParameters ) { AsyncFunctionBody }
 flags: [async]
+features: [async-functions]
 ---*/
 
 var callCount = 0;
diff --git a/src/function-forms/default/async-meth.template b/src/function-forms/default/async-meth.template
index 7e0d3d9ee1..a666b23ed9 100644
--- a/src/function-forms/default/async-meth.template
+++ b/src/function-forms/default/async-meth.template
@@ -11,6 +11,7 @@ info: |
   AsyncMethod :
    async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody }
 flags: [async]
+features: [async-functions]
 ---*/
 
 var callCount = 0;
diff --git a/src/function-forms/default/cls-decl-async-meth-static.template b/src/function-forms/default/cls-decl-async-meth-static.template
index 70e1bd38b4..b745a86a41 100644
--- a/src/function-forms/default/cls-decl-async-meth-static.template
+++ b/src/function-forms/default/cls-decl-async-meth-static.template
@@ -35,6 +35,7 @@ info: |
        scope, strict).
     [...]
 flags: [async]
+features: [async-functions]
 ---*/
 
 var callCount = 0;
diff --git a/src/function-forms/default/cls-decl-async-meth.template b/src/function-forms/default/cls-decl-async-meth.template
index a646af8834..812cd4aba6 100644
--- a/src/function-forms/default/cls-decl-async-meth.template
+++ b/src/function-forms/default/cls-decl-async-meth.template
@@ -35,6 +35,7 @@ info: |
        scope, strict).
     [...]
 flags: [async]
+features: [async-functions]
 ---*/
 
 var callCount = 0;
diff --git a/src/function-forms/default/cls-expr-async-meth-static.template b/src/function-forms/default/cls-expr-async-meth-static.template
index 0d5214165b..d558633a61 100644
--- a/src/function-forms/default/cls-expr-async-meth-static.template
+++ b/src/function-forms/default/cls-expr-async-meth-static.template
@@ -35,6 +35,7 @@ info: |
      scope, strict).
   [...]
 flags: [async]
+features: [async-functions]
 ---*/
 
 var callCount = 0;
diff --git a/src/function-forms/default/cls-expr-async-meth.template b/src/function-forms/default/cls-expr-async-meth.template
index 58c351c573..0590f67c01 100644
--- a/src/function-forms/default/cls-expr-async-meth.template
+++ b/src/function-forms/default/cls-expr-async-meth.template
@@ -35,6 +35,7 @@ info: |
      scope, strict).
   [...]
 flags: [async]
+features: [async-functions]
 ---*/
 
 var callCount = 0;
diff --git a/src/function-forms/error/async-arrow-function.template b/src/function-forms/error/async-arrow-function.template
index a64737742c..96d6119c75 100644
--- a/src/function-forms/error/async-arrow-function.template
+++ b/src/function-forms/error/async-arrow-function.template
@@ -26,6 +26,7 @@ info: |
   AsyncArrowHead :
     async ArrowFormalParameters
 flags: [async]
+features: [async-functions]
 ---*/
 
 var callCount = 0;
diff --git a/src/function-forms/error/async-func-decl.template b/src/function-forms/error/async-func-decl.template
index 35057673ea..a7a5a85616 100644
--- a/src/function-forms/error/async-func-decl.template
+++ b/src/function-forms/error/async-func-decl.template
@@ -11,6 +11,7 @@ info: |
   AsyncFunctionDeclaration :
     async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
 flags: [async]
+features: [async-functions]
 ---*/
 
 var callCount = 0;
diff --git a/src/function-forms/error/async-func-expr-named.template b/src/function-forms/error/async-func-expr-named.template
index 142d6ae79f..32a639bba9 100644
--- a/src/function-forms/error/async-func-expr-named.template
+++ b/src/function-forms/error/async-func-expr-named.template
@@ -11,6 +11,7 @@ info: |
   AsyncFunctionExpression :
     async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
 flags: [async]
+features: [async-functions]
 ---*/
 
 var callCount = 0;
diff --git a/src/function-forms/error/async-func-expr-nameless.template b/src/function-forms/error/async-func-expr-nameless.template
index 40d5dc0414..9843f5bdb8 100644
--- a/src/function-forms/error/async-func-expr-nameless.template
+++ b/src/function-forms/error/async-func-expr-nameless.template
@@ -11,6 +11,7 @@ info: |
   AsyncFunctionExpression :
     async function ( FormalParameters ) { AsyncFunctionBody }
 flags: [async]
+features: [async-functions]
 ---*/
 
 var callCount = 0;
diff --git a/src/function-forms/error/async-meth.template b/src/function-forms/error/async-meth.template
index 315f7ace49..4c77b04408 100644
--- a/src/function-forms/error/async-meth.template
+++ b/src/function-forms/error/async-meth.template
@@ -11,6 +11,7 @@ info: |
   AsyncMethod :
    async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody }
 flags: [async]
+features: [async-functions]
 ---*/
 
 var callCount = 0;
diff --git a/src/function-forms/error/cls-decl-async-meth-static.template b/src/function-forms/error/cls-decl-async-meth-static.template
index 2056b336af..b3f9941e2f 100644
--- a/src/function-forms/error/cls-decl-async-meth-static.template
+++ b/src/function-forms/error/cls-decl-async-meth-static.template
@@ -35,6 +35,7 @@ info: |
        scope, strict).
     [...]
 flags: [async]
+features: [async-functions]
 ---*/
 
 var callCount = 0;
diff --git a/src/function-forms/error/cls-decl-async-meth.template b/src/function-forms/error/cls-decl-async-meth.template
index 4a119e4971..9ee782999d 100644
--- a/src/function-forms/error/cls-decl-async-meth.template
+++ b/src/function-forms/error/cls-decl-async-meth.template
@@ -35,6 +35,7 @@ info: |
        scope, strict).
     [...]
 flags: [async]
+features: [async-functions]
 ---*/
 
 var callCount = 0;
diff --git a/src/function-forms/error/cls-expr-async-meth-static.template b/src/function-forms/error/cls-expr-async-meth-static.template
index e64dc3276d..33e35a56f3 100644
--- a/src/function-forms/error/cls-expr-async-meth-static.template
+++ b/src/function-forms/error/cls-expr-async-meth-static.template
@@ -36,6 +36,7 @@ info: |
      scope, strict).
   [...]
 flags: [async]
+features: [async-functions]
 ---*/
 
 var callCount = 0;
diff --git a/src/function-forms/error/cls-expr-async-meth.template b/src/function-forms/error/cls-expr-async-meth.template
index e77de24117..45dc7335dd 100644
--- a/src/function-forms/error/cls-expr-async-meth.template
+++ b/src/function-forms/error/cls-expr-async-meth.template
@@ -36,6 +36,7 @@ info: |
      scope, strict).
   [...]
 flags: [async]
+features: [async-functions]
 ---*/
 
 var callCount = 0;
diff --git a/src/function-forms/syntax/async-func-decl.template b/src/function-forms/syntax/async-func-decl.template
index 6f5beb0896..4572748765 100644
--- a/src/function-forms/syntax/async-func-decl.template
+++ b/src/function-forms/syntax/async-func-decl.template
@@ -10,6 +10,7 @@ info: |
 
   AsyncFunctionDeclaration :
     async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
+features: [async-functions]
 ---*/
 
 async function f(/*{ params }*/) {
diff --git a/src/function-forms/syntax/async-func-expr-named.template b/src/function-forms/syntax/async-func-expr-named.template
index b7efe5fc91..0c6c2737d1 100644
--- a/src/function-forms/syntax/async-func-expr-named.template
+++ b/src/function-forms/syntax/async-func-expr-named.template
@@ -10,7 +10,7 @@ info: |
 
   AsyncFunctionExpression :
     async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
-
+features: [async-functions]
 ---*/
 
 (async function f(/*{ params }*/) {
diff --git a/src/function-forms/syntax/async-func-expr-nameless.template b/src/function-forms/syntax/async-func-expr-nameless.template
index 206fc5018f..59356dec73 100644
--- a/src/function-forms/syntax/async-func-expr-nameless.template
+++ b/src/function-forms/syntax/async-func-expr-nameless.template
@@ -10,6 +10,7 @@ info: |
 
   AsyncFunctionExpression :
     async function ( FormalParameters ) { AsyncFunctionBody }
+features: [async-functions]
 ---*/
 
 (async function(/*{ params }*/) {
diff --git a/test/language/expressions/async-arrow-function/dflt-params-abrupt.js b/test/language/expressions/async-arrow-function/dflt-params-abrupt.js
index 4a92b9d365..2bab8286f8 100644
--- a/test/language/expressions/async-arrow-function/dflt-params-abrupt.js
+++ b/test/language/expressions/async-arrow-function/dflt-params-abrupt.js
@@ -4,7 +4,7 @@
 /*---
 description: Abrupt completion returned by evaluation of initializer (async arrow function expression)
 esid: sec-async-arrow-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.7 Async Arrow Function Definitions
diff --git a/test/language/expressions/async-arrow-function/dflt-params-arg-val-not-undefined.js b/test/language/expressions/async-arrow-function/dflt-params-arg-val-not-undefined.js
index 592e75e2ba..80e3b5fbbe 100644
--- a/test/language/expressions/async-arrow-function/dflt-params-arg-val-not-undefined.js
+++ b/test/language/expressions/async-arrow-function/dflt-params-arg-val-not-undefined.js
@@ -4,7 +4,7 @@
 /*---
 description: Use of initializer when argument value is not `undefined` (async arrow function expression)
 esid: sec-async-arrow-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.7 Async Arrow Function Definitions
diff --git a/test/language/expressions/async-arrow-function/dflt-params-arg-val-undefined.js b/test/language/expressions/async-arrow-function/dflt-params-arg-val-undefined.js
index f434b961dd..4d47665d34 100644
--- a/test/language/expressions/async-arrow-function/dflt-params-arg-val-undefined.js
+++ b/test/language/expressions/async-arrow-function/dflt-params-arg-val-undefined.js
@@ -4,7 +4,7 @@
 /*---
 description: Use of initializer when argument value is `undefined` (async arrow function expression)
 esid: sec-async-arrow-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.7 Async Arrow Function Definitions
diff --git a/test/language/expressions/async-arrow-function/dflt-params-ref-later.js b/test/language/expressions/async-arrow-function/dflt-params-ref-later.js
index b1f1c9fca3..2ec8e074a8 100644
--- a/test/language/expressions/async-arrow-function/dflt-params-ref-later.js
+++ b/test/language/expressions/async-arrow-function/dflt-params-ref-later.js
@@ -4,7 +4,7 @@
 /*---
 description: Referencing a parameter that occurs later in the ParameterList (async arrow function expression)
 esid: sec-async-arrow-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.7 Async Arrow Function Definitions
diff --git a/test/language/expressions/async-arrow-function/dflt-params-ref-prior.js b/test/language/expressions/async-arrow-function/dflt-params-ref-prior.js
index 6225f7633d..c775b76de0 100644
--- a/test/language/expressions/async-arrow-function/dflt-params-ref-prior.js
+++ b/test/language/expressions/async-arrow-function/dflt-params-ref-prior.js
@@ -4,7 +4,7 @@
 /*---
 description: Referencing a parameter that occurs earlier in the ParameterList (async arrow function expression)
 esid: sec-async-arrow-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.7 Async Arrow Function Definitions
diff --git a/test/language/expressions/async-arrow-function/dflt-params-ref-self.js b/test/language/expressions/async-arrow-function/dflt-params-ref-self.js
index b2c3a2ec0e..cd9edcfbd2 100644
--- a/test/language/expressions/async-arrow-function/dflt-params-ref-self.js
+++ b/test/language/expressions/async-arrow-function/dflt-params-ref-self.js
@@ -4,7 +4,7 @@
 /*---
 description: Referencing a parameter from within its own initializer (async arrow function expression)
 esid: sec-async-arrow-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.7 Async Arrow Function Definitions
diff --git a/test/language/expressions/async-arrow-function/dflt-params-trailing-comma.js b/test/language/expressions/async-arrow-function/dflt-params-trailing-comma.js
index c573b2003b..6dec5de65e 100644
--- a/test/language/expressions/async-arrow-function/dflt-params-trailing-comma.js
+++ b/test/language/expressions/async-arrow-function/dflt-params-trailing-comma.js
@@ -4,6 +4,7 @@
 /*---
 description: A trailing comma should not increase the respective length, using default parameters (async arrow function expression)
 esid: sec-async-arrow-function-definitions
+features: [async-functions]
 flags: [generated, async]
 info: |
     14.7 Async Arrow Function Definitions
diff --git a/test/language/expressions/async-arrow-function/params-trailing-comma-multiple.js b/test/language/expressions/async-arrow-function/params-trailing-comma-multiple.js
index 71c1803d29..ca0e8995b1 100644
--- a/test/language/expressions/async-arrow-function/params-trailing-comma-multiple.js
+++ b/test/language/expressions/async-arrow-function/params-trailing-comma-multiple.js
@@ -4,6 +4,7 @@
 /*---
 description: A trailing comma should not increase the respective length, using multiple parameters (async arrow function expression)
 esid: sec-async-arrow-function-definitions
+features: [async-functions]
 flags: [generated, async]
 info: |
     14.7 Async Arrow Function Definitions
diff --git a/test/language/expressions/async-arrow-function/params-trailing-comma-single.js b/test/language/expressions/async-arrow-function/params-trailing-comma-single.js
index 47612e2807..252c975e4f 100644
--- a/test/language/expressions/async-arrow-function/params-trailing-comma-single.js
+++ b/test/language/expressions/async-arrow-function/params-trailing-comma-single.js
@@ -4,6 +4,7 @@
 /*---
 description: A trailing comma should not increase the respective length, using a single parameter (async arrow function expression)
 esid: sec-async-arrow-function-definitions
+features: [async-functions]
 flags: [generated, async]
 info: |
     14.7 Async Arrow Function Definitions
diff --git a/test/language/expressions/async-function/named-dflt-params-abrupt.js b/test/language/expressions/async-function/named-dflt-params-abrupt.js
index 59bf344175..7806944c8b 100644
--- a/test/language/expressions/async-function/named-dflt-params-abrupt.js
+++ b/test/language/expressions/async-function/named-dflt-params-abrupt.js
@@ -4,7 +4,7 @@
 /*---
 description: Abrupt completion returned by evaluation of initializer (async function named expression)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/expressions/async-function/named-dflt-params-arg-val-not-undefined.js b/test/language/expressions/async-function/named-dflt-params-arg-val-not-undefined.js
index c470f3bb58..18f41866b6 100644
--- a/test/language/expressions/async-function/named-dflt-params-arg-val-not-undefined.js
+++ b/test/language/expressions/async-function/named-dflt-params-arg-val-not-undefined.js
@@ -4,7 +4,7 @@
 /*---
 description: Use of initializer when argument value is not `undefined` (async function named expression)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/expressions/async-function/named-dflt-params-arg-val-undefined.js b/test/language/expressions/async-function/named-dflt-params-arg-val-undefined.js
index 7bd0e00ffc..eaaddf542d 100644
--- a/test/language/expressions/async-function/named-dflt-params-arg-val-undefined.js
+++ b/test/language/expressions/async-function/named-dflt-params-arg-val-undefined.js
@@ -4,7 +4,7 @@
 /*---
 description: Use of initializer when argument value is `undefined` (async function named expression)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/expressions/async-function/named-dflt-params-duplicates.js b/test/language/expressions/async-function/named-dflt-params-duplicates.js
index 90493df314..3a7d31fd7d 100644
--- a/test/language/expressions/async-function/named-dflt-params-duplicates.js
+++ b/test/language/expressions/async-function/named-dflt-params-duplicates.js
@@ -4,7 +4,7 @@
 /*---
 description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (async function named expression)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated]
 negative:
   phase: parse
diff --git a/test/language/expressions/async-function/named-dflt-params-ref-later.js b/test/language/expressions/async-function/named-dflt-params-ref-later.js
index df85f734fb..35c4d2889b 100644
--- a/test/language/expressions/async-function/named-dflt-params-ref-later.js
+++ b/test/language/expressions/async-function/named-dflt-params-ref-later.js
@@ -4,7 +4,7 @@
 /*---
 description: Referencing a parameter that occurs later in the ParameterList (async function named expression)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/expressions/async-function/named-dflt-params-ref-prior.js b/test/language/expressions/async-function/named-dflt-params-ref-prior.js
index e58f833f95..4eddaec0f2 100644
--- a/test/language/expressions/async-function/named-dflt-params-ref-prior.js
+++ b/test/language/expressions/async-function/named-dflt-params-ref-prior.js
@@ -4,7 +4,7 @@
 /*---
 description: Referencing a parameter that occurs earlier in the ParameterList (async function named expression)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/expressions/async-function/named-dflt-params-ref-self.js b/test/language/expressions/async-function/named-dflt-params-ref-self.js
index 3b2141252f..d35724b6c0 100644
--- a/test/language/expressions/async-function/named-dflt-params-ref-self.js
+++ b/test/language/expressions/async-function/named-dflt-params-ref-self.js
@@ -4,7 +4,7 @@
 /*---
 description: Referencing a parameter from within its own initializer (async function named expression)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/expressions/async-function/named-dflt-params-rest.js b/test/language/expressions/async-function/named-dflt-params-rest.js
index 90625c390a..4884d9b3f0 100644
--- a/test/language/expressions/async-function/named-dflt-params-rest.js
+++ b/test/language/expressions/async-function/named-dflt-params-rest.js
@@ -4,7 +4,7 @@
 /*---
 description: RestParameter does not support an initializer (async function named expression)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated]
 negative:
   phase: parse
diff --git a/test/language/expressions/async-function/named-dflt-params-trailing-comma.js b/test/language/expressions/async-function/named-dflt-params-trailing-comma.js
index b85f48d055..1f9a392685 100644
--- a/test/language/expressions/async-function/named-dflt-params-trailing-comma.js
+++ b/test/language/expressions/async-function/named-dflt-params-trailing-comma.js
@@ -4,6 +4,7 @@
 /*---
 description: A trailing comma should not increase the respective length, using default parameters (async function named expression)
 esid: sec-async-function-definitions
+features: [async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/expressions/async-function/named-params-trailing-comma-multiple.js b/test/language/expressions/async-function/named-params-trailing-comma-multiple.js
index d75b5340f6..bfc5c5b96a 100644
--- a/test/language/expressions/async-function/named-params-trailing-comma-multiple.js
+++ b/test/language/expressions/async-function/named-params-trailing-comma-multiple.js
@@ -4,6 +4,7 @@
 /*---
 description: A trailing comma should not increase the respective length, using multiple parameters (async function named expression)
 esid: sec-async-function-definitions
+features: [async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/expressions/async-function/named-params-trailing-comma-single.js b/test/language/expressions/async-function/named-params-trailing-comma-single.js
index b1e4a4745f..0f53f040c7 100644
--- a/test/language/expressions/async-function/named-params-trailing-comma-single.js
+++ b/test/language/expressions/async-function/named-params-trailing-comma-single.js
@@ -4,6 +4,7 @@
 /*---
 description: A trailing comma should not increase the respective length, using a single parameter (async function named expression)
 esid: sec-async-function-definitions
+features: [async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/expressions/async-function/named-rest-params-trailing-comma-early-error.js b/test/language/expressions/async-function/named-rest-params-trailing-comma-early-error.js
index a9b81f954c..87d3ebe6c5 100644
--- a/test/language/expressions/async-function/named-rest-params-trailing-comma-early-error.js
+++ b/test/language/expressions/async-function/named-rest-params-trailing-comma-early-error.js
@@ -4,6 +4,7 @@
 /*---
 description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (async function named expression)
 esid: sec-async-function-definitions
+features: [async-functions]
 flags: [generated]
 negative:
   phase: parse
diff --git a/test/language/expressions/async-function/nameless-dflt-params-abrupt.js b/test/language/expressions/async-function/nameless-dflt-params-abrupt.js
index 6ce5cda340..ccdbd064c0 100644
--- a/test/language/expressions/async-function/nameless-dflt-params-abrupt.js
+++ b/test/language/expressions/async-function/nameless-dflt-params-abrupt.js
@@ -4,7 +4,7 @@
 /*---
 description: Abrupt completion returned by evaluation of initializer (async function nameless expression)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/expressions/async-function/nameless-dflt-params-arg-val-not-undefined.js b/test/language/expressions/async-function/nameless-dflt-params-arg-val-not-undefined.js
index 86c05584d3..3bd6462acc 100644
--- a/test/language/expressions/async-function/nameless-dflt-params-arg-val-not-undefined.js
+++ b/test/language/expressions/async-function/nameless-dflt-params-arg-val-not-undefined.js
@@ -4,7 +4,7 @@
 /*---
 description: Use of initializer when argument value is not `undefined` (async function nameless expression)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/expressions/async-function/nameless-dflt-params-arg-val-undefined.js b/test/language/expressions/async-function/nameless-dflt-params-arg-val-undefined.js
index de8d232fba..22f8693379 100644
--- a/test/language/expressions/async-function/nameless-dflt-params-arg-val-undefined.js
+++ b/test/language/expressions/async-function/nameless-dflt-params-arg-val-undefined.js
@@ -4,7 +4,7 @@
 /*---
 description: Use of initializer when argument value is `undefined` (async function nameless expression)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/expressions/async-function/nameless-dflt-params-duplicates.js b/test/language/expressions/async-function/nameless-dflt-params-duplicates.js
index 57cf5b55df..cf0a491959 100644
--- a/test/language/expressions/async-function/nameless-dflt-params-duplicates.js
+++ b/test/language/expressions/async-function/nameless-dflt-params-duplicates.js
@@ -4,7 +4,7 @@
 /*---
 description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (async function nameless expression)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated]
 negative:
   phase: parse
@@ -15,6 +15,7 @@ info: |
     AsyncFunctionExpression :
       async function ( FormalParameters ) { AsyncFunctionBody }
 
+
     14.1.2 Static Semantics: Early Errors
 
     StrictFormalParameters : FormalParameters
diff --git a/test/language/expressions/async-function/nameless-dflt-params-ref-later.js b/test/language/expressions/async-function/nameless-dflt-params-ref-later.js
index c0da90a866..d2e8d6de0b 100644
--- a/test/language/expressions/async-function/nameless-dflt-params-ref-later.js
+++ b/test/language/expressions/async-function/nameless-dflt-params-ref-later.js
@@ -4,7 +4,7 @@
 /*---
 description: Referencing a parameter that occurs later in the ParameterList (async function nameless expression)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/expressions/async-function/nameless-dflt-params-ref-prior.js b/test/language/expressions/async-function/nameless-dflt-params-ref-prior.js
index 42e1111132..df5d363ea7 100644
--- a/test/language/expressions/async-function/nameless-dflt-params-ref-prior.js
+++ b/test/language/expressions/async-function/nameless-dflt-params-ref-prior.js
@@ -4,7 +4,7 @@
 /*---
 description: Referencing a parameter that occurs earlier in the ParameterList (async function nameless expression)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/expressions/async-function/nameless-dflt-params-ref-self.js b/test/language/expressions/async-function/nameless-dflt-params-ref-self.js
index a98a3afd6e..eb2faa591b 100644
--- a/test/language/expressions/async-function/nameless-dflt-params-ref-self.js
+++ b/test/language/expressions/async-function/nameless-dflt-params-ref-self.js
@@ -4,7 +4,7 @@
 /*---
 description: Referencing a parameter from within its own initializer (async function nameless expression)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/expressions/async-function/nameless-dflt-params-rest.js b/test/language/expressions/async-function/nameless-dflt-params-rest.js
index 573c8c2df4..9d34dce10b 100644
--- a/test/language/expressions/async-function/nameless-dflt-params-rest.js
+++ b/test/language/expressions/async-function/nameless-dflt-params-rest.js
@@ -4,7 +4,7 @@
 /*---
 description: RestParameter does not support an initializer (async function nameless expression)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated]
 negative:
   phase: parse
@@ -15,6 +15,7 @@ info: |
     AsyncFunctionExpression :
       async function ( FormalParameters ) { AsyncFunctionBody }
 
+
     14.1 Function Definitions
 
     Syntax
diff --git a/test/language/expressions/async-function/nameless-dflt-params-trailing-comma.js b/test/language/expressions/async-function/nameless-dflt-params-trailing-comma.js
index f19210db6c..62bdf7864f 100644
--- a/test/language/expressions/async-function/nameless-dflt-params-trailing-comma.js
+++ b/test/language/expressions/async-function/nameless-dflt-params-trailing-comma.js
@@ -4,6 +4,7 @@
 /*---
 description: A trailing comma should not increase the respective length, using default parameters (async function nameless expression)
 esid: sec-async-function-definitions
+features: [async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/expressions/async-function/nameless-params-trailing-comma-multiple.js b/test/language/expressions/async-function/nameless-params-trailing-comma-multiple.js
index 48e741e259..b56a5e5f42 100644
--- a/test/language/expressions/async-function/nameless-params-trailing-comma-multiple.js
+++ b/test/language/expressions/async-function/nameless-params-trailing-comma-multiple.js
@@ -4,6 +4,7 @@
 /*---
 description: A trailing comma should not increase the respective length, using multiple parameters (async function nameless expression)
 esid: sec-async-function-definitions
+features: [async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/expressions/async-function/nameless-params-trailing-comma-single.js b/test/language/expressions/async-function/nameless-params-trailing-comma-single.js
index 07def87fd7..c5c142de35 100644
--- a/test/language/expressions/async-function/nameless-params-trailing-comma-single.js
+++ b/test/language/expressions/async-function/nameless-params-trailing-comma-single.js
@@ -4,6 +4,7 @@
 /*---
 description: A trailing comma should not increase the respective length, using a single parameter (async function nameless expression)
 esid: sec-async-function-definitions
+features: [async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/expressions/async-function/nameless-rest-params-trailing-comma-early-error.js b/test/language/expressions/async-function/nameless-rest-params-trailing-comma-early-error.js
index f765b7c16e..7d41cc239d 100644
--- a/test/language/expressions/async-function/nameless-rest-params-trailing-comma-early-error.js
+++ b/test/language/expressions/async-function/nameless-rest-params-trailing-comma-early-error.js
@@ -4,6 +4,7 @@
 /*---
 description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (async function nameless expression)
 esid: sec-async-function-definitions
+features: [async-functions]
 flags: [generated]
 negative:
   phase: parse
@@ -14,6 +15,7 @@ info: |
     AsyncFunctionExpression :
       async function ( FormalParameters ) { AsyncFunctionBody }
 
+
     Trailing comma in the parameters list
 
     14.1 Function Definitions
diff --git a/test/language/expressions/class/async-meth-dflt-params-abrupt.js b/test/language/expressions/class/async-meth-dflt-params-abrupt.js
index 3d022ae7eb..b8d653bc7c 100644
--- a/test/language/expressions/class/async-meth-dflt-params-abrupt.js
+++ b/test/language/expressions/class/async-meth-dflt-params-abrupt.js
@@ -4,7 +4,7 @@
 /*---
 description: Abrupt completion returned by evaluation of initializer (class expression async method)
 esid: sec-class-definitions-runtime-semantics-evaluation
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     ClassExpression : class BindingIdentifieropt ClassTail
diff --git a/test/language/expressions/class/async-meth-dflt-params-arg-val-not-undefined.js b/test/language/expressions/class/async-meth-dflt-params-arg-val-not-undefined.js
index 4e0ea6d1d3..ef06a20b6b 100644
--- a/test/language/expressions/class/async-meth-dflt-params-arg-val-not-undefined.js
+++ b/test/language/expressions/class/async-meth-dflt-params-arg-val-not-undefined.js
@@ -4,7 +4,7 @@
 /*---
 description: Use of initializer when argument value is not `undefined` (class expression async method)
 esid: sec-class-definitions-runtime-semantics-evaluation
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     ClassExpression : class BindingIdentifieropt ClassTail
diff --git a/test/language/expressions/class/async-meth-dflt-params-arg-val-undefined.js b/test/language/expressions/class/async-meth-dflt-params-arg-val-undefined.js
index 38f561f97c..53cf0ba589 100644
--- a/test/language/expressions/class/async-meth-dflt-params-arg-val-undefined.js
+++ b/test/language/expressions/class/async-meth-dflt-params-arg-val-undefined.js
@@ -4,7 +4,7 @@
 /*---
 description: Use of initializer when argument value is `undefined` (class expression async method)
 esid: sec-class-definitions-runtime-semantics-evaluation
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     ClassExpression : class BindingIdentifieropt ClassTail
diff --git a/test/language/expressions/class/async-meth-dflt-params-ref-later.js b/test/language/expressions/class/async-meth-dflt-params-ref-later.js
index d0e8d3885b..3c855a820a 100644
--- a/test/language/expressions/class/async-meth-dflt-params-ref-later.js
+++ b/test/language/expressions/class/async-meth-dflt-params-ref-later.js
@@ -4,7 +4,7 @@
 /*---
 description: Referencing a parameter that occurs later in the ParameterList (class expression async method)
 esid: sec-class-definitions-runtime-semantics-evaluation
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     ClassExpression : class BindingIdentifieropt ClassTail
diff --git a/test/language/expressions/class/async-meth-dflt-params-ref-prior.js b/test/language/expressions/class/async-meth-dflt-params-ref-prior.js
index bc3daf029e..52a1a6132e 100644
--- a/test/language/expressions/class/async-meth-dflt-params-ref-prior.js
+++ b/test/language/expressions/class/async-meth-dflt-params-ref-prior.js
@@ -4,7 +4,7 @@
 /*---
 description: Referencing a parameter that occurs earlier in the ParameterList (class expression async method)
 esid: sec-class-definitions-runtime-semantics-evaluation
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     ClassExpression : class BindingIdentifieropt ClassTail
diff --git a/test/language/expressions/class/async-meth-dflt-params-ref-self.js b/test/language/expressions/class/async-meth-dflt-params-ref-self.js
index 7610efb1c4..051a046811 100644
--- a/test/language/expressions/class/async-meth-dflt-params-ref-self.js
+++ b/test/language/expressions/class/async-meth-dflt-params-ref-self.js
@@ -4,7 +4,7 @@
 /*---
 description: Referencing a parameter from within its own initializer (class expression async method)
 esid: sec-class-definitions-runtime-semantics-evaluation
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     ClassExpression : class BindingIdentifieropt ClassTail
diff --git a/test/language/expressions/class/async-meth-dflt-params-trailing-comma.js b/test/language/expressions/class/async-meth-dflt-params-trailing-comma.js
index 1b25649662..bcabd89448 100644
--- a/test/language/expressions/class/async-meth-dflt-params-trailing-comma.js
+++ b/test/language/expressions/class/async-meth-dflt-params-trailing-comma.js
@@ -4,6 +4,7 @@
 /*---
 description: A trailing comma should not increase the respective length, using default parameters (class expression async method)
 esid: sec-class-definitions-runtime-semantics-evaluation
+features: [async-functions]
 flags: [generated, async]
 info: |
     ClassExpression : class BindingIdentifieropt ClassTail
diff --git a/test/language/expressions/class/async-meth-params-trailing-comma-multiple.js b/test/language/expressions/class/async-meth-params-trailing-comma-multiple.js
index 12f3375a8d..9ae58bb905 100644
--- a/test/language/expressions/class/async-meth-params-trailing-comma-multiple.js
+++ b/test/language/expressions/class/async-meth-params-trailing-comma-multiple.js
@@ -4,6 +4,7 @@
 /*---
 description: A trailing comma should not increase the respective length, using multiple parameters (class expression async method)
 esid: sec-class-definitions-runtime-semantics-evaluation
+features: [async-functions]
 flags: [generated, async]
 info: |
     ClassExpression : class BindingIdentifieropt ClassTail
diff --git a/test/language/expressions/class/async-meth-params-trailing-comma-single.js b/test/language/expressions/class/async-meth-params-trailing-comma-single.js
index b3db8e16e9..e5be368535 100644
--- a/test/language/expressions/class/async-meth-params-trailing-comma-single.js
+++ b/test/language/expressions/class/async-meth-params-trailing-comma-single.js
@@ -4,6 +4,7 @@
 /*---
 description: A trailing comma should not increase the respective length, using a single parameter (class expression async method)
 esid: sec-class-definitions-runtime-semantics-evaluation
+features: [async-functions]
 flags: [generated, async]
 info: |
     ClassExpression : class BindingIdentifieropt ClassTail
diff --git a/test/language/expressions/class/async-meth-static-dflt-params-abrupt.js b/test/language/expressions/class/async-meth-static-dflt-params-abrupt.js
index 3bdd1a3c90..8a5cfd60b8 100644
--- a/test/language/expressions/class/async-meth-static-dflt-params-abrupt.js
+++ b/test/language/expressions/class/async-meth-static-dflt-params-abrupt.js
@@ -4,7 +4,7 @@
 /*---
 description: Abrupt completion returned by evaluation of initializer (static class expression async method)
 esid: sec-class-definitions-runtime-semantics-evaluation
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     ClassExpression : class BindingIdentifieropt ClassTail
diff --git a/test/language/expressions/class/async-meth-static-dflt-params-arg-val-not-undefined.js b/test/language/expressions/class/async-meth-static-dflt-params-arg-val-not-undefined.js
index 2e71262360..9aad97c621 100644
--- a/test/language/expressions/class/async-meth-static-dflt-params-arg-val-not-undefined.js
+++ b/test/language/expressions/class/async-meth-static-dflt-params-arg-val-not-undefined.js
@@ -4,7 +4,7 @@
 /*---
 description: Use of initializer when argument value is not `undefined` (static class expression async method)
 esid: sec-class-definitions-runtime-semantics-evaluation
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     ClassExpression : class BindingIdentifieropt ClassTail
diff --git a/test/language/expressions/class/async-meth-static-dflt-params-arg-val-undefined.js b/test/language/expressions/class/async-meth-static-dflt-params-arg-val-undefined.js
index 48c3814948..1db91b58f8 100644
--- a/test/language/expressions/class/async-meth-static-dflt-params-arg-val-undefined.js
+++ b/test/language/expressions/class/async-meth-static-dflt-params-arg-val-undefined.js
@@ -4,7 +4,7 @@
 /*---
 description: Use of initializer when argument value is `undefined` (static class expression async method)
 esid: sec-class-definitions-runtime-semantics-evaluation
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     ClassExpression : class BindingIdentifieropt ClassTail
diff --git a/test/language/expressions/class/async-meth-static-dflt-params-ref-later.js b/test/language/expressions/class/async-meth-static-dflt-params-ref-later.js
index 321f7ac4c7..9f121948d4 100644
--- a/test/language/expressions/class/async-meth-static-dflt-params-ref-later.js
+++ b/test/language/expressions/class/async-meth-static-dflt-params-ref-later.js
@@ -4,7 +4,7 @@
 /*---
 description: Referencing a parameter that occurs later in the ParameterList (static class expression async method)
 esid: sec-class-definitions-runtime-semantics-evaluation
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     ClassExpression : class BindingIdentifieropt ClassTail
diff --git a/test/language/expressions/class/async-meth-static-dflt-params-ref-prior.js b/test/language/expressions/class/async-meth-static-dflt-params-ref-prior.js
index 903438149e..772775ea87 100644
--- a/test/language/expressions/class/async-meth-static-dflt-params-ref-prior.js
+++ b/test/language/expressions/class/async-meth-static-dflt-params-ref-prior.js
@@ -4,7 +4,7 @@
 /*---
 description: Referencing a parameter that occurs earlier in the ParameterList (static class expression async method)
 esid: sec-class-definitions-runtime-semantics-evaluation
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     ClassExpression : class BindingIdentifieropt ClassTail
diff --git a/test/language/expressions/class/async-meth-static-dflt-params-ref-self.js b/test/language/expressions/class/async-meth-static-dflt-params-ref-self.js
index e7b3af1f59..52fc0b4956 100644
--- a/test/language/expressions/class/async-meth-static-dflt-params-ref-self.js
+++ b/test/language/expressions/class/async-meth-static-dflt-params-ref-self.js
@@ -4,7 +4,7 @@
 /*---
 description: Referencing a parameter from within its own initializer (static class expression async method)
 esid: sec-class-definitions-runtime-semantics-evaluation
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     ClassExpression : class BindingIdentifieropt ClassTail
diff --git a/test/language/expressions/class/async-meth-static-dflt-params-trailing-comma.js b/test/language/expressions/class/async-meth-static-dflt-params-trailing-comma.js
index 9afa64ed45..e0d671ead8 100644
--- a/test/language/expressions/class/async-meth-static-dflt-params-trailing-comma.js
+++ b/test/language/expressions/class/async-meth-static-dflt-params-trailing-comma.js
@@ -4,6 +4,7 @@
 /*---
 description: A trailing comma should not increase the respective length, using default parameters (static class expression async method)
 esid: sec-class-definitions-runtime-semantics-evaluation
+features: [async-functions]
 flags: [generated, async]
 info: |
     ClassExpression : class BindingIdentifieropt ClassTail
diff --git a/test/language/expressions/class/async-meth-static-params-trailing-comma-multiple.js b/test/language/expressions/class/async-meth-static-params-trailing-comma-multiple.js
index 172b92ce92..f4ce988d8f 100644
--- a/test/language/expressions/class/async-meth-static-params-trailing-comma-multiple.js
+++ b/test/language/expressions/class/async-meth-static-params-trailing-comma-multiple.js
@@ -4,6 +4,7 @@
 /*---
 description: A trailing comma should not increase the respective length, using multiple parameters (static class expression async method)
 esid: sec-class-definitions-runtime-semantics-evaluation
+features: [async-functions]
 flags: [generated, async]
 info: |
     ClassExpression : class BindingIdentifieropt ClassTail
diff --git a/test/language/expressions/class/async-meth-static-params-trailing-comma-single.js b/test/language/expressions/class/async-meth-static-params-trailing-comma-single.js
index 8177a8e1fc..c7778d89cd 100644
--- a/test/language/expressions/class/async-meth-static-params-trailing-comma-single.js
+++ b/test/language/expressions/class/async-meth-static-params-trailing-comma-single.js
@@ -4,6 +4,7 @@
 /*---
 description: A trailing comma should not increase the respective length, using a single parameter (static class expression async method)
 esid: sec-class-definitions-runtime-semantics-evaluation
+features: [async-functions]
 flags: [generated, async]
 info: |
     ClassExpression : class BindingIdentifieropt ClassTail
diff --git a/test/language/expressions/object/method-definition/async-meth-dflt-params-abrupt.js b/test/language/expressions/object/method-definition/async-meth-dflt-params-abrupt.js
index 21052dbf34..d95aa9ca82 100644
--- a/test/language/expressions/object/method-definition/async-meth-dflt-params-abrupt.js
+++ b/test/language/expressions/object/method-definition/async-meth-dflt-params-abrupt.js
@@ -4,7 +4,7 @@
 /*---
 description: Abrupt completion returned by evaluation of initializer (async method)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/expressions/object/method-definition/async-meth-dflt-params-arg-val-not-undefined.js b/test/language/expressions/object/method-definition/async-meth-dflt-params-arg-val-not-undefined.js
index 005d87f790..357e44305c 100644
--- a/test/language/expressions/object/method-definition/async-meth-dflt-params-arg-val-not-undefined.js
+++ b/test/language/expressions/object/method-definition/async-meth-dflt-params-arg-val-not-undefined.js
@@ -4,7 +4,7 @@
 /*---
 description: Use of initializer when argument value is not `undefined` (async method)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/expressions/object/method-definition/async-meth-dflt-params-arg-val-undefined.js b/test/language/expressions/object/method-definition/async-meth-dflt-params-arg-val-undefined.js
index ba482863db..c768e43fa0 100644
--- a/test/language/expressions/object/method-definition/async-meth-dflt-params-arg-val-undefined.js
+++ b/test/language/expressions/object/method-definition/async-meth-dflt-params-arg-val-undefined.js
@@ -4,7 +4,7 @@
 /*---
 description: Use of initializer when argument value is `undefined` (async method)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/expressions/object/method-definition/async-meth-dflt-params-ref-later.js b/test/language/expressions/object/method-definition/async-meth-dflt-params-ref-later.js
index 66dc44b258..3d1574accc 100644
--- a/test/language/expressions/object/method-definition/async-meth-dflt-params-ref-later.js
+++ b/test/language/expressions/object/method-definition/async-meth-dflt-params-ref-later.js
@@ -4,7 +4,7 @@
 /*---
 description: Referencing a parameter that occurs later in the ParameterList (async method)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/expressions/object/method-definition/async-meth-dflt-params-ref-prior.js b/test/language/expressions/object/method-definition/async-meth-dflt-params-ref-prior.js
index e73bd575d0..896e253e0a 100644
--- a/test/language/expressions/object/method-definition/async-meth-dflt-params-ref-prior.js
+++ b/test/language/expressions/object/method-definition/async-meth-dflt-params-ref-prior.js
@@ -4,7 +4,7 @@
 /*---
 description: Referencing a parameter that occurs earlier in the ParameterList (async method)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/expressions/object/method-definition/async-meth-dflt-params-ref-self.js b/test/language/expressions/object/method-definition/async-meth-dflt-params-ref-self.js
index 4e5a1efd7d..240e8d2561 100644
--- a/test/language/expressions/object/method-definition/async-meth-dflt-params-ref-self.js
+++ b/test/language/expressions/object/method-definition/async-meth-dflt-params-ref-self.js
@@ -4,7 +4,7 @@
 /*---
 description: Referencing a parameter from within its own initializer (async method)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/expressions/object/method-definition/async-meth-dflt-params-trailing-comma.js b/test/language/expressions/object/method-definition/async-meth-dflt-params-trailing-comma.js
index f7420e796f..70130e02cb 100644
--- a/test/language/expressions/object/method-definition/async-meth-dflt-params-trailing-comma.js
+++ b/test/language/expressions/object/method-definition/async-meth-dflt-params-trailing-comma.js
@@ -4,6 +4,7 @@
 /*---
 description: A trailing comma should not increase the respective length, using default parameters (async method)
 esid: sec-async-function-definitions
+features: [async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/expressions/object/method-definition/async-meth-params-trailing-comma-multiple.js b/test/language/expressions/object/method-definition/async-meth-params-trailing-comma-multiple.js
index 35ac30a44a..3fca402044 100644
--- a/test/language/expressions/object/method-definition/async-meth-params-trailing-comma-multiple.js
+++ b/test/language/expressions/object/method-definition/async-meth-params-trailing-comma-multiple.js
@@ -4,6 +4,7 @@
 /*---
 description: A trailing comma should not increase the respective length, using multiple parameters (async method)
 esid: sec-async-function-definitions
+features: [async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/expressions/object/method-definition/async-meth-params-trailing-comma-single.js b/test/language/expressions/object/method-definition/async-meth-params-trailing-comma-single.js
index daebc1b107..7032cd423e 100644
--- a/test/language/expressions/object/method-definition/async-meth-params-trailing-comma-single.js
+++ b/test/language/expressions/object/method-definition/async-meth-params-trailing-comma-single.js
@@ -4,6 +4,7 @@
 /*---
 description: A trailing comma should not increase the respective length, using a single parameter (async method)
 esid: sec-async-function-definitions
+features: [async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/statements/async-function/dflt-params-abrupt.js b/test/language/statements/async-function/dflt-params-abrupt.js
index 90a7c98c3b..5c0e45fe8e 100644
--- a/test/language/statements/async-function/dflt-params-abrupt.js
+++ b/test/language/statements/async-function/dflt-params-abrupt.js
@@ -4,7 +4,7 @@
 /*---
 description: Abrupt completion returned by evaluation of initializer (async function declaration)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/statements/async-function/dflt-params-arg-val-not-undefined.js b/test/language/statements/async-function/dflt-params-arg-val-not-undefined.js
index 2a9be96dca..4b00c06a86 100644
--- a/test/language/statements/async-function/dflt-params-arg-val-not-undefined.js
+++ b/test/language/statements/async-function/dflt-params-arg-val-not-undefined.js
@@ -4,7 +4,7 @@
 /*---
 description: Use of initializer when argument value is not `undefined` (async function declaration)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/statements/async-function/dflt-params-arg-val-undefined.js b/test/language/statements/async-function/dflt-params-arg-val-undefined.js
index f317dcf3a2..a81dd928ff 100644
--- a/test/language/statements/async-function/dflt-params-arg-val-undefined.js
+++ b/test/language/statements/async-function/dflt-params-arg-val-undefined.js
@@ -4,7 +4,7 @@
 /*---
 description: Use of initializer when argument value is `undefined` (async function declaration)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/statements/async-function/dflt-params-duplicates.js b/test/language/statements/async-function/dflt-params-duplicates.js
index 4e81940af0..fffc4c4c04 100644
--- a/test/language/statements/async-function/dflt-params-duplicates.js
+++ b/test/language/statements/async-function/dflt-params-duplicates.js
@@ -4,7 +4,7 @@
 /*---
 description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (async function declaration)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated]
 negative:
   phase: parse
@@ -15,6 +15,7 @@ info: |
     AsyncFunctionDeclaration :
       async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
 
+
     14.1.2 Static Semantics: Early Errors
 
     StrictFormalParameters : FormalParameters
diff --git a/test/language/statements/async-function/dflt-params-ref-later.js b/test/language/statements/async-function/dflt-params-ref-later.js
index aa56ea0dcf..b48aef99f4 100644
--- a/test/language/statements/async-function/dflt-params-ref-later.js
+++ b/test/language/statements/async-function/dflt-params-ref-later.js
@@ -4,7 +4,7 @@
 /*---
 description: Referencing a parameter that occurs later in the ParameterList (async function declaration)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/statements/async-function/dflt-params-ref-prior.js b/test/language/statements/async-function/dflt-params-ref-prior.js
index b97df71c52..e231b28dbb 100644
--- a/test/language/statements/async-function/dflt-params-ref-prior.js
+++ b/test/language/statements/async-function/dflt-params-ref-prior.js
@@ -4,7 +4,7 @@
 /*---
 description: Referencing a parameter that occurs earlier in the ParameterList (async function declaration)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/statements/async-function/dflt-params-ref-self.js b/test/language/statements/async-function/dflt-params-ref-self.js
index 714f611e92..9749433e22 100644
--- a/test/language/statements/async-function/dflt-params-ref-self.js
+++ b/test/language/statements/async-function/dflt-params-ref-self.js
@@ -4,7 +4,7 @@
 /*---
 description: Referencing a parameter from within its own initializer (async function declaration)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/statements/async-function/dflt-params-rest.js b/test/language/statements/async-function/dflt-params-rest.js
index 4fe7c6ade3..dccd916c90 100644
--- a/test/language/statements/async-function/dflt-params-rest.js
+++ b/test/language/statements/async-function/dflt-params-rest.js
@@ -4,7 +4,7 @@
 /*---
 description: RestParameter does not support an initializer (async function declaration)
 esid: sec-async-function-definitions
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated]
 negative:
   phase: parse
@@ -15,6 +15,7 @@ info: |
     AsyncFunctionDeclaration :
       async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
 
+
     14.1 Function Definitions
 
     Syntax
diff --git a/test/language/statements/async-function/dflt-params-trailing-comma.js b/test/language/statements/async-function/dflt-params-trailing-comma.js
index f4fb4deb65..2729ffd19a 100644
--- a/test/language/statements/async-function/dflt-params-trailing-comma.js
+++ b/test/language/statements/async-function/dflt-params-trailing-comma.js
@@ -4,6 +4,7 @@
 /*---
 description: A trailing comma should not increase the respective length, using default parameters (async function declaration)
 esid: sec-async-function-definitions
+features: [async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/statements/async-function/params-trailing-comma-multiple.js b/test/language/statements/async-function/params-trailing-comma-multiple.js
index 5a74e80f7c..ff37f6c31c 100644
--- a/test/language/statements/async-function/params-trailing-comma-multiple.js
+++ b/test/language/statements/async-function/params-trailing-comma-multiple.js
@@ -4,6 +4,7 @@
 /*---
 description: A trailing comma should not increase the respective length, using multiple parameters (async function declaration)
 esid: sec-async-function-definitions
+features: [async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/statements/async-function/params-trailing-comma-single.js b/test/language/statements/async-function/params-trailing-comma-single.js
index 3a88578ec0..23071b6f41 100644
--- a/test/language/statements/async-function/params-trailing-comma-single.js
+++ b/test/language/statements/async-function/params-trailing-comma-single.js
@@ -4,6 +4,7 @@
 /*---
 description: A trailing comma should not increase the respective length, using a single parameter (async function declaration)
 esid: sec-async-function-definitions
+features: [async-functions]
 flags: [generated, async]
 info: |
     14.6 Async Function Definitions
diff --git a/test/language/statements/async-function/rest-params-trailing-comma-early-error.js b/test/language/statements/async-function/rest-params-trailing-comma-early-error.js
index 99c390295b..c29555f316 100644
--- a/test/language/statements/async-function/rest-params-trailing-comma-early-error.js
+++ b/test/language/statements/async-function/rest-params-trailing-comma-early-error.js
@@ -4,6 +4,7 @@
 /*---
 description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (async function declaration)
 esid: sec-async-function-definitions
+features: [async-functions]
 flags: [generated]
 negative:
   phase: parse
@@ -14,6 +15,7 @@ info: |
     AsyncFunctionDeclaration :
       async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
 
+
     Trailing comma in the parameters list
 
     14.1 Function Definitions
diff --git a/test/language/statements/class/async-meth-dflt-params-abrupt.js b/test/language/statements/class/async-meth-dflt-params-abrupt.js
index 6fb6af0068..74d6f3cde3 100644
--- a/test/language/statements/class/async-meth-dflt-params-abrupt.js
+++ b/test/language/statements/class/async-meth-dflt-params-abrupt.js
@@ -4,7 +4,7 @@
 /*---
 description: Abrupt completion returned by evaluation of initializer (class declaration async method)
 esid: sec-class-definitions-runtime-semantics-evaluation
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     ClassDeclaration : class BindingIdentifier ClassTail
diff --git a/test/language/statements/class/async-meth-dflt-params-arg-val-not-undefined.js b/test/language/statements/class/async-meth-dflt-params-arg-val-not-undefined.js
index b7defcbba1..9f44cf9654 100644
--- a/test/language/statements/class/async-meth-dflt-params-arg-val-not-undefined.js
+++ b/test/language/statements/class/async-meth-dflt-params-arg-val-not-undefined.js
@@ -4,7 +4,7 @@
 /*---
 description: Use of initializer when argument value is not `undefined` (class declaration async method)
 esid: sec-class-definitions-runtime-semantics-evaluation
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     ClassDeclaration : class BindingIdentifier ClassTail
diff --git a/test/language/statements/class/async-meth-dflt-params-arg-val-undefined.js b/test/language/statements/class/async-meth-dflt-params-arg-val-undefined.js
index ef21786bfa..78dd965deb 100644
--- a/test/language/statements/class/async-meth-dflt-params-arg-val-undefined.js
+++ b/test/language/statements/class/async-meth-dflt-params-arg-val-undefined.js
@@ -4,7 +4,7 @@
 /*---
 description: Use of initializer when argument value is `undefined` (class declaration async method)
 esid: sec-class-definitions-runtime-semantics-evaluation
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     ClassDeclaration : class BindingIdentifier ClassTail
diff --git a/test/language/statements/class/async-meth-dflt-params-ref-later.js b/test/language/statements/class/async-meth-dflt-params-ref-later.js
index 673c3e4e7c..eac3fdf73e 100644
--- a/test/language/statements/class/async-meth-dflt-params-ref-later.js
+++ b/test/language/statements/class/async-meth-dflt-params-ref-later.js
@@ -4,7 +4,7 @@
 /*---
 description: Referencing a parameter that occurs later in the ParameterList (class declaration async method)
 esid: sec-class-definitions-runtime-semantics-evaluation
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     ClassDeclaration : class BindingIdentifier ClassTail
diff --git a/test/language/statements/class/async-meth-dflt-params-ref-prior.js b/test/language/statements/class/async-meth-dflt-params-ref-prior.js
index f6eae505d4..8d702ad7e2 100644
--- a/test/language/statements/class/async-meth-dflt-params-ref-prior.js
+++ b/test/language/statements/class/async-meth-dflt-params-ref-prior.js
@@ -4,7 +4,7 @@
 /*---
 description: Referencing a parameter that occurs earlier in the ParameterList (class declaration async method)
 esid: sec-class-definitions-runtime-semantics-evaluation
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     ClassDeclaration : class BindingIdentifier ClassTail
diff --git a/test/language/statements/class/async-meth-dflt-params-ref-self.js b/test/language/statements/class/async-meth-dflt-params-ref-self.js
index b85d2c1c13..0991319eff 100644
--- a/test/language/statements/class/async-meth-dflt-params-ref-self.js
+++ b/test/language/statements/class/async-meth-dflt-params-ref-self.js
@@ -4,7 +4,7 @@
 /*---
 description: Referencing a parameter from within its own initializer (class declaration async method)
 esid: sec-class-definitions-runtime-semantics-evaluation
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     ClassDeclaration : class BindingIdentifier ClassTail
diff --git a/test/language/statements/class/async-meth-dflt-params-trailing-comma.js b/test/language/statements/class/async-meth-dflt-params-trailing-comma.js
index 2dfc6a9888..4c36832e32 100644
--- a/test/language/statements/class/async-meth-dflt-params-trailing-comma.js
+++ b/test/language/statements/class/async-meth-dflt-params-trailing-comma.js
@@ -4,6 +4,7 @@
 /*---
 description: A trailing comma should not increase the respective length, using default parameters (class declaration async method)
 esid: sec-class-definitions-runtime-semantics-evaluation
+features: [async-functions]
 flags: [generated, async]
 info: |
     ClassDeclaration : class BindingIdentifier ClassTail
diff --git a/test/language/statements/class/async-meth-params-trailing-comma-multiple.js b/test/language/statements/class/async-meth-params-trailing-comma-multiple.js
index 3ceb1d6d58..a04e242e2d 100644
--- a/test/language/statements/class/async-meth-params-trailing-comma-multiple.js
+++ b/test/language/statements/class/async-meth-params-trailing-comma-multiple.js
@@ -4,6 +4,7 @@
 /*---
 description: A trailing comma should not increase the respective length, using multiple parameters (class declaration async method)
 esid: sec-class-definitions-runtime-semantics-evaluation
+features: [async-functions]
 flags: [generated, async]
 info: |
     ClassDeclaration : class BindingIdentifier ClassTail
diff --git a/test/language/statements/class/async-meth-params-trailing-comma-single.js b/test/language/statements/class/async-meth-params-trailing-comma-single.js
index 5b86f97ee4..bd127f0ca2 100644
--- a/test/language/statements/class/async-meth-params-trailing-comma-single.js
+++ b/test/language/statements/class/async-meth-params-trailing-comma-single.js
@@ -4,6 +4,7 @@
 /*---
 description: A trailing comma should not increase the respective length, using a single parameter (class declaration async method)
 esid: sec-class-definitions-runtime-semantics-evaluation
+features: [async-functions]
 flags: [generated, async]
 info: |
     ClassDeclaration : class BindingIdentifier ClassTail
diff --git a/test/language/statements/class/async-meth-static-dflt-params-abrupt.js b/test/language/statements/class/async-meth-static-dflt-params-abrupt.js
index 3d58d2ab3d..2f97aa6fea 100644
--- a/test/language/statements/class/async-meth-static-dflt-params-abrupt.js
+++ b/test/language/statements/class/async-meth-static-dflt-params-abrupt.js
@@ -4,7 +4,7 @@
 /*---
 description: Abrupt completion returned by evaluation of initializer (static class declaration async method)
 esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     ClassDeclaration : class BindingIdentifier ClassTail
diff --git a/test/language/statements/class/async-meth-static-dflt-params-arg-val-not-undefined.js b/test/language/statements/class/async-meth-static-dflt-params-arg-val-not-undefined.js
index 58021d8290..8988a844af 100644
--- a/test/language/statements/class/async-meth-static-dflt-params-arg-val-not-undefined.js
+++ b/test/language/statements/class/async-meth-static-dflt-params-arg-val-not-undefined.js
@@ -4,7 +4,7 @@
 /*---
 description: Use of initializer when argument value is not `undefined` (static class declaration async method)
 esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     ClassDeclaration : class BindingIdentifier ClassTail
diff --git a/test/language/statements/class/async-meth-static-dflt-params-arg-val-undefined.js b/test/language/statements/class/async-meth-static-dflt-params-arg-val-undefined.js
index 31d0885c93..cd8bf2a6ef 100644
--- a/test/language/statements/class/async-meth-static-dflt-params-arg-val-undefined.js
+++ b/test/language/statements/class/async-meth-static-dflt-params-arg-val-undefined.js
@@ -4,7 +4,7 @@
 /*---
 description: Use of initializer when argument value is `undefined` (static class declaration async method)
 esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     ClassDeclaration : class BindingIdentifier ClassTail
diff --git a/test/language/statements/class/async-meth-static-dflt-params-ref-later.js b/test/language/statements/class/async-meth-static-dflt-params-ref-later.js
index f089ed8553..235d1f04cd 100644
--- a/test/language/statements/class/async-meth-static-dflt-params-ref-later.js
+++ b/test/language/statements/class/async-meth-static-dflt-params-ref-later.js
@@ -4,7 +4,7 @@
 /*---
 description: Referencing a parameter that occurs later in the ParameterList (static class declaration async method)
 esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     ClassDeclaration : class BindingIdentifier ClassTail
diff --git a/test/language/statements/class/async-meth-static-dflt-params-ref-prior.js b/test/language/statements/class/async-meth-static-dflt-params-ref-prior.js
index 2e2126f89a..dedfe2b490 100644
--- a/test/language/statements/class/async-meth-static-dflt-params-ref-prior.js
+++ b/test/language/statements/class/async-meth-static-dflt-params-ref-prior.js
@@ -4,7 +4,7 @@
 /*---
 description: Referencing a parameter that occurs earlier in the ParameterList (static class declaration async method)
 esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     ClassDeclaration : class BindingIdentifier ClassTail
diff --git a/test/language/statements/class/async-meth-static-dflt-params-ref-self.js b/test/language/statements/class/async-meth-static-dflt-params-ref-self.js
index 716f786d47..b012e2b5f2 100644
--- a/test/language/statements/class/async-meth-static-dflt-params-ref-self.js
+++ b/test/language/statements/class/async-meth-static-dflt-params-ref-self.js
@@ -4,7 +4,7 @@
 /*---
 description: Referencing a parameter from within its own initializer (static class declaration async method)
 esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-features: [default-parameters]
+features: [default-parameters, async-functions]
 flags: [generated, async]
 info: |
     ClassDeclaration : class BindingIdentifier ClassTail
diff --git a/test/language/statements/class/async-meth-static-dflt-params-trailing-comma.js b/test/language/statements/class/async-meth-static-dflt-params-trailing-comma.js
index e9a769b125..76f4dbf7e3 100644
--- a/test/language/statements/class/async-meth-static-dflt-params-trailing-comma.js
+++ b/test/language/statements/class/async-meth-static-dflt-params-trailing-comma.js
@@ -4,6 +4,7 @@
 /*---
 description: A trailing comma should not increase the respective length, using default parameters (static class declaration async method)
 esid: sec-runtime-semantics-bindingclassdeclarationevaluation
+features: [async-functions]
 flags: [generated, async]
 info: |
     ClassDeclaration : class BindingIdentifier ClassTail
diff --git a/test/language/statements/class/async-meth-static-params-trailing-comma-multiple.js b/test/language/statements/class/async-meth-static-params-trailing-comma-multiple.js
index 7c0bebd538..d0e37cf8ef 100644
--- a/test/language/statements/class/async-meth-static-params-trailing-comma-multiple.js
+++ b/test/language/statements/class/async-meth-static-params-trailing-comma-multiple.js
@@ -4,6 +4,7 @@
 /*---
 description: A trailing comma should not increase the respective length, using multiple parameters (static class declaration async method)
 esid: sec-runtime-semantics-bindingclassdeclarationevaluation
+features: [async-functions]
 flags: [generated, async]
 info: |
     ClassDeclaration : class BindingIdentifier ClassTail
diff --git a/test/language/statements/class/async-meth-static-params-trailing-comma-single.js b/test/language/statements/class/async-meth-static-params-trailing-comma-single.js
index ef5179ae28..922c9983c8 100644
--- a/test/language/statements/class/async-meth-static-params-trailing-comma-single.js
+++ b/test/language/statements/class/async-meth-static-params-trailing-comma-single.js
@@ -4,6 +4,7 @@
 /*---
 description: A trailing comma should not increase the respective length, using a single parameter (static class declaration async method)
 esid: sec-runtime-semantics-bindingclassdeclarationevaluation
+features: [async-functions]
 flags: [generated, async]
 info: |
     ClassDeclaration : class BindingIdentifier ClassTail
diff --git a/test/language/statements/class/definition/class-method-returns-promise.js b/test/language/statements/class/definition/class-method-returns-promise.js
index a0bc6064e7..cb065d6605 100644
--- a/test/language/statements/class/definition/class-method-returns-promise.js
+++ b/test/language/statements/class/definition/class-method-returns-promise.js
@@ -4,6 +4,7 @@
 /*---
 author: Brian Terlson <brian.terlson@microsoft.com>
 esid: pending
+features: [async-functions]
 description: >
   Async function expressions return promises
 ---*/
diff --git a/test/language/statements/class/definition/methods-async-super-call-body.js b/test/language/statements/class/definition/methods-async-super-call-body.js
index 5999137619..cf69be1fd2 100644
--- a/test/language/statements/class/definition/methods-async-super-call-body.js
+++ b/test/language/statements/class/definition/methods-async-super-call-body.js
@@ -7,6 +7,7 @@ esid: pending
 description: >
   Super calls work in body of async methods
 flags: [async]
+features: [async-functions]
 ---*/
 class A {
   async method() {
diff --git a/test/language/statements/class/definition/methods-async-super-call-param.js b/test/language/statements/class/definition/methods-async-super-call-param.js
index 4375b932f9..efb81ba1bb 100644
--- a/test/language/statements/class/definition/methods-async-super-call-param.js
+++ b/test/language/statements/class/definition/methods-async-super-call-param.js
@@ -7,6 +7,7 @@ esid: pending
 description: >
   Super calls work in the parameter list of async methods
 flags: [async]
+features: [async-functions]
 ---*/
 
 class A {
-- 
GitLab