Name Description Size
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 private method as a ClassDeclaration element) esid: prod-AsyncGeneratorMethod features: [async-iteration, class-methods-private] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * # PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } BindingIdentifier : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 1085
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 private method as a ClassDeclaration element) esid: prod-AsyncGeneratorMethod features: [async-iteration, class-methods-private] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * # PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } BindingIdentifier : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 1072
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 private method as a ClassDeclaration element) esid: prod-AsyncGeneratorMethod features: [async-iteration, class-methods-private] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * # PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } IdentifierReference : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 1093
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 private method as a ClassDeclaration element) esid: prod-AsyncGeneratorMethod features: [async-iteration, class-methods-private] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * # PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } IdentifierReference : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 1080
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 private method as a ClassDeclaration element) esid: prod-AsyncGeneratorMethod features: [async-iteration, class-methods-private] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * # PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } LabelIdentifier : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 1077
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 private method as a ClassDeclaration element) esid: prod-AsyncGeneratorMethod features: [async-iteration, class-methods-private] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * # PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } LabelIdentifier : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 1064
browser.js 0
shell.js 0
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 private method as a ClassDeclaration element) esid: prod-AsyncGeneratorMethod features: [async-iteration, class-methods-private] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * # PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } BindingIdentifier : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 1085
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 private method as a ClassDeclaration element) esid: prod-AsyncGeneratorMethod features: [async-iteration, class-methods-private] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * # PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } BindingIdentifier : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 1072
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 private method as a ClassDeclaration element) esid: prod-AsyncGeneratorMethod features: [async-iteration, class-methods-private] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * # PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } IdentifierReference : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 1093
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 private method as a ClassDeclaration element) esid: prod-AsyncGeneratorMethod features: [async-iteration, class-methods-private] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * # PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } IdentifierReference : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 1080
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 private method as a ClassDeclaration element) esid: prod-AsyncGeneratorMethod features: [async-iteration, class-methods-private] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * # PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } LabelIdentifier : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 1077
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 private method as a ClassDeclaration element) esid: prod-AsyncGeneratorMethod features: [async-iteration, class-methods-private] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * # PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } LabelIdentifier : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 1064
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 method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [object-spread, async-iteration, class-methods-private] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } Spread Properties PropertyDefinition[Yield]: (...) ...AssignmentExpression[In, ?Yield] --- 2279
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 method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [async-iteration, class-methods-private] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } --- 2099
yield-promise-reject-next-catch.js --- description: yield Promise.reject(value) is treated as throw value (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } --- 2400
yield-promise-reject-next-for-await-of-async-iterator.js --- description: yield * [Promise.reject(value)] is treated as throw value (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } --- 2531
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 method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } --- 2516
yield-promise-reject-next-yield-star-async-iterator.js --- description: yield * (async iterator) is treated as throw value (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } --- 2480
yield-promise-reject-next-yield-star-sync-iterator.js --- description: yield * (async iterator) is treated as throw value (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } --- 2444
yield-promise-reject-next.js --- description: yield Promise.reject(value) is treated as throw value (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } --- 2401
yield-spread-arr-multiple.js --- description: Use yield value in a array spread position (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [async-iteration, class-methods-private] flags: [generated, async] includes: [compareArray.js] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } Array Initializer SpreadElement[Yield, Await]: ...AssignmentExpression[+In, ?Yield, ?Await] --- 2309
yield-spread-arr-single.js --- description: Use yield value in a array spread position (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } Array Initializer SpreadElement[Yield, Await]: ...AssignmentExpression[+In, ?Yield, ?Await] --- 2401
yield-spread-obj.js --- description: Use yield value in a object spread position (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [object-spread, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } Spread Properties PropertyDefinition[Yield]: (...) ...AssignmentExpression[In, ?Yield] --- 2352
yield-star-async-next.js --- description: Execution order for yield* with async iterator and next() (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, async-iteration, Symbol.asyncIterator, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } --- 8364
yield-star-async-return.js --- description: execution order for yield* with async iterator and return() (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [async-iteration, Symbol.asyncIterator, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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). ... --- 9053
yield-star-async-throw.js --- description: execution order for yield* with async iterator and throw() (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [async-iteration, Symbol.asyncIterator, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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). ... --- 9105
yield-star-expr-abrupt.js --- description: Abrupt completion while getting yield* operand (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression 1. Let exprRef be the result of evaluating AssignmentExpression. 2. Let value be ? GetValue(exprRef). ... --- 2511
yield-star-getiter-async-get-abrupt.js --- description: Abrupt completion while getting [Symbol.asyncIterator] (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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). ... --- 3018
yield-star-getiter-async-not-callable-boolean-throw.js --- description: Throws a TypeError on a non-callable [Symbol.asyncIterator] (boolean) (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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. ... --- 3148
yield-star-getiter-async-not-callable-number-throw.js --- description: Throws a TypeError on a non-callable [Symbol.asyncIterator] (number) (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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. ... --- 3142
yield-star-getiter-async-not-callable-object-throw.js --- description: Throws a TypeError on a non-callable [Symbol.asyncIterator] (object) (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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. ... --- 3143
yield-star-getiter-async-not-callable-string-throw.js --- description: Throws a TypeError on a non-callable [Symbol.asyncIterator] (string) (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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. ... --- 3143
yield-star-getiter-async-not-callable-symbol-throw.js --- description: Throws a TypeError on a non-callable [Symbol.asyncIterator] (symbol) (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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. ... --- 3161
yield-star-getiter-async-null-sync-get-abrupt.js --- description: Abrupt completion while getting @@iterator after null @@asyncIterator (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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). ... --- 3148
yield-star-getiter-async-returns-abrupt.js --- description: Abrupt completion while calling [Symbol.asyncIterator] (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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). ... --- 2996
yield-star-getiter-async-returns-boolean-throw.js --- description: Non object returned by [Symbol.asyncIterator]() - boolean (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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. ... --- 3068
yield-star-getiter-async-returns-null-throw.js --- description: Non object returned by [Symbol.asyncIterator]() - null (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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. ... --- 3062
yield-star-getiter-async-returns-number-throw.js --- description: Non object returned by [Symbol.asyncIterator]() - number (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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. ... --- 3064
yield-star-getiter-async-returns-string-throw.js --- description: Non object returned by [Symbol.asyncIterator]() - string (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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. ... --- 3066
yield-star-getiter-async-returns-symbol-throw.js --- description: Non object returned by [Symbol.asyncIterator]() - symbol (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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. ... --- 3082
yield-star-getiter-async-returns-undefined-throw.js --- description: Non object returned by [Symbol.asyncIterator]() - undefined (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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. ... --- 3077
yield-star-getiter-async-undefined-sync-get-abrupt.js --- description: Abrupt completion while getting @@iterator after undefined @@asyncIterator (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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). ... --- 3163
yield-star-getiter-sync-get-abrupt.js --- description: Abrupt completion while getting [Symbol.iterator] (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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). ... --- 3001
yield-star-getiter-sync-not-callable-boolean-throw.js --- description: Throws a TypeError on a non-callable [Symbol.iterator] (boolean) (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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. ... --- 3055
yield-star-getiter-sync-not-callable-number-throw.js --- description: Throws a TypeError on a non-callable [Symbol.iterator] (number) (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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. ... --- 3049
yield-star-getiter-sync-not-callable-object-throw.js --- description: Throws a TypeError on a non-callable [Symbol.iterator] (object) (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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. ... --- 3050
yield-star-getiter-sync-not-callable-string-throw.js --- description: Throws a TypeError on a non-callable [Symbol.iterator] (string) (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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. ... --- 3050
yield-star-getiter-sync-not-callable-symbol-throw.js --- description: Throws a TypeError on a non-callable [Symbol.iterator] (symbol) (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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. ... --- 3085
yield-star-getiter-sync-returns-abrupt.js --- description: Abrupt completion while calling [Symbol.iterator] (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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). ... --- 2951
yield-star-getiter-sync-returns-boolean-throw.js --- description: Non object returned by [Symbol.iterator]() - boolean (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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. ... --- 3126
yield-star-getiter-sync-returns-null-throw.js --- description: Non object returned by [Symbol.iterator]() - null (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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. ... --- 3120
yield-star-getiter-sync-returns-number-throw.js --- description: Non object returned by [Symbol.iterator]() - number (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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. ... --- 3121
yield-star-getiter-sync-returns-string-throw.js --- description: Non object returned by [Symbol.iterator]() - string (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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. ... --- 3122
yield-star-getiter-sync-returns-symbol-throw.js --- description: Non object returned by [Symbol.iterator]() - symbol (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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. ... --- 3135
yield-star-getiter-sync-returns-undefined-throw.js --- description: Non object returned by [Symbol.iterator]() - undefined (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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. ... --- 3135
yield-star-next-call-done-get-abrupt.js --- description: Abrupt completion while getting done (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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). ... --- 3012
yield-star-next-call-returns-abrupt.js --- description: Abrupt completion while calling next (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). ... --- 2777
yield-star-next-call-value-get-abrupt.js --- description: Abrupt completion while getting value (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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). ... --- 3066
yield-star-next-get-abrupt.js --- description: Abrupt completion while getting next (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). ... --- 2772
yield-star-next-non-object-ignores-then.js --- description: If next() value is not-object, do not access respective then property (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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"). ... --- 3448
yield-star-next-not-callable-boolean-throw.js --- description: Not-callable next value in a yield star position - boolean (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). ... --- 2772
yield-star-next-not-callable-null-throw.js --- description: Not-callable next value in a yield star position - null (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). ... --- 2766
yield-star-next-not-callable-number-throw.js --- description: Not-callable next value in a yield star position - number (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). ... --- 2768
yield-star-next-not-callable-object-throw.js --- description: Not-callable next value in a yield star position - object (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). ... --- 2768
yield-star-next-not-callable-string-throw.js --- description: Not-callable next value in a yield star position - string (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). ... --- 2768
yield-star-next-not-callable-symbol-throw.js --- description: Not-callable next value in a yield star position - symbol (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). ... --- 2778
yield-star-next-not-callable-undefined-throw.js --- description: Not-callable next value in a yield star position - undefined (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } YieldExpression: yield * AssignmentExpression ... 6. Repeat a. If received.[[Type]] is normal, then ii. Let innerResult be ? Invoke(iterator, "next", « received.[[Value]] »). ... --- 2781
yield-star-next-then-get-abrupt.js --- description: Return abrupt after getting next().then (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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 »). ... --- 3384
yield-star-next-then-non-callable-boolean-fulfillpromise.js --- description: FulfillPromise if next().then is not-callable (boolean) (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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). ... --- 3290
yield-star-next-then-non-callable-null-fulfillpromise.js --- description: FulfillPromise if next().then is not-callable (null) (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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). ... --- 3284
yield-star-next-then-non-callable-number-fulfillpromise.js --- description: FulfillPromise if next().then is not-callable (number) (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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). ... --- 3286
yield-star-next-then-non-callable-object-fulfillpromise.js --- description: FulfillPromise if next().then is not-callable (object) (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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). ... --- 3286
yield-star-next-then-non-callable-string-fulfillpromise.js --- description: FulfillPromise if next().then is not-callable (string) (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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). ... --- 3286
yield-star-next-then-non-callable-symbol-fulfillpromise.js --- description: FulfillPromise if next().then is not-callable (symbol) (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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). ... --- 3296
yield-star-next-then-non-callable-undefined-fulfillpromise.js --- description: FulfillPromise if next().then is not-callable (undefined) (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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). ... --- 3299
yield-star-next-then-returns-abrupt.js --- description: Return abrupt after calling next().then (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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 »). ... --- 3384
yield-star-sync-next.js --- description: execution order for yield* with sync iterator and next() (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, async-iteration, Symbol.asyncIterator, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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]]). --- 7971
yield-star-sync-return.js --- description: execution order for yield* with sync iterator and return() (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, async-iteration, Symbol.asyncIterator, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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). ... --- 7187
yield-star-sync-throw.js --- description: execution order for yield* with sync iterator and throw() (Async Generator method as a ClassDeclaration element) esid: prod-AsyncGeneratorPrivateMethod features: [Symbol.iterator, async-iteration, class-methods-private] flags: [generated, async] info: | ClassElement : PrivateMethodDefinition MethodDefinition : AsyncGeneratorMethod Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { 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). ... --- 7177