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, assert.throwsAsync]
--- |
3603 |
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 |