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. (Unnamed async function expression)
esid: prod-AsyncFunctionExpression
features: [async-functions]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
Async Function Definitions
AsyncFunctionExpression :
async [no LineTerminator here] function ( FormalParameters ) { AsyncFunctionBody }
BindingIdentifier : Identifier
It is a Syntax Error if this production has a [Await] parameter and
StringValue of Identifier is "await".
--- |
904 |
await-as-binding-identifier.js |
---
description: await is a reserved keyword within generator function bodies and may not be used as a binding identifier. (Unnamed async function expression)
esid: prod-AsyncFunctionExpression
features: [async-functions]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
Async Function Definitions
AsyncFunctionExpression :
async [no LineTerminator here] function ( FormalParameters ) { AsyncFunctionBody }
BindingIdentifier : Identifier
It is a Syntax Error if this production has a [Await] parameter and
StringValue of Identifier is "await".
--- |
891 |
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. (Unnamed async function expression)
esid: prod-AsyncFunctionExpression
features: [async-functions]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
Async Function Definitions
AsyncFunctionExpression :
async [no LineTerminator here] function ( FormalParameters ) { AsyncFunctionBody }
IdentifierReference : Identifier
It is a Syntax Error if this production has a [Await] parameter and
StringValue of Identifier is "await".
--- |
912 |
await-as-identifier-reference.js |
---
description: await is a reserved keyword within generator function bodies and may not be used as an identifier reference. (Unnamed async function expression)
esid: prod-AsyncFunctionExpression
features: [async-functions]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
Async Function Definitions
AsyncFunctionExpression :
async [no LineTerminator here] function ( FormalParameters ) { AsyncFunctionBody }
IdentifierReference : Identifier
It is a Syntax Error if this production has a [Await] parameter and
StringValue of Identifier is "await".
--- |
899 |
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. (Unnamed async function expression)
esid: prod-AsyncFunctionExpression
features: [async-functions]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
Async Function Definitions
AsyncFunctionExpression :
async [no LineTerminator here] function ( FormalParameters ) { AsyncFunctionBody }
LabelIdentifier : Identifier
It is a Syntax Error if this production has a [Await] parameter and
StringValue of Identifier is "await".
--- |
896 |
await-as-label-identifier.js |
---
description: await is a reserved keyword within generator function bodies and may not be used as a label identifier. (Unnamed async function expression)
esid: prod-AsyncFunctionExpression
features: [async-functions]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
Async Function Definitions
AsyncFunctionExpression :
async [no LineTerminator here] function ( FormalParameters ) { AsyncFunctionBody }
LabelIdentifier : Identifier
It is a Syntax Error if this production has a [Await] parameter and
StringValue of Identifier is "await".
--- |
883 |
browser.js |
|
0 |
early-errors-expression-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]
--- |
522 |
early-errors-expression-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]
--- |
510 |
early-errors-expression-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
--- |
422 |
early-errors-expression-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
--- |
431 |
early-errors-expression-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]
--- |
450 |
early-errors-expression-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
--- |
472 |
early-errors-expression-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
--- |
433 |
early-errors-expression-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
--- |
435 |
early-errors-expression-not-simple-assignment-target.js |
---
author: Brian Terlson <brian.terlson@microsoft.com>
esid: pending
description: >
Async function expressions are not a simple assignment target.
negative:
phase: parse
type: SyntaxError
--- |
412 |
early-errors-expression-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]
--- |
888 |
expression-returns-promise.js |
---
author: Brian Terlson <brian.terlson@microsoft.com>
esid: pending
description: >
Async function expressions return promises
--- |
394 |
forbidden-ext |
|
|
name.js |
---
esid: sec-async-function-definitions-runtime-semantics-evaluation
description: Assignment of function `name` attribute
info: |
AsyncFunctionExpression : async function ( FormalParameters ) { AsyncFunctionBody }
1. Let scope be the LexicalEnvironment of the running execution context.
2. Let closure be ! AsyncFunctionCreate(Normal, FormalParameters,
AsyncFunctionBody, scope, "").
...
4. Return closure.
AsyncFunctionExpression : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
1. Let scope be the running execution context's LexicalEnvironment.
2. Let funcEnv be ! NewDeclarativeEnvironment(scope).
3. Let envRec be funcEnv's EnvironmentRecord.
4. Let name be StringValue of BindingIdentifier.
5. Perform ! envRec.CreateImmutableBinding(name).
6. Let closure be ! AsyncFunctionCreate(Normal, FormalParameters,
AsyncFunctionBody, funcEnv, name).
...
9. Return closure.
includes: [propertyHelper.js]
--- |
1412 |
named-array-destructuring-param-strict-body.js |
---
description: ArrayBindingPattern and Use Strict Directive are not allowed to coexist for the same function. (async function named expression)
esid: sec-async-function-definitions
features: [rest-parameters, async-functions]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
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.
--- |
4541 |
named-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. (Named async function expression)
esid: prod-AsyncFunctionExpression
features: [async-functions]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
Async Function Definitions
AsyncFunctionExpression :
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".
--- |
933 |
named-await-as-binding-identifier.js |
---
description: await is a reserved keyword within generator function bodies and may not be used as a binding identifier. (Named async function expression)
esid: prod-AsyncFunctionExpression
features: [async-functions]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
Async Function Definitions
AsyncFunctionExpression :
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".
--- |
920 |
named-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. (Named async function expression)
esid: prod-AsyncFunctionExpression
features: [async-functions]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
Async Function Definitions
AsyncFunctionExpression :
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".
--- |
941 |
named-await-as-identifier-reference.js |
---
description: await is a reserved keyword within generator function bodies and may not be used as an identifier reference. (Named async function expression)
esid: prod-AsyncFunctionExpression
features: [async-functions]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
Async Function Definitions
AsyncFunctionExpression :
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".
--- |
928 |
named-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. (Named async function expression)
esid: prod-AsyncFunctionExpression
features: [async-functions]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
Async Function Definitions
AsyncFunctionExpression :
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".
--- |
925 |
named-await-as-label-identifier.js |
---
description: await is a reserved keyword within generator function bodies and may not be used as a label identifier. (Named async function expression)
esid: prod-AsyncFunctionExpression
features: [async-functions]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
Async Function Definitions
AsyncFunctionExpression :
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".
--- |
912 |
named-dflt-params-abrupt.js |
---
description: Abrupt completion returned by evaluation of initializer (async function named expression)
esid: sec-async-function-definitions
features: [default-parameters, async-functions]
flags: [generated, async]
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
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.
--- |
1430 |
named-dflt-params-arg-val-not-undefined.js |
---
description: Use of initializer when argument value is not `undefined` (async function named expression)
esid: sec-async-function-definitions
features: [default-parameters, async-functions]
flags: [generated, async]
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
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.
[...]
--- |
2171 |
named-dflt-params-arg-val-undefined.js |
---
description: Use of initializer when argument value is `undefined` (async function named expression)
esid: sec-async-function-definitions
features: [default-parameters, async-functions]
flags: [generated, async]
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
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.
[...]
--- |
1440 |
named-dflt-params-duplicates.js |
---
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, async-functions]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
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.
--- |
1128 |
named-dflt-params-ref-later.js |
---
description: Referencing a parameter that occurs later in the ParameterList (async function named expression)
esid: sec-async-function-definitions
features: [default-parameters, async-functions]
flags: [generated, async]
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
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.
--- |
1413 |
named-dflt-params-ref-prior.js |
---
description: Referencing a parameter that occurs earlier in the ParameterList (async function named expression)
esid: sec-async-function-definitions
features: [default-parameters, async-functions]
flags: [generated, async]
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
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.
--- |
1473 |
named-dflt-params-ref-self.js |
---
description: Referencing a parameter from within its own initializer (async function named expression)
esid: sec-async-function-definitions
features: [default-parameters, async-functions]
flags: [generated, async]
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
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.
--- |
1402 |
named-dflt-params-rest.js |
---
description: RestParameter does not support an initializer (async function named expression)
esid: sec-async-function-definitions
features: [default-parameters, async-functions]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
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]
--- |
947 |
named-dflt-params-trailing-comma.js |
---
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
AsyncFunctionExpression :
async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
Trailing comma in the parameters list
14.1 Function Definitions
FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] ,
--- |
1141 |
named-eval-var-scope-syntax-err.js |
---
description: sloppy direct eval in params introduces var (async function named expression in sloppy code)
esid: sec-async-function-definitions
features: [default-parameters, async-functions]
flags: [generated, async, noStrict]
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
Runtime Semantics: IteratorBindingInitialization
FormalParameter : BindingElement
1. Return the result of performing IteratorBindingInitialization for BindingElement with arguments iteratorRecord and environment.
--- |
1217 |
named-object-destructuring-param-strict-body.js |
---
description: ObjectBindingPattern and Use Strict Directive are not allowed to coexist for the same function. (async function named expression)
esid: sec-async-function-definitions
features: [rest-parameters, async-functions]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
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.
--- |
4544 |
named-params-trailing-comma-multiple.js |
---
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
AsyncFunctionExpression :
async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
Trailing comma in the parameters list
14.1 Function Definitions
FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] ,
--- |
1134 |
named-params-trailing-comma-single.js |
---
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
AsyncFunctionExpression :
async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
Trailing comma in the parameters list
14.1 Function Definitions
FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] ,
--- |
1098 |
named-reassign-fn-name-in-body-in-arrow.js |
---
description: Reassignment of function name is silently ignored in non-strict mode code. (async function named expression in non-strict mode code)
esid: sec-async-function-definitions
features: [async-functions]
flags: [generated, async, noStrict]
includes: [asyncHelpers.js]
info: |
Async Function Definitions
AsyncFunctionExpression :
async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
--- |
998 |
named-reassign-fn-name-in-body-in-eval.js |
---
description: Reassignment of function name is silently ignored in non-strict mode code. (async function named expression in non-strict mode code)
esid: sec-async-function-definitions
features: [async-functions]
flags: [generated, async, noStrict]
includes: [asyncHelpers.js]
info: |
Async Function Definitions
AsyncFunctionExpression :
async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
--- |
984 |
named-reassign-fn-name-in-body.js |
---
description: Reassignment of function name is silently ignored in non-strict mode code. (async function named expression in non-strict mode code)
esid: sec-async-function-definitions
features: [async-functions]
flags: [generated, async, noStrict]
includes: [asyncHelpers.js]
info: |
Async Function Definitions
AsyncFunctionExpression :
async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
--- |
968 |
named-rest-param-strict-body.js |
---
description: RestParameter and Use Strict Directive are not allowed to coexist for the same function. (async function named expression)
esid: sec-async-function-definitions
features: [rest-parameters, async-functions]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
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.
--- |
4550 |
named-rest-params-trailing-comma-early-error.js |
---
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
type: SyntaxError
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
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]
--- |
1056 |
named-returns-async-arrow-returns-arguments-from-parent-function.js |
---
description: Async function returns an async function. (Named async function expression)
esid: prod-AsyncFunctionExpression
features: [async-functions]
flags: [generated, async]
info: |
Async Function Definitions
AsyncFunctionExpression :
async [no LineTerminator here] function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
--- |
898 |
named-returns-async-arrow-returns-newtarget.js |
---
description: Async function returns an async function. (Named async function expression)
esid: prod-AsyncFunctionExpression
features: [async-functions]
flags: [generated, async]
info: |
Async Function Definitions
AsyncFunctionExpression :
async [no LineTerminator here] function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
--- |
854 |
named-returns-async-arrow.js |
---
description: Async function returns an async function. (Named async function expression)
esid: prod-AsyncFunctionExpression
features: [async-functions]
flags: [generated, async]
info: |
Async Function Definitions
AsyncFunctionExpression :
async [no LineTerminator here] function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
--- |
820 |
named-returns-async-function-returns-arguments-from-own-function.js |
---
description: Async function returns an async function. (Named async function expression)
esid: prod-AsyncFunctionExpression
features: [async-functions]
flags: [generated, async]
info: |
Async Function Definitions
AsyncFunctionExpression :
async [no LineTerminator here] function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
--- |
917 |
named-returns-async-function-returns-newtarget.js |
---
description: Async function returns an async function. (Named async function expression)
esid: prod-AsyncFunctionExpression
features: [async-functions]
flags: [generated, async]
info: |
Async Function Definitions
AsyncFunctionExpression :
async [no LineTerminator here] function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
--- |
875 |
named-returns-async-function.js |
---
description: Async function returns an async function. (Named async function expression)
esid: prod-AsyncFunctionExpression
features: [async-functions]
flags: [generated, async]
info: |
Async Function Definitions
AsyncFunctionExpression :
async [no LineTerminator here] function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
--- |
840 |
named-strict-error-reassign-fn-name-in-body-in-arrow-strict.js |
---
description: Reassignment of function name is silently ignored in non-strict mode code. (async function named expression in strict mode code)
esid: sec-async-function-definitions
features: [async-functions]
flags: [generated, async, onlyStrict]
includes: [asyncHelpers.js]
info: |
Async Function Definitions
AsyncFunctionExpression :
async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
--- |
1105 |
named-strict-error-reassign-fn-name-in-body-in-eval-strict.js |
---
description: Reassignment of function name is silently ignored in non-strict mode code. (async function named expression in strict mode code)
esid: sec-async-function-definitions
features: [async-functions]
flags: [generated, async, onlyStrict]
includes: [asyncHelpers.js]
info: |
Async Function Definitions
AsyncFunctionExpression :
async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
--- |
1091 |
named-strict-error-reassign-fn-name-in-body-strict.js |
---
description: Reassignment of function name is silently ignored in non-strict mode code. (async function named expression in strict mode code)
esid: sec-async-function-definitions
features: [async-functions]
flags: [generated, async, onlyStrict]
includes: [asyncHelpers.js]
info: |
Async Function Definitions
AsyncFunctionExpression :
async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
--- |
1075 |
named-unscopables-with-in-nested-fn.js |
---
description: Symbol.unscopables behavior across scope boundaries (async function named expression)
esid: sec-async-function-definitions
features: [globalThis, Symbol.unscopables, async-functions]
flags: [generated, noStrict, async]
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
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.
...
--- |
2111 |
named-unscopables-with.js |
---
description: Symbol.unscopables behavior across scope boundaries (async function named expression)
esid: sec-async-function-definitions
features: [globalThis, Symbol.unscopables, async-functions]
flags: [generated, noStrict, async]
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
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.
...
--- |
1936 |
nameless-array-destructuring-param-strict-body.js |
---
description: ArrayBindingPattern and Use Strict Directive are not allowed to coexist for the same function. (async function nameless expression)
esid: sec-async-function-definitions
features: [rest-parameters, async-functions]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
async function ( 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.
--- |
4527 |
nameless-dflt-params-abrupt.js |
---
description: Abrupt completion returned by evaluation of initializer (async function nameless expression)
esid: sec-async-function-definitions
features: [default-parameters, async-functions]
flags: [generated, async]
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
async function ( 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.
--- |
1416 |
nameless-dflt-params-arg-val-not-undefined.js |
---
description: Use of initializer when argument value is not `undefined` (async function nameless expression)
esid: sec-async-function-definitions
features: [default-parameters, async-functions]
flags: [generated, async]
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
async function ( 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.
[...]
--- |
2155 |
nameless-dflt-params-arg-val-undefined.js |
---
description: Use of initializer when argument value is `undefined` (async function nameless expression)
esid: sec-async-function-definitions
features: [default-parameters, async-functions]
flags: [generated, async]
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
async function ( 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.
[...]
--- |
1424 |
nameless-dflt-params-duplicates.js |
---
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, async-functions]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
async function ( 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.
--- |
1114 |
nameless-dflt-params-ref-later.js |
---
description: Referencing a parameter that occurs later in the ParameterList (async function nameless expression)
esid: sec-async-function-definitions
features: [default-parameters, async-functions]
flags: [generated, async]
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
async function ( 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.
--- |
1399 |
nameless-dflt-params-ref-prior.js |
---
description: Referencing a parameter that occurs earlier in the ParameterList (async function nameless expression)
esid: sec-async-function-definitions
features: [default-parameters, async-functions]
flags: [generated, async]
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
async function ( 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.
--- |
1457 |
nameless-dflt-params-ref-self.js |
---
description: Referencing a parameter from within its own initializer (async function nameless expression)
esid: sec-async-function-definitions
features: [default-parameters, async-functions]
flags: [generated, async]
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
async function ( 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.
--- |
1388 |
nameless-dflt-params-rest.js |
---
description: RestParameter does not support an initializer (async function nameless expression)
esid: sec-async-function-definitions
features: [default-parameters, async-functions]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
async function ( FormalParameters ) { AsyncFunctionBody }
14.1 Function Definitions
Syntax
FunctionRestParameter[Yield] :
BindingRestElement[?Yield]
13.3.3 Destructuring Binding Patterns
Syntax
BindingRestElement[Yield] :
...BindingIdentifier[?Yield]
...BindingPattern[?Yield]
--- |
933 |
nameless-dflt-params-trailing-comma.js |
---
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
AsyncFunctionExpression :
async function ( FormalParameters ) { AsyncFunctionBody }
Trailing comma in the parameters list
14.1 Function Definitions
FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] ,
--- |
1125 |
nameless-eval-var-scope-syntax-err.js |
---
description: sloppy direct eval in params introduces var (async function nameless expression in sloppy code)
esid: sec-async-function-definitions
features: [default-parameters, async-functions]
flags: [generated, async, noStrict]
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
async function ( FormalParameters ) { AsyncFunctionBody }
Runtime Semantics: IteratorBindingInitialization
FormalParameter : BindingElement
1. Return the result of performing IteratorBindingInitialization for BindingElement with arguments iteratorRecord and environment.
--- |
1203 |
nameless-object-destructuring-param-strict-body.js |
---
description: ObjectBindingPattern and Use Strict Directive are not allowed to coexist for the same function. (async function nameless expression)
esid: sec-async-function-definitions
features: [rest-parameters, async-functions]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
async function ( 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.
--- |
4530 |
nameless-params-trailing-comma-multiple.js |
---
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
AsyncFunctionExpression :
async function ( FormalParameters ) { AsyncFunctionBody }
Trailing comma in the parameters list
14.1 Function Definitions
FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] ,
--- |
1118 |
nameless-params-trailing-comma-single.js |
---
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
AsyncFunctionExpression :
async function ( FormalParameters ) { AsyncFunctionBody }
Trailing comma in the parameters list
14.1 Function Definitions
FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] ,
--- |
1082 |
nameless-rest-param-strict-body.js |
---
description: RestParameter and Use Strict Directive are not allowed to coexist for the same function. (async function nameless expression)
esid: sec-async-function-definitions
features: [rest-parameters, async-functions]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
async function ( 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.
--- |
4536 |
nameless-rest-params-trailing-comma-early-error.js |
---
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
type: SyntaxError
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
async function ( 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]
--- |
1042 |
nameless-unscopables-with-in-nested-fn.js |
---
description: Symbol.unscopables behavior across scope boundaries (async function nameless expression)
esid: sec-async-function-definitions
features: [globalThis, Symbol.unscopables, async-functions]
flags: [generated, noStrict, async]
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
async function ( 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.
...
--- |
2095 |
nameless-unscopables-with.js |
---
description: Symbol.unscopables behavior across scope boundaries (async function nameless expression)
esid: sec-async-function-definitions
features: [globalThis, Symbol.unscopables, async-functions]
flags: [generated, noStrict, async]
info: |
14.6 Async Function Definitions
AsyncFunctionExpression :
async function ( 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.
...
--- |
1920 |
shell.js |
---
description: |
A collection of assertion and wrapper functions for testing asynchronous built-ins.
defines: [asyncTest, assert.throwsAsync]
--- |
3603 |
syntax-expression-is-PrimaryExpression.js |
---
author: Brian Terlson <brian.terlson@microsoft.com>
esid: pending
description: >
Async function expressions are PrimaryExpressions
--- |
332 |
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]
--- |
729 |
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]
--- |
650 |
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]
--- |
666 |
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]
--- |
668 |
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]
--- |
658 |
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]
--- |
605 |
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]
--- |
666 |
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]
--- |
656 |
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]
--- |
603 |