Name Description Size Coverage
array-destructuring-param-strict-body.js --- description: ArrayBindingPattern and Use Strict Directive are not allowed to coexist for the same function. (async generator function declaration) esid: sec-asyncgenerator-definitions-instantiatefunctionobject features: [rest-parameters, async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } [...] 3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody, scope, strict). [...] 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. --- 4717 -
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 generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } BindingIdentifier : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 941 -
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 generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } BindingIdentifier : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 928 -
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 generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } IdentifierReference : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 949 -
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 generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } IdentifierReference : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 936 -
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 generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } LabelIdentifier : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 933 -
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 generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } LabelIdentifier : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 920 -
browser.js 0 -
dflt-params-abrupt.js --- description: Abrupt completion returned by evaluation of initializer (async generator function declaration) esid: sec-asyncgenerator-definitions-instantiatefunctionobject features: [default-parameters, async-iteration] flags: [generated] info: | AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } [...] 3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody, scope, strict). [...] 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. --- 1455 -
dflt-params-arg-val-not-undefined.js --- description: Use of initializer when argument value is not `undefined` (async generator function declaration) esid: sec-asyncgenerator-definitions-instantiatefunctionobject features: [default-parameters, async-iteration] flags: [generated, async] info: | AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } [...] 3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody, scope, strict). [...] 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. [...] --- 2350 -
dflt-params-arg-val-undefined.js --- description: Use of initializer when argument value is `undefined` (async generator function declaration) esid: sec-asyncgenerator-definitions-instantiatefunctionobject features: [default-parameters, async-iteration] flags: [generated, async] info: | AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } [...] 3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody, scope, strict). [...] 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. [...] --- 1619 -
dflt-params-duplicates.js --- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (async generator function declaration) esid: sec-asyncgenerator-definitions-instantiatefunctionobject features: [default-parameters, async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } [...] 3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody, scope, strict). [...] 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. --- 1304 -
dflt-params-ref-later.js --- description: Referencing a parameter that occurs later in the ParameterList (async generator function declaration) esid: sec-asyncgenerator-definitions-instantiatefunctionobject features: [default-parameters, async-iteration] flags: [generated] info: | AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } [...] 3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody, scope, strict). [...] 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. --- 1438 -
dflt-params-ref-prior.js --- description: Referencing a parameter that occurs earlier in the ParameterList (async generator function declaration) esid: sec-asyncgenerator-definitions-instantiatefunctionobject features: [default-parameters, async-iteration] flags: [generated, async] info: | AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } [...] 3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody, scope, strict). [...] 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. --- 1652 -
dflt-params-ref-self.js --- description: Referencing a parameter from within its own initializer (async generator function declaration) esid: sec-asyncgenerator-definitions-instantiatefunctionobject features: [default-parameters, async-iteration] flags: [generated] info: | AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } [...] 3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody, scope, strict). [...] 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. --- 1427 -
dflt-params-rest.js --- description: RestParameter does not support an initializer (async generator function declaration) esid: sec-asyncgenerator-definitions-instantiatefunctionobject features: [default-parameters, async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } [...] 3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody, scope, strict). [...] 14.1 Function Definitions Syntax FunctionRestParameter[Yield] : BindingRestElement[?Yield] 13.3.3 Destructuring Binding Patterns Syntax BindingRestElement[Yield] : ...BindingIdentifier[?Yield] ...BindingPattern[?Yield] --- 1123 -
dflt-params-trailing-comma.js --- description: A trailing comma should not increase the respective length, using default parameters (async generator function declaration) esid: sec-asyncgenerator-definitions-instantiatefunctionobject features: [async-iteration] flags: [generated, async] info: | AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } [...] 3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody, scope, strict). [...] Trailing comma in the parameters list 14.1 Function Definitions FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , --- 1320 -
dstr -
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-iteration] --- 884 -
eval-var-scope-syntax-err.js --- description: sloppy direct eval in params introduces var (async generator function declaration in sloppy code) esid: sec-asyncgenerator-definitions-instantiatefunctionobject features: [default-parameters, async-iteration] flags: [generated, noStrict] info: | AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } [...] 3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody, scope, strict). [...] Runtime Semantics: IteratorBindingInitialization FormalParameter : BindingElement 1. Return the result of performing IteratorBindingInitialization for BindingElement with arguments iteratorRecord and environment. --- 1242 -
forbidden-ext -
generator-created-after-decl-inst.js --- esid: sec-asyncgenerator-definitions-evaluatebody description: > The generator object is created after FunctionDeclarationInstantiation. info: | 14.5.10 Runtime Semantics: EvaluateBody 1. Perform ? FunctionDeclarationInstantiation(functionObject, argumentsList). 2. Let generator be ? OrdinaryCreateFromConstructor(functionObject, "%AsyncGeneratorPrototype%", « [[AsyncGeneratorState]], [[AsyncGeneratorContext]], [[AsyncGeneratorQueue]] »). 3. Perform ! AsyncGeneratorStart(generator, FunctionBody). ... features: [async-iteration] --- 890 -
object-destructuring-param-strict-body.js --- description: ObjectBindingPattern and Use Strict Directive are not allowed to coexist for the same function. (async generator function declaration) esid: sec-asyncgenerator-definitions-instantiatefunctionobject features: [rest-parameters, async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } [...] 3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody, scope, strict). [...] 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. --- 4720 -
params-trailing-comma-multiple.js --- description: A trailing comma should not increase the respective length, using multiple parameters (async generator function declaration) esid: sec-asyncgenerator-definitions-instantiatefunctionobject features: [async-iteration] flags: [generated, async] info: | AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } [...] 3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody, scope, strict). [...] Trailing comma in the parameters list 14.1 Function Definitions FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , --- 1313 -
params-trailing-comma-single.js --- description: A trailing comma should not increase the respective length, using a single parameter (async generator function declaration) esid: sec-asyncgenerator-definitions-instantiatefunctionobject features: [async-iteration] flags: [generated, async] info: | AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } [...] 3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody, scope, strict). [...] Trailing comma in the parameters list 14.1 Function Definitions FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , --- 1277 -
rest-param-strict-body.js --- description: RestParameter and Use Strict Directive are not allowed to coexist for the same function. (async generator function declaration) esid: sec-asyncgenerator-definitions-instantiatefunctionobject features: [rest-parameters, async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } [...] 3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody, scope, strict). [...] 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. --- 4726 -
rest-params-trailing-comma-early-error.js --- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (async generator function declaration) esid: sec-asyncgenerator-definitions-instantiatefunctionobject features: [async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } [...] 3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody, scope, strict). [...] 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] --- 1232 -
return-undefined-implicit-and-explicit.js --- esid: sec-return-statement-runtime-semantics-evaluation description: > Return with an explicit return value awaits this value. info: | 13.10.1 Runtime Semantics: Evaluation ReturnStatement : return; 1. Return Completion { [[Type]]: return, [[Value]]: undefined, [[Target]]: empty }. ReturnStatement : return Expression ; 1. Let exprRef be the result of evaluating Expression. 2. Let exprValue be ? GetValue(exprRef). 3. If ! GetGeneratorKind() is async, set exprValue to ? Await(exprValue). 4. Return Completion { [[Type]]: return, [[Value]]: exprValue, [[Target]]: empty }. 25.5.3.2 AsyncGeneratorStart ( generator, generatorBody ) ... 5. Set the code evaluation state of genContext such that when evaluation is resumed for that execution context the following steps will be performed: a. Let result be the result of evaluating generatorBody. ... e. If result is a normal completion, let resultValue be undefined. ... g. Return ! AsyncGeneratorResolve(generator, resultValue, true). includes: [compareArray.js] flags: [async] features: [async-iteration] --- 2323 -
shell.js 0 -
unscopables-with-in-nested-fn.js --- description: Symbol.unscopables behavior across scope boundaries (async generator function declaration) esid: sec-asyncgenerator-definitions-instantiatefunctionobject features: [globalThis, Symbol.unscopables, async-iteration] flags: [generated, noStrict, async] info: | AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } [...] 3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody, scope, strict). [...] ... 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. ... --- 2290 -
unscopables-with.js --- description: Symbol.unscopables behavior across scope boundaries (async generator function declaration) esid: sec-asyncgenerator-definitions-instantiatefunctionobject features: [globalThis, Symbol.unscopables, async-iteration] flags: [generated, noStrict, async] info: | AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } [...] 3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody, scope, strict). [...] ... 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. ... --- 2115 -
yield-as-binding-identifier-escaped.js --- description: yield is a reserved keyword within generator function bodies and may not be used as a binding identifier. (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } BindingIdentifier : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 941 -
yield-as-binding-identifier.js --- description: yield is a reserved keyword within generator function bodies and may not be used as a binding identifier. (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } BindingIdentifier : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 928 -
yield-as-identifier-reference-escaped.js --- description: yield is a reserved keyword within generator function bodies and may not be used as an identifier reference. (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } IdentifierReference : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 949 -
yield-as-identifier-reference.js --- description: yield is a reserved keyword within generator function bodies and may not be used as an identifier reference. (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } IdentifierReference : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 936 -
yield-as-label-identifier-escaped.js --- description: yield is a reserved keyword within generator function bodies and may not be used as a label identifier. (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } LabelIdentifier : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 933 -
yield-as-label-identifier.js --- description: yield is a reserved keyword within generator function bodies and may not be used as a label identifier. (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } LabelIdentifier : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 920 -
yield-identifier-non-strict.js --- description: Use of yield as a valid identifier in a function body inside a generator body in non strict mode (Async generator function declaration - valid for non-strict only cases) esid: prod-AsyncGeneratorDeclaration features: [async-iteration] flags: [generated, noStrict, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } --- 1188 -
yield-identifier-spread-non-strict.js --- description: Mixed use of object spread and yield as a valid identifier in a function body inside a generator body in non strict mode (Async generator function declaration - valid for non-strict only cases) esid: prod-AsyncGeneratorDeclaration features: [object-spread, Symbol, async-iteration] flags: [generated, noStrict, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } Spread Properties PropertyDefinition[Yield]: (...) ...AssignmentExpression[In, ?Yield] --- 1755 -
yield-identifier-spread-strict-strict.js --- description: It's an early error if the AssignmentExpression is a function body with yield as an identifier in strict mode. (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [object-spread, async-iteration] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } Spread Properties PropertyDefinition[Yield]: (...) ...AssignmentExpression[In, ?Yield] --- 1126 -
yield-identifier-strict-strict.js --- description: It's an early error if the generator body has another function body with yield as an identifier in strict mode. (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [async-iteration] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } --- 958 -
yield-promise-reject-next-catch.js --- description: yield Promise.reject(value) is treated as throw value (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } --- 1271 -
yield-promise-reject-next-for-await-of-async-iterator.js --- description: yield * [Promise.reject(value)] is treated as throw value (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } --- 1396 -
yield-promise-reject-next-for-await-of-sync-iterator.js --- description: yield Promise.reject(value) in for-await-of is treated as throw value (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } --- 1381 -
yield-promise-reject-next-yield-star-async-iterator.js --- description: yield * (async iterator) is treated as throw value (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } --- 1357 -
yield-promise-reject-next-yield-star-sync-iterator.js --- description: yield * (async iterator) is treated as throw value (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } --- 1321 -
yield-promise-reject-next.js --- description: yield Promise.reject(value) is treated as throw value (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } --- 1272 -
yield-return-then-getter-ticks.js --- esid: sec-generator-function-definitions-runtime-semantics-evaluation description: > Return resumption value is awaited upon and hence is treated as a thenable. info: | 14.4.14 Runtime Semantics: Evaluation YieldExpression : yield AssignmentExpression ... 3. Let value be ? GetValue(exprRef). 4. If generatorKind is async, then return ? AsyncGeneratorYield(value). ... 25.5.3.7 AsyncGeneratorYield ( value ) ... 5. Set value to ? Await(value). ... 8. Set the code evaluation state of genContext such that when evaluation is resumed with a Completion resumptionValue the following steps will be performed: ... b. Let awaited be Await(resumptionValue.[[Value]]). ... e. Return Completion { [[Type]]: return, [[Value]]: awaited.[[Value]], [[Target]]: empty }. ... 6.2.3.1 Await ... 2. Let promise be ? PromiseResolve(%Promise%, « value »). ... 25.6.4.5.1 PromiseResolve ( C, x ) ... 3. Let promiseCapability be ? NewPromiseCapability(C). 4. Perform ? Call(promiseCapability.[[Resolve]], undefined, « x »). ... 25.6.1.5 NewPromiseCapability ( C ) ... 7. Let promise be ? Construct(C, « executor »). ... 25.6.3.1 Promise ( executor ) ... 8. Let resolvingFunctions be CreateResolvingFunctions(promise). ... 25.6.1.3 CreateResolvingFunctions ( promise ) ... 2. Let stepsResolve be the algorithm steps defined in Promise Resolve Functions (25.6.1.3.2). 3. Let resolve be CreateBuiltinFunction(stepsResolve, « [[Promise]], [[AlreadyResolved]] »). ... 25.6.1.3.2 Promise Resolve Functions ... 9. Let then be Get(resolution, "then"). ... includes: [compareArray.js] flags: [async] features: [async-iteration] --- 2657 -
yield-spread-arr-multiple.js --- description: Use yield value in a array spread position (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [async-iteration] flags: [generated, async] includes: [compareArray.js] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } Array Initializer SpreadElement[Yield, Await]: ...AssignmentExpression[+In, ?Yield, ?Await] --- 1186 -
yield-spread-arr-single.js --- description: Use yield value in a array spread position (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } Array Initializer SpreadElement[Yield, Await]: ...AssignmentExpression[+In, ?Yield, ?Await] --- 1278 -
yield-spread-obj.js --- description: Use yield value in a object spread position (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [object-spread, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } Spread Properties PropertyDefinition[Yield]: (...) ...AssignmentExpression[In, ?Yield] --- 1205 -
yield-star-async-from-sync-iterator-inaccessible.js --- esid: sec-createasyncfromsynciterator description: > Async-from-Sync Iterator instances are not accessible from user code. info: | 25.1.4.1 CreateAsyncFromSyncIterator ( syncIteratorRecord ) 1. Let asyncIterator be ! ObjectCreate(%AsyncFromSyncIteratorPrototype%, « [[SyncIteratorRecord]] »). 2. Set asyncIterator.[[SyncIteratorRecord]] to syncIteratorRecord. 3. Let nextMethod be ! Get(asyncIterator, "next"). 4. Let iteratorRecord be Record { [[Iterator]]: asyncIterator, [[NextMethod]]: nextMethod, [[Done]]: false }. 5. Return iteratorRecord. 14.4.14 Runtime Semantics: Evaluation YieldExpression : yield * AssignmentExpression 1. Let generatorKind be ! GetGeneratorKind(). ... 4. Let iteratorRecord be ? GetIterator(value, generatorKind). ... 7.4.1 GetIterator ( obj [ , hint [ , method ] ] ) ... 3. If method is not present, then a. If hint is async, then i. Set method to ? GetMethod(obj, @@asyncIterator). ii. If method is undefined, then 1. Let syncMethod be ? GetMethod(obj, @@iterator). 2. Let syncIteratorRecord be ? GetIterator(obj, sync, syncMethod). 3. Return ? CreateAsyncFromSyncIterator(syncIteratorRecord). ... flags: [async] features: [async-iteration] --- 1913 -
yield-star-async-next.js --- description: Execution order for yield* with async iterator and next() (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, async-iteration, Symbol.asyncIterator] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } --- 7205 -
yield-star-async-return.js --- description: execution order for yield* with async iterator and return() (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [async-iteration, Symbol.asyncIterator] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat ... c. Else, i. Assert: received.[[Type]] is return. ii. Let return be ? GetMethod(iterator, "return"). iii. If return is undefined, return Completion(received). iv. Let innerReturnResult be ? Call(return, iterator, « received.[[Value]] »). v. If generatorKind is async, then set innerReturnResult to ? Await(innerReturnResult). ... vii. Let done be ? IteratorComplete(innerReturnResult). viii. If done is true, then 1. Let value be ? IteratorValue(innerReturnResult). 2. If generatorKind is async, then set value to ? Await(value). 3. Return Completion{[[Type]]: return, [[Value]]: value, [[Target]]: empty}. ix. If generatorKind is async, then let received be AsyncGeneratorYield(? IteratorValue(innerResult)). ... AsyncGeneratorYield ( value ) ... 8. Return ! AsyncGeneratorResolve(generator, value, false). ... --- 7924 -
yield-star-async-throw.js --- description: execution order for yield* with async iterator and throw() (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [async-iteration, Symbol.asyncIterator] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat ... b. Else if received.[[Type]] is throw, then i. Let throw be ? GetMethod(iterator, "throw"). ii. If throw is not undefined, then 1. Let innerResult be ? Call(throw, iterator, « received.[[Value]] »). 2. If generatorKind is async, then set innerResult to ? Await(innerResult). ... 5. Let done be ? IteratorComplete(innerResult). 6. If done is true, then a. Let resultValue be Return ? IteratorValue(innerResult). b. If generatorKind is async, then set resultValue to ? Await(resultValue). c. Return resultValue. 7. If generatorKind is async, then let received be AsyncGeneratorYield(? IteratorValue(innerResult)). ... AsyncGeneratorYield ( value ) ... 8. Return ! AsyncGeneratorResolve(generator, value, false). ... --- 7946 -
yield-star-expr-abrupt.js --- description: Abrupt completion while getting yield* operand (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). ... --- 1382 -
yield-star-getiter-async-get-abrupt.js --- description: Abrupt completion while getting [Symbol.asyncIterator] (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). ... GetMethod ( V, P ) ... 2. Let func be ? GetV(V, P). ... --- 1889 -
yield-star-getiter-async-not-callable-boolean-throw.js --- description: Throws a TypeError on a non-callable [Symbol.asyncIterator] (boolean) (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). ... GetMethod ( V, P ) ... 2. Let func be ? GetV(V, P). 3. If func is either undefined or null, return undefined. 4. If IsCallable(func) is false, throw a TypeError exception. ... --- 2019 -
yield-star-getiter-async-not-callable-number-throw.js --- description: Throws a TypeError on a non-callable [Symbol.asyncIterator] (number) (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). ... GetMethod ( V, P ) ... 2. Let func be ? GetV(V, P). 3. If func is either undefined or null, return undefined. 4. If IsCallable(func) is false, throw a TypeError exception. ... --- 2013 -
yield-star-getiter-async-not-callable-object-throw.js --- description: Throws a TypeError on a non-callable [Symbol.asyncIterator] (object) (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). ... GetMethod ( V, P ) ... 2. Let func be ? GetV(V, P). 3. If func is either undefined or null, return undefined. 4. If IsCallable(func) is false, throw a TypeError exception. ... --- 2014 -
yield-star-getiter-async-not-callable-string-throw.js --- description: Throws a TypeError on a non-callable [Symbol.asyncIterator] (string) (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). ... GetMethod ( V, P ) ... 2. Let func be ? GetV(V, P). 3. If func is either undefined or null, return undefined. 4. If IsCallable(func) is false, throw a TypeError exception. ... --- 2014 -
yield-star-getiter-async-not-callable-symbol-throw.js --- description: Throws a TypeError on a non-callable [Symbol.asyncIterator] (symbol) (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). ... GetMethod ( V, P ) ... 2. Let func be ? GetV(V, P). 3. If func is either undefined or null, return undefined. 4. If IsCallable(func) is false, throw a TypeError exception. ... --- 2032 -
yield-star-getiter-async-null-sync-get-abrupt.js --- description: Abrupt completion while getting @@iterator after null @@asyncIterator (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). b. If method is undefined, i. Let syncMethod be ? GetMethod(obj, @@iterator). ... GetMethod ( V, P ) ... 2. Let func be ? GetV(V, P). ... --- 2019 -
yield-star-getiter-async-returns-abrupt.js --- description: Abrupt completion while calling [Symbol.asyncIterator] (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). ... 6. Let iterator be ? Call(method, obj). ... --- 1867 -
yield-star-getiter-async-returns-boolean-throw.js --- description: Non object returned by [Symbol.asyncIterator]() - boolean (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). ... 6. Let iterator be ? Call(method, obj). 7. If Type(iterator) is not Object, throw a TypeError exception. ... --- 1939 -
yield-star-getiter-async-returns-null-throw.js --- description: Non object returned by [Symbol.asyncIterator]() - null (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). ... 6. Let iterator be ? Call(method, obj). 7. If Type(iterator) is not Object, throw a TypeError exception. ... --- 1933 -
yield-star-getiter-async-returns-number-throw.js --- description: Non object returned by [Symbol.asyncIterator]() - number (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). ... 6. Let iterator be ? Call(method, obj). 7. If Type(iterator) is not Object, throw a TypeError exception. ... --- 1935 -
yield-star-getiter-async-returns-string-throw.js --- description: Non object returned by [Symbol.asyncIterator]() - string (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). ... 6. Let iterator be ? Call(method, obj). 7. If Type(iterator) is not Object, throw a TypeError exception. ... --- 1937 -
yield-star-getiter-async-returns-symbol-throw.js --- description: Non object returned by [Symbol.asyncIterator]() - symbol (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). ... 6. Let iterator be ? Call(method, obj). 7. If Type(iterator) is not Object, throw a TypeError exception. ... --- 1953 -
yield-star-getiter-async-returns-undefined-throw.js --- description: Non object returned by [Symbol.asyncIterator]() - undefined (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). ... 6. Let iterator be ? Call(method, obj). 7. If Type(iterator) is not Object, throw a TypeError exception. ... --- 1948 -
yield-star-getiter-async-undefined-sync-get-abrupt.js --- description: Abrupt completion while getting @@iterator after undefined @@asyncIterator (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). b. If method is undefined, i. Let syncMethod be ? GetMethod(obj, @@iterator). ... GetMethod ( V, P ) ... 2. Let func be ? GetV(V, P). ... --- 2034 -
yield-star-getiter-sync-get-abrupt.js --- description: Abrupt completion while getting [Symbol.iterator] (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). b. If method is undefined, i. Let syncMethod be ? GetMethod(obj, @@iterator). ... GetMethod ( V, P ) ... 2. Let func be ? GetV(V, P). ... --- 1872 -
yield-star-getiter-sync-not-callable-boolean-throw.js --- description: Throws a TypeError on a non-callable [Symbol.iterator] (boolean) (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). b. If method is undefined, i. Let syncMethod be ? GetMethod(obj, @@iterator). ... GetMethod ( V, P ) ... 2. Let func be ? GetV(V, P). ... 4. If IsCallable(func) is false, throw a TypeError exception. ... --- 1926 -
yield-star-getiter-sync-not-callable-number-throw.js --- description: Throws a TypeError on a non-callable [Symbol.iterator] (number) (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). b. If method is undefined, i. Let syncMethod be ? GetMethod(obj, @@iterator). ... GetMethod ( V, P ) ... 2. Let func be ? GetV(V, P). ... 4. If IsCallable(func) is false, throw a TypeError exception. ... --- 1920 -
yield-star-getiter-sync-not-callable-object-throw.js --- description: Throws a TypeError on a non-callable [Symbol.iterator] (object) (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). b. If method is undefined, i. Let syncMethod be ? GetMethod(obj, @@iterator). ... GetMethod ( V, P ) ... 2. Let func be ? GetV(V, P). ... 4. If IsCallable(func) is false, throw a TypeError exception. ... --- 1921 -
yield-star-getiter-sync-not-callable-string-throw.js --- description: Throws a TypeError on a non-callable [Symbol.iterator] (string) (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). b. If method is undefined, i. Let syncMethod be ? GetMethod(obj, @@iterator). ... GetMethod ( V, P ) ... 2. Let func be ? GetV(V, P). ... 4. If IsCallable(func) is false, throw a TypeError exception. ... --- 1921 -
yield-star-getiter-sync-not-callable-symbol-throw.js --- description: Throws a TypeError on a non-callable [Symbol.iterator] (symbol) (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). b. If method is undefined, i. Let syncMethod be ? GetMethod(obj, @@iterator). ... GetMethod ( V, P ) ... 2. Let func be ? GetV(V, P). ... 4. If IsCallable(func) is false, throw a TypeError exception. ... --- 1956 -
yield-star-getiter-sync-returns-abrupt.js --- description: Abrupt completion while calling [Symbol.iterator] (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). i. Let syncMethod be ? GetMethod(obj, @@iterator). ii. Let syncIterator be ? Call(syncMethod, obj). ... --- 1822 -
yield-star-getiter-sync-returns-boolean-throw.js --- description: Non object returned by [Symbol.iterator]() - boolean (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). i. Let syncMethod be ? GetMethod(obj, @@iterator). ii. Let syncIterator be ? Call(syncMethod, obj). iii. Return ? CreateAsyncFromSyncIterator(syncIterator). ... CreateAsyncFromSyncIterator(syncIterator) 1. If Type(syncIterator) is not Object, throw a TypeError exception. ... --- 1997 -
yield-star-getiter-sync-returns-null-throw.js --- description: Non object returned by [Symbol.iterator]() - null (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). i. Let syncMethod be ? GetMethod(obj, @@iterator). ii. Let syncIterator be ? Call(syncMethod, obj). iii. Return ? CreateAsyncFromSyncIterator(syncIterator). ... CreateAsyncFromSyncIterator(syncIterator) 1. If Type(syncIterator) is not Object, throw a TypeError exception. ... --- 1991 -
yield-star-getiter-sync-returns-number-throw.js --- description: Non object returned by [Symbol.iterator]() - number (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). i. Let syncMethod be ? GetMethod(obj, @@iterator). ii. Let syncIterator be ? Call(syncMethod, obj). iii. Return ? CreateAsyncFromSyncIterator(syncIterator). ... CreateAsyncFromSyncIterator(syncIterator) 1. If Type(syncIterator) is not Object, throw a TypeError exception. ... --- 1992 -
yield-star-getiter-sync-returns-string-throw.js --- description: Non object returned by [Symbol.iterator]() - string (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). i. Let syncMethod be ? GetMethod(obj, @@iterator). ii. Let syncIterator be ? Call(syncMethod, obj). iii. Return ? CreateAsyncFromSyncIterator(syncIterator). ... CreateAsyncFromSyncIterator(syncIterator) 1. If Type(syncIterator) is not Object, throw a TypeError exception. ... --- 1993 -
yield-star-getiter-sync-returns-symbol-throw.js --- description: Non object returned by [Symbol.iterator]() - symbol (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). i. Let syncMethod be ? GetMethod(obj, @@iterator). ii. Let syncIterator be ? Call(syncMethod, obj). iii. Return ? CreateAsyncFromSyncIterator(syncIterator). ... CreateAsyncFromSyncIterator(syncIterator) 1. If Type(syncIterator) is not Object, throw a TypeError exception. ... --- 2006 -
yield-star-getiter-sync-returns-undefined-throw.js --- description: Non object returned by [Symbol.iterator]() - undefined (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). i. Let syncMethod be ? GetMethod(obj, @@iterator). ii. Let syncIterator be ? Call(syncMethod, obj). iii. Return ? CreateAsyncFromSyncIterator(syncIterator). ... CreateAsyncFromSyncIterator(syncIterator) 1. If Type(syncIterator) is not Object, throw a TypeError exception. ... --- 2006 -
yield-star-next-call-done-get-abrupt.js --- description: Abrupt completion while getting done (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). iii. If generatorKind is async, then set innerResult to ? Await(innerResult). ... v. Let done be ? IteratorComplete(innerResult). ... --- 1883 -
yield-star-next-call-returns-abrupt.js --- description: Abrupt completion while calling next (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). ... --- 1648 -
yield-star-next-call-value-get-abrupt.js --- description: Abrupt completion while getting value (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). iii. If generatorKind is async, then set innerResult to ? Await(innerResult). ... vi. If done is true, then 1. Return ? IteratorValue(innerResult). ... --- 1937 -
yield-star-next-get-abrupt.js --- description: Abrupt completion while getting next (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). ... --- 1643 -
yield-star-next-non-object-ignores-then.js --- description: If next() value is not-object, do not access respective then property (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). iii. If generatorKind is async, then set innerResult to ? Await(innerResult). iv. If Type(innerResult) is not Object, throw a TypeError exception. ... Await ... 2. Let promiseCapability be ! NewPromiseCapability(%Promise%). 3. Perform ! Call(promiseCapability.[[Resolve]], undefined, « promise »). ... Promise Resolve Functions ... 7. If Type(resolution) is not Object, then a. Return FulfillPromise(promise, resolution). 8. Let then be Get(resolution, "then"). ... --- 2319 -
yield-star-next-not-callable-boolean-throw.js --- description: Not-callable next value in a yield star position - boolean (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). ... --- 1643 -
yield-star-next-not-callable-null-throw.js --- description: Not-callable next value in a yield star position - null (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). ... --- 1637 -
yield-star-next-not-callable-number-throw.js --- description: Not-callable next value in a yield star position - number (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). ... --- 1639 -
yield-star-next-not-callable-object-throw.js --- description: Not-callable next value in a yield star position - object (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). ... --- 1639 -
yield-star-next-not-callable-string-throw.js --- description: Not-callable next value in a yield star position - string (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). ... --- 1639 -
yield-star-next-not-callable-symbol-throw.js --- description: Not-callable next value in a yield star position - symbol (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). ... --- 1649 -
yield-star-next-not-callable-undefined-throw.js --- description: Not-callable next value in a yield star position - undefined (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). ... --- 1652 -
yield-star-next-then-get-abrupt.js --- description: Return abrupt after getting next().then (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). iii. If generatorKind is async, then set innerResult to ? Await(innerResult). ... Await ... 2. Let promiseCapability be ! NewPromiseCapability(%Promise%). 3. Perform ! Call(promiseCapability.[[Resolve]], undefined, « promise »). ... Promise Resolve Functions ... 8. Let then be Get(resolution, "then"). ... 10. Get thenAction be then.[[Value]]. ... 12. Perform EnqueueJob("PromiseJobs", PromiseResolveThenableJob, « promise, resolution, thenAction »). ... --- 2255 -
yield-star-next-then-non-callable-boolean-fulfillpromise.js --- description: FulfillPromise if next().then is not-callable (boolean) (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). iii. If generatorKind is async, then set innerResult to ? Await(innerResult). iv. If Type(innerResult) is not Object, throw a TypeError exception. ... Await ... 2. Let promiseCapability be ! NewPromiseCapability(%Promise%). 3. Perform ! Call(promiseCapability.[[Resolve]], undefined, « promise »). ... Promise Resolve Functions ... 7. If Type(resolution) is not Object, then a. Return FulfillPromise(promise, resolution). 8. Let then be Get(resolution, "then"). ... 11. If IsCallable(thenAction) is false, then a. Return FulfillPromise(promise, resolution). ... --- 2161 -
yield-star-next-then-non-callable-null-fulfillpromise.js --- description: FulfillPromise if next().then is not-callable (null) (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). iii. If generatorKind is async, then set innerResult to ? Await(innerResult). iv. If Type(innerResult) is not Object, throw a TypeError exception. ... Await ... 2. Let promiseCapability be ! NewPromiseCapability(%Promise%). 3. Perform ! Call(promiseCapability.[[Resolve]], undefined, « promise »). ... Promise Resolve Functions ... 7. If Type(resolution) is not Object, then a. Return FulfillPromise(promise, resolution). 8. Let then be Get(resolution, "then"). ... 11. If IsCallable(thenAction) is false, then a. Return FulfillPromise(promise, resolution). ... --- 2155 -
yield-star-next-then-non-callable-number-fulfillpromise.js --- description: FulfillPromise if next().then is not-callable (number) (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). iii. If generatorKind is async, then set innerResult to ? Await(innerResult). iv. If Type(innerResult) is not Object, throw a TypeError exception. ... Await ... 2. Let promiseCapability be ! NewPromiseCapability(%Promise%). 3. Perform ! Call(promiseCapability.[[Resolve]], undefined, « promise »). ... Promise Resolve Functions ... 7. If Type(resolution) is not Object, then a. Return FulfillPromise(promise, resolution). 8. Let then be Get(resolution, "then"). ... 11. If IsCallable(thenAction) is false, then a. Return FulfillPromise(promise, resolution). ... --- 2157 -
yield-star-next-then-non-callable-object-fulfillpromise.js --- description: FulfillPromise if next().then is not-callable (object) (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). iii. If generatorKind is async, then set innerResult to ? Await(innerResult). iv. If Type(innerResult) is not Object, throw a TypeError exception. ... Await ... 2. Let promiseCapability be ! NewPromiseCapability(%Promise%). 3. Perform ! Call(promiseCapability.[[Resolve]], undefined, « promise »). ... Promise Resolve Functions ... 7. If Type(resolution) is not Object, then a. Return FulfillPromise(promise, resolution). 8. Let then be Get(resolution, "then"). ... 11. If IsCallable(thenAction) is false, then a. Return FulfillPromise(promise, resolution). ... --- 2157 -
yield-star-next-then-non-callable-string-fulfillpromise.js --- description: FulfillPromise if next().then is not-callable (string) (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). iii. If generatorKind is async, then set innerResult to ? Await(innerResult). iv. If Type(innerResult) is not Object, throw a TypeError exception. ... Await ... 2. Let promiseCapability be ! NewPromiseCapability(%Promise%). 3. Perform ! Call(promiseCapability.[[Resolve]], undefined, « promise »). ... Promise Resolve Functions ... 7. If Type(resolution) is not Object, then a. Return FulfillPromise(promise, resolution). 8. Let then be Get(resolution, "then"). ... 11. If IsCallable(thenAction) is false, then a. Return FulfillPromise(promise, resolution). ... --- 2157 -
yield-star-next-then-non-callable-symbol-fulfillpromise.js --- description: FulfillPromise if next().then is not-callable (symbol) (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). iii. If generatorKind is async, then set innerResult to ? Await(innerResult). iv. If Type(innerResult) is not Object, throw a TypeError exception. ... Await ... 2. Let promiseCapability be ! NewPromiseCapability(%Promise%). 3. Perform ! Call(promiseCapability.[[Resolve]], undefined, « promise »). ... Promise Resolve Functions ... 7. If Type(resolution) is not Object, then a. Return FulfillPromise(promise, resolution). 8. Let then be Get(resolution, "then"). ... 11. If IsCallable(thenAction) is false, then a. Return FulfillPromise(promise, resolution). ... --- 2167 -
yield-star-next-then-non-callable-undefined-fulfillpromise.js --- description: FulfillPromise if next().then is not-callable (undefined) (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). iii. If generatorKind is async, then set innerResult to ? Await(innerResult). iv. If Type(innerResult) is not Object, throw a TypeError exception. ... Await ... 2. Let promiseCapability be ! NewPromiseCapability(%Promise%). 3. Perform ! Call(promiseCapability.[[Resolve]], undefined, « promise »). ... Promise Resolve Functions ... 7. If Type(resolution) is not Object, then a. Return FulfillPromise(promise, resolution). 8. Let then be Get(resolution, "then"). ... 11. If IsCallable(thenAction) is false, then a. Return FulfillPromise(promise, resolution). ... --- 2170 -
yield-star-next-then-returns-abrupt.js --- description: Return abrupt after calling next().then (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). iii. If generatorKind is async, then set innerResult to ? Await(innerResult). ... Await ... 2. Let promiseCapability be ! NewPromiseCapability(%Promise%). 3. Perform ! Call(promiseCapability.[[Resolve]], undefined, « promise »). ... Promise Resolve Functions ... 8. Let then be Get(resolution, "then"). ... 10. Get thenAction be then.[[Value]]. ... 12. Perform EnqueueJob("PromiseJobs", PromiseResolveThenableJob, « promise, resolution, thenAction »). ... --- 2255 -
yield-star-normal-notdone-iter-value-throws.js --- esid: sec-generator-function-definitions-runtime-semantics-evaluation description: > Abrupt completion when calling IteratorValue is propagated when received.[[Type]] is normal. info: | 14.4.14 Runtime Semantics: Evaluation YieldExpression : yield* AssignmentExpression ... 7. Repeat, a. If received.[[Type]] is normal, then ... vi. If generatorKind is async, then set received to AsyncGeneratorYield(? IteratorValue(innerResult)). ... flags: [async] features: [async-iteration] --- 1119 -
yield-star-promise-not-unwrapped.js --- esid: sec-generator-function-definitions-runtime-semantics-evaluation description: > `yield*` in an async generator does not await promises returned by a manually implemented async iterator. flags: [async] features: [async-iteration] --- 1000 -
yield-star-return-missing-value-is-awaited.js --- esid: sec-generator-function-definitions-runtime-semantics-evaluation description: > If iterator's "return" method is missing, received value is awaited before forwarded to the runtime. info: | YieldExpression : yield * AssignmentExpression [...] 7. Repeat, [...] c. Else, i. Assert: received.[[Type]] is return. ii. Let return be ? GetMethod(iterator, "return"). iii. If return is undefined, then 1. If generatorKind is async, then set received.[[Value]] to ? Await(received.[[Value]]). 2. Return Completion(received). features: [Symbol.asyncIterator, async-iteration] flags: [async] --- 1310 -
yield-star-return-notdone-iter-value-throws.js --- esid: sec-generator-function-definitions-runtime-semantics-evaluation description: > Abrupt completion when calling IteratorValue is propagated when received.[[Type]] is return. info: | 14.4.14 Runtime Semantics: Evaluation YieldExpression : yield* AssignmentExpression ... 7. Repeat, ... c. Else, i. Assert: received.[[Type]] is return. ... ix. If generatorKind is async, then set received to AsyncGeneratorYield(? IteratorValue(innerReturnResult)). ... flags: [async] features: [async-iteration] --- 1281 -
yield-star-return-then-getter-ticks.js --- esid: sec-generator-function-definitions-runtime-semantics-evaluation description: > Return resumption value is awaited upon and hence is treated as a thenable. info: | 15.5.5 Runtime Semantics: Evaluation YieldExpression : yield* AssignmentExpression ... 7. Repeat, a. If received.[[Type]] is normal, then i. Let innerResult be ? Call(iteratorRecord.[[NextMethod]], iteratorRecord.[[Iterator]], « received.[[Value]] »). ii. If generatorKind is async, then set innerResult to ? Await(innerResult). ... vi. If generatorKind is async, then set received to AsyncGeneratorYield(? IteratorValue(innerResult)). ... ... c. Else, i. Assert: received.[[Type]] is return. ii. Let return be ? GetMethod(iterator, "return"). iii. If return is undefined, then 1. If generatorKind is async, then set received.[[Value]] to ? Await(received.[[Value]]). 2. Return Completion(received). ... 27.6.3.8 AsyncGeneratorYield ( value ) ... 12. If queue is not empty, then ... 13. Else, ... c. Set the code evaluation state of genContext such that when evaluation is resumed with a Completion resumptionValue the following steps will be performed: i. Return ? AsyncGeneratorUnwrapYieldResumption(resumptionValue). 27.6.3.7 AsyncGeneratorUnwrapYieldResumption ( resumptionValue ) ... 2. Let awaited be Completion(Await(resumptionValue.[[Value]])). ... 6.2.3.1 Await ... 2. Let promise be ? PromiseResolve(%Promise%, « value »). ... 27.2.4.7.1 PromiseResolve ( C, x ) ... 2. Let promiseCapability be ? NewPromiseCapability(C). 3. Perform ? Call(promiseCapability.[[Resolve]], undefined, « x »). ... 27.2.1.5 NewPromiseCapability ( C ) ... 7. Let promise be ? Construct(C, « executor »). ... 27.2.3.1 Promise ( executor ) ... 8. Let resolvingFunctions be CreateResolvingFunctions(promise). ... 27.2.1.3 CreateResolvingFunctions ( promise ) ... 2. Let stepsResolve be the algorithm steps defined in Promise Resolve Functions (25.6.1.3.2). 3. Let resolve be CreateBuiltinFunction(stepsResolve, « [[Promise]], [[AlreadyResolved]] »). ... 27.2.1.3.2 Promise Resolve Functions ... 9. Let then be Get(resolution, "then"). ... includes: [compareArray.js] flags: [async] features: [async-iteration] --- 3778 -
yield-star-sync-next.js --- description: execution order for yield* with sync iterator and next() (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, async-iteration, Symbol.asyncIterator] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 2. Let value be ? GetValue(exprRef). 3. Let generatorKind be ! GetGeneratorKind(). 4. Let iterator be ? GetIterator(value, generatorKind). 5. Let received be NormalCompletion(undefined). 6. Repeat a. If received.[[Type]] is normal, then i. Let innerResult be ? IteratorNext(iterator, received.[[Value]]). ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). iii. If generatorKind is async, then set innerResult to ? Await(innerResult). ... v. Let done be ? IteratorComplete(innerResult). vi. If done is true, then 1. Return ? IteratorValue(innerResult). vii. Let received be GeneratorYield(innerResult). ... GetIterator ( obj [ , hint ] ) ... 3. If hint is async, a. Set method to ? GetMethod(obj, @@asyncIterator). b. If method is undefined, i. Let syncMethod be ? GetMethod(obj, @@iterator). ii. Let syncIterator be ? Call(syncMethod, obj). iii. Return ? CreateAsyncFromSyncIterator(syncIterator). ... %AsyncFromSyncIteratorPrototype%.next ( value ) ... 5. Let nextResult be IteratorNext(syncIterator, value). ... 7. Let nextValue be IteratorValue(nextResult). ... 9. Let nextDone be IteratorComplete(nextResult). ... 12. Perform ! Call(valueWrapperCapability.[[Resolve]], undefined, « nextValue »). ... 14. Set onFulfilled.[[Done]] to nextDone. 15. Perform ! PerformPromiseThen(valueWrapperCapability.[[Promise]], onFulfilled, undefined, promiseCapability). ... Async Iterator Value Unwrap Functions 1. Return ! CreateIterResultObject(value, F.[[Done]]). --- 6812 -
yield-star-sync-return.js --- description: execution order for yield* with sync iterator and return() (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, async-iteration, Symbol.asyncIterator] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat ... c. Else, i. Assert: received.[[Type]] is return. ii. Let return be ? GetMethod(iterator, "return"). iii. If return is undefined, return Completion(received). iv. Let innerReturnResult be ? Call(return, iterator, « received.[[Value]] »). v. If generatorKind is async, then set innerReturnResult to ? Await(innerReturnResult). ... vii. Let done be ? IteratorComplete(innerReturnResult). viii. If done is true, then 1. Let value be ? IteratorValue(innerReturnResult). 2. Return Completion{[[Type]]: return, [[Value]]: value, [[Target]]: empty}. ix. Let received be GeneratorYield(innerResult). %AsyncFromSyncIteratorPrototype%.return ( value ) 5. Let return be GetMethod(syncIterator, "return"). ... ... 8. Let returnResult be Call(return, syncIterator, « value »). ... 11. Let returnValue be IteratorValue(returnResult). .. 13. Let returnDone be IteratorComplete(returnResult). ... 16. Perform ! Call(valueWrapperCapability.[[Resolve]], undefined, « returnValue »). ... 18. Set onFulfilled.[[Done]] to returnDone. 19. Perform ! PerformPromiseThen(valueWrapperCapability.[[Promise]], onFulfilled, undefined, promiseCapability). ... --- 6058 -
yield-star-sync-throw.js --- description: execution order for yield* with sync iterator and throw() (Async generator Function declaration) esid: prod-AsyncGeneratorDeclaration features: [Symbol.iterator, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorDeclaration: async [no LineTerminator here] function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat ... b. Else if received.[[Type]] is throw, then i. Let throw be ? GetMethod(iterator, "throw"). ii. If throw is not undefined, then 1. Let innerResult be ? Call(throw, iterator, « received.[[Value]] »). 2. If generatorKind is async, then set innerResult to ? Await(innerResult). ... 5. Let done be ? IteratorComplete(innerResult). 6. If done is true, then a. Return ? IteratorValue(innerResult). 7. Let received be GeneratorYield(innerResult). ... %AsyncFromSyncIteratorPrototype%.throw ( value ) ... 5. Let throw be GetMethod(syncIterator, "throw"). ... 8. Let throwResult be Call(throw, syncIterator, « value »). ... 11. Let throwValue be IteratorValue(throwResult). ... 13. Let throwDone be IteratorComplete(throwResult). ... 16. Perform ! Call(valueWrapperCapability.[[Resolve]], undefined, « throwValue »). ... 18. Set onFulfilled.[[Done]] to throwDone. 19. Perform ! PerformPromiseThen(valueWrapperCapability.[[Promise]], onFulfilled, undefined, promiseCapability). ... --- 6018 -
yield-star-throw-notdone-iter-value-throws.js --- esid: sec-generator-function-definitions-runtime-semantics-evaluation description: > Abrupt completion when calling IteratorValue is propagated when received.[[Type]] is throw. info: | 14.4.14 Runtime Semantics: Evaluation YieldExpression : yield* AssignmentExpression ... 7. Repeat, ... b. Else if received.[[Type]] is throw, then ... ii. If throw is not undefined, then ... 7. If generatorKind is async, then set received to AsyncGeneratorYield(? IteratorValue(innerResult)). ... flags: [async] features: [async-iteration] --- 1320 -