Name Description Size
array-destructuring-param-strict-body.js --- description: ArrayBindingPattern and Use Strict Directive are not allowed to coexist for the same function. (async function declaration) esid: sec-async-function-definitions features: [rest-parameters, async-functions] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.6 Async Function Definitions AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } 13.3.3.4 Static Semantics: IsSimpleParameterList BindingElement : BindingPattern 1. Return false. 14.1.2 Static Semantics: Early Errors FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } FunctionDeclaration : function ( FormalParameters ) { FunctionBody } FunctionExpression : function BindingIdentifier ( FormalParameters ) { FunctionBody } - It is a Syntax Error if ContainsUseStrict of FunctionBody is true and IsSimpleParameterList of FormalParameters is false. 14.2.1 Static Semantics: Early Errors ArrowFunction : ArrowParameters => ConciseBody - It is a Syntax Error if ContainsUseStrict of ConciseBody is true and IsSimpleParameterList of ArrowParameters is false. 14.3.1 Static Semantics: Early Errors MethodDefinition : PropertyName ( UniqueFormalParameters ) { FunctionBody } - It is a Syntax Error if ContainsUseStrict of FunctionBody is true and IsSimpleParameterList of UniqueFormalParameters is false. MethodDefinition : set PropertyName ( PropertySetParameterList ) { FunctionBody } - It is a Syntax Error if ContainsUseStrict of FunctionBody is true and IsSimpleParameterList of PropertySetParameterList is false. 14.4.1 Static Semantics: Early Errors GeneratorMethod : * PropertyName ( UniqueFormalParameters ) { GeneratorBody } - It is a Syntax Error if ContainsUseStrict of GeneratorBody is true and IsSimpleParameterList of UniqueFormalParameters is false. GeneratorDeclaration : function * BindingIdentifier ( FormalParameters ) { GeneratorBody } GeneratorDeclaration : function * ( FormalParameters ) { GeneratorBody } GeneratorExpression : function * BindingIdentifier ( FormalParameters ) { GeneratorBody } - It is a Syntax Error if ContainsUseStrict of GeneratorBody is true and IsSimpleParameterList of UniqueFormalParameters is false. 14.5.1 Static Semantics: Early Errors AsyncGeneratorMethod : async * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } - It is a Syntax Error if ContainsUseStrict of AsyncGeneratorBody is true and IsSimpleParameterList of UniqueFormalParameters is false. AsyncGeneratorDeclaration : async function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } AsyncGeneratorDeclaration : async function * ( FormalParameters ) { AsyncGeneratorBody } AsyncGeneratorExpression : async function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } - It is a Syntax Error if ContainsUseStrict of AsyncGeneratorBody is true and IsSimpleParameterList of FormalParameters is false. 14.7.1 Static Semantics: Early Errors AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } - It is a Syntax Error if ContainsUseStrict of AsyncFunctionBody is true and IsSimpleParameterList of UniqueFormalParameters is false. AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } AsyncFunctionDeclaration : async function ( FormalParameters ) { AsyncFunctionBody } AsyncFunctionExpression : async function ( FormalParameters ) { AsyncFunctionBody } AsyncFunctionExpression : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } - It is a Syntax Error if ContainsUseStrict of AsyncFunctionBody is true and IsSimpleParameterList of FormalParameters is false. 14.8.1 Static Semantics: Early Errors AsyncArrowFunction : CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody - It is a Syntax Error if ContainsUseStrict of AsyncConciseBody is true and IsSimpleParameterList of CoverCallExpressionAndAsyncArrowHead is false. --- 4528
await-as-binding-identifier-escaped.js --- description: await is a reserved keyword within generator function bodies and may not be used as a binding identifier. (Async function declaration) esid: prod-AsyncFunctionDeclaration features: [async-functions] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Function Definitions AsyncFunctionDeclaration: async [no LineTerminator here] function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } BindingIdentifier : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 909
await-as-binding-identifier.js --- description: await is a reserved keyword within generator function bodies and may not be used as a binding identifier. (Async function declaration) esid: prod-AsyncFunctionDeclaration features: [async-functions] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Function Definitions AsyncFunctionDeclaration: async [no LineTerminator here] function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } BindingIdentifier : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 896
await-as-identifier-reference-escaped.js --- description: await is a reserved keyword within generator function bodies and may not be used as an identifier reference. (Async function declaration) esid: prod-AsyncFunctionDeclaration features: [async-functions] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Function Definitions AsyncFunctionDeclaration: async [no LineTerminator here] function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } IdentifierReference : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 917
await-as-identifier-reference.js --- description: await is a reserved keyword within generator function bodies and may not be used as an identifier reference. (Async function declaration) esid: prod-AsyncFunctionDeclaration features: [async-functions] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Function Definitions AsyncFunctionDeclaration: async [no LineTerminator here] function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } IdentifierReference : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 904
await-as-label-identifier-escaped.js --- description: await is a reserved keyword within generator function bodies and may not be used as a label identifier. (Async function declaration) esid: prod-AsyncFunctionDeclaration features: [async-functions] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Function Definitions AsyncFunctionDeclaration: async [no LineTerminator here] function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } LabelIdentifier : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 901
await-as-label-identifier.js --- description: await is a reserved keyword within generator function bodies and may not be used as a label identifier. (Async function declaration) esid: prod-AsyncFunctionDeclaration features: [async-functions] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Function Definitions AsyncFunctionDeclaration: async [no LineTerminator here] function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } LabelIdentifier : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 888
browser.js 0
cptn-decl.js --- esid: sec-async-function-definitions-runtime-semantics-evaluation description: Async function declaration completion value is empty. info: | AsyncFunctionDeclaration : async [no LineTerminator here] function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } 1. Return NormalCompletion(empty). --- 588
declaration-returns-promise.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > Async functions return promises --- 392
dflt-params-abrupt.js --- description: Abrupt completion returned by evaluation of initializer (async function declaration) esid: sec-async-function-definitions features: [default-parameters, async-functions] flags: [generated, async] info: | 14.6 Async Function Definitions AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } 14.1.19 Runtime Semantics: IteratorBindingInitialization FormalsList : FormalsList , FormalParameter 1. Let status be the result of performing IteratorBindingInitialization for FormalsList using iteratorRecord and environment as the arguments. 2. ReturnIfAbrupt(status). 3. Return the result of performing IteratorBindingInitialization for FormalParameter using iteratorRecord and environment as the arguments. --- 1412
dflt-params-arg-val-not-undefined.js --- description: Use of initializer when argument value is not `undefined` (async function declaration) esid: sec-async-function-definitions features: [default-parameters, async-functions] flags: [generated, async] info: | 14.6 Async Function Definitions AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } 14.1.19 Runtime Semantics: IteratorBindingInitialization FormalsList : FormalsList , FormalParameter [...] 23. Let iteratorRecord be Record {[[Iterator]]: CreateListIterator(argumentsList), [[Done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, a. Perform ? IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] --- 2145
dflt-params-arg-val-undefined.js --- description: Use of initializer when argument value is `undefined` (async function declaration) esid: sec-async-function-definitions features: [default-parameters, async-functions] flags: [generated, async] info: | 14.6 Async Function Definitions AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } 14.1.19 Runtime Semantics: IteratorBindingInitialization FormalsList : FormalsList , FormalParameter [...] 23. Let iteratorRecord be Record {[[Iterator]]: CreateListIterator(argumentsList), [[Done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, a. Perform ? IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] --- 1414
dflt-params-duplicates.js --- 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, async-functions] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.6 Async Function Definitions AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } 14.1.2 Static Semantics: Early Errors StrictFormalParameters : FormalParameters - It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. FormalParameters : FormalParameterList - It is a Syntax Error if IsSimpleParameterList of FormalParameterList is false and BoundNames of FormalParameterList contains any duplicate elements. --- 1115
dflt-params-ref-later.js --- description: Referencing a parameter that occurs later in the ParameterList (async function declaration) esid: sec-async-function-definitions features: [default-parameters, async-functions] flags: [generated, async] info: | 14.6 Async Function Definitions AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } 14.1.19 Runtime Semantics: IteratorBindingInitialization FormalsList : FormalsList , FormalParameter 1. Let status be the result of performing IteratorBindingInitialization for FormalsList using iteratorRecord and environment as the arguments. 2. ReturnIfAbrupt(status). 3. Return the result of performing IteratorBindingInitialization for FormalParameter using iteratorRecord and environment as the arguments. --- 1395
dflt-params-ref-prior.js --- description: Referencing a parameter that occurs earlier in the ParameterList (async function declaration) esid: sec-async-function-definitions features: [default-parameters, async-functions] flags: [generated, async] info: | 14.6 Async Function Definitions AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } 14.1.19 Runtime Semantics: IteratorBindingInitialization FormalsList : FormalsList , FormalParameter 1. Let status be the result of performing IteratorBindingInitialization for FormalsList using iteratorRecord and environment as the arguments. 2. ReturnIfAbrupt(status). 3. Return the result of performing IteratorBindingInitialization for FormalParameter using iteratorRecord and environment as the arguments. --- 1447
dflt-params-ref-self.js --- description: Referencing a parameter from within its own initializer (async function declaration) esid: sec-async-function-definitions features: [default-parameters, async-functions] flags: [generated, async] info: | 14.6 Async Function Definitions AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } 14.1.19 Runtime Semantics: IteratorBindingInitialization FormalsList : FormalsList , FormalParameter 1. Let status be the result of performing IteratorBindingInitialization for FormalsList using iteratorRecord and environment as the arguments. 2. ReturnIfAbrupt(status). 3. Return the result of performing IteratorBindingInitialization for FormalParameter using iteratorRecord and environment as the arguments. --- 1384
dflt-params-rest.js --- description: RestParameter does not support an initializer (async function declaration) esid: sec-async-function-definitions features: [default-parameters, async-functions] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.6 Async Function Definitions AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } 14.1 Function Definitions Syntax FunctionRestParameter[Yield] : BindingRestElement[?Yield] 13.3.3 Destructuring Binding Patterns Syntax BindingRestElement[Yield] : ...BindingIdentifier[?Yield] ...BindingPattern[?Yield] --- 934
dflt-params-trailing-comma.js --- 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 AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } Trailing comma in the parameters list 14.1 Function Definitions FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , --- 1115
early-errors-declaration-arguments-in-formal-parameters-strict.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: It is a SyntaxError if FormalParameters contains arguments in strict mode negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 459
early-errors-declaration-await-in-formals-default.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: It is a SyntaxError if FormalParameters' default expressions contains await negative: phase: parse type: SyntaxError --- 425
early-errors-declaration-await-in-formals.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: It is a SyntaxError if FormalParameters contains await negative: phase: parse type: SyntaxError --- 400
early-errors-declaration-binding-identifier-arguments-strict.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > If the source code matching this production is strict code, it is a Syntax Error if BindingIdentifier is the IdentifierName arguments. negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 520
early-errors-declaration-binding-identifier-eval-strict.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > If the source code matching this production is strict code, it is a Syntax Error if BindingIdentifier is the IdentifierName eval. negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 509
early-errors-declaration-body-contains-super-call.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: It is a syntax error if AsyncFunctionBody contains SuperCall is true negative: phase: parse type: SyntaxError --- 421
early-errors-declaration-body-contains-super-property.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: It is a syntax error if AsyncFunctionBody contains SuperProperty is true negative: phase: parse type: SyntaxError --- 428
early-errors-declaration-duplicate-parameters-strict.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > If strict mode, early error rules for StrictFormalParameters are applied negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 454
early-errors-declaration-eval-in-formal-parameters-strict.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: It is a SyntaxError if FormalParameters contains eval in strict mode negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 448
early-errors-declaration-formals-body-duplicate.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: It is a SyntaxError if BoundNames of FormalParameters also occurs in the LexicallyDeclaredNames of AsyncFunctionBody negative: phase: parse type: SyntaxError --- 469
early-errors-declaration-formals-contains-super-call.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: It is a syntax error if FormalParameters contains SuperCall is true negative: phase: parse type: SyntaxError --- 430
early-errors-declaration-formals-contains-super-property.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: It is a syntax error if FormalParameters contains SuperCall is true negative: phase: parse type: SyntaxError --- 432
early-errors-declaration-NSPL-with-USD.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > It is a Syntax Error if ContainsUseStrict of AsyncConciseBody is *true* and IsSimpleParameterList of ArrowParameters is *false*. negative: phase: parse type: SyntaxError --- 487
escaped-async.js --- esid: sec-grammar-notation description: > The `async` contextual keyword must not contain Unicode escape sequences. info: | Terminal symbols are shown in fixed width font, both in the productions of the grammars and throughout this specification whenever the text directly refers to such a terminal symbol. These are to appear in a script exactly as written. All terminal symbol code points specified in this way are to be understood as the appropriate Unicode code points from the Basic Latin range, as opposed to any similar-looking code points from other Unicode ranges. negative: phase: parse type: SyntaxError features: [async-functions] --- 883
eval-var-scope-syntax-err.js --- description: sloppy direct eval in params introduces var (async function declaration in sloppy code) esid: sec-async-function-definitions features: [default-parameters, async-functions] flags: [generated, async, noStrict] info: | 14.6 Async Function Definitions AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } Runtime Semantics: IteratorBindingInitialization FormalParameter : BindingElement 1. Return the result of performing IteratorBindingInitialization for BindingElement with arguments iteratorRecord and environment. --- 1199
evaluation-body-that-returns-after-await.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > The return value of the async function resolves the promise flags: [async] --- 459
evaluation-body-that-returns.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > The return value of the async function resolves the promise flags: [async] --- 431
evaluation-body-that-throws-after-await.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > Errors thrown from the async function body reject the returned promise flags: [async] --- 511
evaluation-body-that-throws.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > Errors thrown from the async function body reject the returned promise flags: [async] --- 483
evaluation-body.js --- author: brian terlson <brian.terlson@microsoft.com> esid: pending description: > async function bodies are executed immediately (unlike generators) --- 413
evaluation-default-that-throws.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > If a default expression throws, the promise is rejected. info: | This is different from generators which will throw the error out of the generator when it is called. flags: [async] --- 567
evaluation-mapped-arguments.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > Mapped arguments object is used when the async function has a simple parameter list. flags: [noStrict, async] --- 502
evaluation-this-value-global.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > The this value is set to the global object when not passed in sloppy mode. flags: [noStrict, async] includes: [asyncHelpers.js] --- 461
evaluation-this-value-passed.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > The this value from the caller is present in the async function body flags: [async] --- 435
evaluation-unmapped-arguments.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > Unmapped arguments object is used when the async function doesn't have a simple parameter list. flags: [async] --- 509
forbidden-ext
let-newline-await-in-async-function.js --- author: Jeff Walden <jwalden+code@mit.edu> esid: sec-let-and-const-declarations description: > `let await` does not permit ASI in between, as `await` is a BindingIdentifier info: | `await` is a perfectly cromulent binding name in any context grammatically, just prohibited by static semantics in some contexts. Therefore ASI can never apply between `let` (where a LexicalDeclaration is permitted) and `await`, so a subsequent `0` where `=` was expected is a syntax error. negative: phase: parse type: SyntaxError --- 771
object-destructuring-param-strict-body.js --- description: ObjectBindingPattern and Use Strict Directive are not allowed to coexist for the same function. (async function declaration) esid: sec-async-function-definitions features: [rest-parameters, async-functions] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.6 Async Function Definitions AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } 13.3.3.4 Static Semantics: IsSimpleParameterList BindingElement : BindingPattern 1. Return false. 14.1.2 Static Semantics: Early Errors FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } FunctionDeclaration : function ( FormalParameters ) { FunctionBody } FunctionExpression : function BindingIdentifier ( FormalParameters ) { FunctionBody } - It is a Syntax Error if ContainsUseStrict of FunctionBody is true and IsSimpleParameterList of FormalParameters is false. 14.2.1 Static Semantics: Early Errors ArrowFunction : ArrowParameters => ConciseBody - It is a Syntax Error if ContainsUseStrict of ConciseBody is true and IsSimpleParameterList of ArrowParameters is false. 14.3.1 Static Semantics: Early Errors MethodDefinition : PropertyName ( UniqueFormalParameters ) { FunctionBody } - It is a Syntax Error if ContainsUseStrict of FunctionBody is true and IsSimpleParameterList of UniqueFormalParameters is false. MethodDefinition : set PropertyName ( PropertySetParameterList ) { FunctionBody } - It is a Syntax Error if ContainsUseStrict of FunctionBody is true and IsSimpleParameterList of PropertySetParameterList is false. 14.4.1 Static Semantics: Early Errors GeneratorMethod : * PropertyName ( UniqueFormalParameters ) { GeneratorBody } - It is a Syntax Error if ContainsUseStrict of GeneratorBody is true and IsSimpleParameterList of UniqueFormalParameters is false. GeneratorDeclaration : function * BindingIdentifier ( FormalParameters ) { GeneratorBody } GeneratorDeclaration : function * ( FormalParameters ) { GeneratorBody } GeneratorExpression : function * BindingIdentifier ( FormalParameters ) { GeneratorBody } - It is a Syntax Error if ContainsUseStrict of GeneratorBody is true and IsSimpleParameterList of UniqueFormalParameters is false. 14.5.1 Static Semantics: Early Errors AsyncGeneratorMethod : async * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } - It is a Syntax Error if ContainsUseStrict of AsyncGeneratorBody is true and IsSimpleParameterList of UniqueFormalParameters is false. AsyncGeneratorDeclaration : async function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } AsyncGeneratorDeclaration : async function * ( FormalParameters ) { AsyncGeneratorBody } AsyncGeneratorExpression : async function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } - It is a Syntax Error if ContainsUseStrict of AsyncGeneratorBody is true and IsSimpleParameterList of FormalParameters is false. 14.7.1 Static Semantics: Early Errors AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } - It is a Syntax Error if ContainsUseStrict of AsyncFunctionBody is true and IsSimpleParameterList of UniqueFormalParameters is false. AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } AsyncFunctionDeclaration : async function ( FormalParameters ) { AsyncFunctionBody } AsyncFunctionExpression : async function ( FormalParameters ) { AsyncFunctionBody } AsyncFunctionExpression : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } - It is a Syntax Error if ContainsUseStrict of AsyncFunctionBody is true and IsSimpleParameterList of FormalParameters is false. 14.8.1 Static Semantics: Early Errors AsyncArrowFunction : CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody - It is a Syntax Error if ContainsUseStrict of AsyncConciseBody is true and IsSimpleParameterList of CoverCallExpressionAndAsyncArrowHead is false. --- 4531
params-trailing-comma-multiple.js --- 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 AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } Trailing comma in the parameters list 14.1 Function Definitions FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , --- 1108
params-trailing-comma-single.js --- 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 AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } Trailing comma in the parameters list 14.1 Function Definitions FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , --- 1072
rest-param-strict-body.js --- description: RestParameter and Use Strict Directive are not allowed to coexist for the same function. (async function declaration) esid: sec-async-function-definitions features: [rest-parameters, async-functions] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.6 Async Function Definitions AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } 14.1.13 Static Semantics: IsSimpleParameterList FormalParameters : FormalParameterList , FunctionRestParameter 1. Return false. 14.1.2 Static Semantics: Early Errors FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } FunctionDeclaration : function ( FormalParameters ) { FunctionBody } FunctionExpression : function BindingIdentifier ( FormalParameters ) { FunctionBody } - It is a Syntax Error if ContainsUseStrict of FunctionBody is true and IsSimpleParameterList of FormalParameters is false. 14.2.1 Static Semantics: Early Errors ArrowFunction : ArrowParameters => ConciseBody - It is a Syntax Error if ContainsUseStrict of ConciseBody is true and IsSimpleParameterList of ArrowParameters is false. 14.3.1 Static Semantics: Early Errors MethodDefinition : PropertyName ( UniqueFormalParameters ) { FunctionBody } - It is a Syntax Error if ContainsUseStrict of FunctionBody is true and IsSimpleParameterList of UniqueFormalParameters is false. MethodDefinition : set PropertyName ( PropertySetParameterList ) { FunctionBody } - It is a Syntax Error if ContainsUseStrict of FunctionBody is true and IsSimpleParameterList of PropertySetParameterList is false. 14.4.1 Static Semantics: Early Errors GeneratorMethod : * PropertyName ( UniqueFormalParameters ) { GeneratorBody } - It is a Syntax Error if ContainsUseStrict of GeneratorBody is true and IsSimpleParameterList of UniqueFormalParameters is false. GeneratorDeclaration : function * BindingIdentifier ( FormalParameters ) { GeneratorBody } GeneratorDeclaration : function * ( FormalParameters ) { GeneratorBody } GeneratorExpression : function * BindingIdentifier ( FormalParameters ) { GeneratorBody } - It is a Syntax Error if ContainsUseStrict of GeneratorBody is true and IsSimpleParameterList of UniqueFormalParameters is false. 14.5.1 Static Semantics: Early Errors AsyncGeneratorMethod : async * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } - It is a Syntax Error if ContainsUseStrict of AsyncGeneratorBody is true and IsSimpleParameterList of UniqueFormalParameters is false. AsyncGeneratorDeclaration : async function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } AsyncGeneratorDeclaration : async function * ( FormalParameters ) { AsyncGeneratorBody } AsyncGeneratorExpression : async function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } - It is a Syntax Error if ContainsUseStrict of AsyncGeneratorBody is true and IsSimpleParameterList of FormalParameters is false. 14.7.1 Static Semantics: Early Errors AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } - It is a Syntax Error if ContainsUseStrict of AsyncFunctionBody is true and IsSimpleParameterList of UniqueFormalParameters is false. AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } AsyncFunctionDeclaration : async function ( FormalParameters ) { AsyncFunctionBody } AsyncFunctionExpression : async function ( FormalParameters ) { AsyncFunctionBody } AsyncFunctionExpression : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } - It is a Syntax Error if ContainsUseStrict of AsyncFunctionBody is true and IsSimpleParameterList of FormalParameters is false. 14.8.1 Static Semantics: Early Errors AsyncArrowFunction : CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody - It is a Syntax Error if ContainsUseStrict of AsyncConciseBody is true and IsSimpleParameterList of CoverCallExpressionAndAsyncArrowHead is false. --- 4537
rest-params-trailing-comma-early-error.js --- 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 type: SyntaxError info: | 14.6 Async Function Definitions AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } Trailing comma in the parameters list 14.1 Function Definitions FormalParameters[Yield, Await] : [empty] FunctionRestParameter[?Yield, ?Await] FormalParameterList[?Yield, ?Await] FormalParameterList[?Yield, ?Await] , FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await] --- 1043
returns-async-arrow-returns-arguments-from-parent-function.js --- description: Async function returns an async function. (Async function declaration) esid: prod-AsyncFunctionDeclaration features: [async-functions] flags: [generated, async] info: | Async Function Definitions AsyncFunctionDeclaration: async [no LineTerminator here] function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } --- 874
returns-async-arrow-returns-newtarget.js --- description: Async function returns an async function. (Async function declaration) esid: prod-AsyncFunctionDeclaration features: [async-functions] flags: [generated, async] info: | Async Function Definitions AsyncFunctionDeclaration: async [no LineTerminator here] function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } --- 830
returns-async-arrow.js --- description: Async function returns an async function. (Async function declaration) esid: prod-AsyncFunctionDeclaration features: [async-functions] flags: [generated, async] info: | Async Function Definitions AsyncFunctionDeclaration: async [no LineTerminator here] function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } --- 796
returns-async-function-returns-arguments-from-own-function.js --- description: Async function returns an async function. (Async function declaration) esid: prod-AsyncFunctionDeclaration features: [async-functions] flags: [generated, async] info: | Async Function Definitions AsyncFunctionDeclaration: async [no LineTerminator here] function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } --- 893
returns-async-function-returns-newtarget.js --- description: Async function returns an async function. (Async function declaration) esid: prod-AsyncFunctionDeclaration features: [async-functions] flags: [generated, async] info: | Async Function Definitions AsyncFunctionDeclaration: async [no LineTerminator here] function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } --- 851
returns-async-function.js --- description: Async function returns an async function. (Async function declaration) esid: prod-AsyncFunctionDeclaration features: [async-functions] flags: [generated, async] info: | Async Function Definitions AsyncFunctionDeclaration: async [no LineTerminator here] function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } --- 816
shell.js --- description: | A collection of assertion and wrapper functions for testing asynchronous built-ins. defines: [asyncTest] --- 3431
syntax-declaration-line-terminators-allowed.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > Declarations allow line breaks after function and after arguments list --- 378
syntax-declaration-no-line-terminator.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: Async function declarations cannot have a line break after `async` info: Reference error is thrown due to looking up async in strict mode --- 453
syntax-declaration.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: Async function declaration returns a promise flags: [async] --- 364
try-reject-finally-reject.js --- author: Caitlin Potter <caitp@igalia.com> esid: pending description: > Implementations must defer rejecting an async function's Promise until after all finally blocks have been evaluated. flags: [async] --- 722
try-reject-finally-return.js --- author: Caitlin Potter <caitp@igalia.com> esid: pending description: > Implementations must defer rejecting an async function's Promise until after all finally blocks have been evaluated. flags: [async] --- 643
try-reject-finally-throw.js --- author: Caitlin Potter <caitp@igalia.com> esid: pending description: > Implementations must defer rejecting an async function's Promise until after all finally blocks have been evaluated. flags: [async] --- 659
try-return-finally-reject.js --- author: Caitlin Potter <caitp@igalia.com> esid: pending description: > Implementations must defer resolving an async function's Promise until after all finally blocks have been evaluated. flags: [async] --- 661
try-return-finally-return.js --- author: Caitlin Potter <caitp@igalia.com> esid: pending description: > Implementations must defer resolving an async function's Promise until after all finally blocks have been evaluated. flags: [async] --- 651
try-return-finally-throw.js --- author: Caitlin Potter <caitp@igalia.com> esid: pending description: > Implementations must defer resolving an async function's Promise until after all finally blocks have been evaluated. flags: [async] --- 598
try-throw-finally-reject.js --- author: Caitlin Potter <caitp@igalia.com> esid: pending description: > Implementations must defer rejecting an async function's Promise until after all finally blocks have been evaluated. flags: [async] --- 659
try-throw-finally-return.js --- author: Caitlin Potter <caitp@igalia.com> esid: pending description: > Implementations must defer rejecting an async function's Promise until after all finally blocks have been evaluated. flags: [async] --- 649
try-throw-finally-throw.js --- author: Caitlin Potter <caitp@igalia.com> esid: pending description: > Implementations must defer rejecting an async function's Promise until after all finally blocks have been evaluated. flags: [async] --- 596
unscopables-with-in-nested-fn.js --- description: Symbol.unscopables behavior across scope boundaries (async function declaration) esid: sec-async-function-definitions features: [globalThis, Symbol.unscopables, async-functions] flags: [generated, noStrict, async] info: | 14.6 Async Function Definitions AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } ... Let envRec be lex's EnvironmentRecord. Let exists be ? envRec.HasBinding(name). HasBinding ... If the withEnvironment flag of envRec is false, return true. Let unscopables be ? Get(bindings, @@unscopables). If Type(unscopables) is Object, then Let blocked be ToBoolean(? Get(unscopables, N)). If blocked is true, return false. (The `with` Statement) Runtime Semantics: Evaluation ... Set the withEnvironment flag of newEnv’s EnvironmentRecord to true. ... --- 2085
unscopables-with.js --- description: Symbol.unscopables behavior across scope boundaries (async function declaration) esid: sec-async-function-definitions features: [globalThis, Symbol.unscopables, async-functions] flags: [generated, noStrict, async] info: | 14.6 Async Function Definitions AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } ... Let envRec be lex's EnvironmentRecord. Let exists be ? envRec.HasBinding(name). HasBinding ... If the withEnvironment flag of envRec is false, return true. Let unscopables be ? Get(bindings, @@unscopables). If Type(unscopables) is Object, then Let blocked be ToBoolean(? Get(unscopables, N)). If blocked is true, return false. (The `with` Statement) Runtime Semantics: Evaluation ... Set the withEnvironment flag of newEnv’s EnvironmentRecord to true. ... --- 1910