Name Description Size Coverage
async-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 method) esid: prod-AsyncMethod features: [async-functions] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Function Definitions AsyncMethod : async [no LineTerminator here] PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } BindingIdentifier : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 872 -
async-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 method) esid: prod-AsyncMethod features: [async-functions] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Function Definitions AsyncMethod : async [no LineTerminator here] PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } BindingIdentifier : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 859 -
async-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 method) esid: prod-AsyncMethod features: [async-functions] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Function Definitions AsyncMethod : async [no LineTerminator here] PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } IdentifierReference : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 880 -
async-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 method) esid: prod-AsyncMethod features: [async-functions] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Function Definitions AsyncMethod : async [no LineTerminator here] PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } IdentifierReference : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 867 -
async-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 method) esid: prod-AsyncMethod features: [async-functions] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Function Definitions AsyncMethod : async [no LineTerminator here] PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } LabelIdentifier : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 864 -
async-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 method) esid: prod-AsyncMethod features: [async-functions] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Function Definitions AsyncMethod : async [no LineTerminator here] PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } LabelIdentifier : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 851 -
async-gen-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 method) esid: prod-AsyncGeneratorMethod features: [async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | 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". --- 915 -
async-gen-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 method) esid: prod-AsyncGeneratorMethod features: [async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | 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". --- 902 -
async-gen-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 method) esid: prod-AsyncGeneratorMethod features: [async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | 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". --- 923 -
async-gen-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 method) esid: prod-AsyncGeneratorMethod features: [async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | 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". --- 910 -
async-gen-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 method) esid: prod-AsyncGeneratorMethod features: [async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | 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". --- 907 -
async-gen-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 method) esid: prod-AsyncGeneratorMethod features: [async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | 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". --- 894 -
async-gen-meth-array-destructuring-param-strict-body.js --- description: ArrayBindingPattern and Use Strict Directive are not allowed to coexist for the same function. (async generator method) esid: sec-asyncgenerator-definitions-propertydefinitionevaluation features: [rest-parameters, async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, 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. --- 4996 -
async-gen-meth-dflt-params-abrupt.js --- description: Abrupt completion returned by evaluation of initializer (async generator method) esid: sec-asyncgenerator-definitions-propertydefinitionevaluation features: [default-parameters, async-iteration] flags: [generated] info: | AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, 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. --- 1749 -
async-gen-meth-dflt-params-arg-val-not-undefined.js --- description: Use of initializer when argument value is not `undefined` (async generator method) esid: sec-asyncgenerator-definitions-propertydefinitionevaluation features: [default-parameters, async-iteration] flags: [generated, async] info: | AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, 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. [...] --- 2667 -
async-gen-meth-dflt-params-arg-val-undefined.js --- description: Use of initializer when argument value is `undefined` (async generator method) esid: sec-asyncgenerator-definitions-propertydefinitionevaluation features: [default-parameters, async-iteration] flags: [generated, async] info: | AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, 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. [...] --- 1930 -
async-gen-meth-dflt-params-duplicates.js --- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (async generator method) esid: sec-asyncgenerator-definitions-propertydefinitionevaluation features: [default-parameters, async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, 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. --- 1583 -
async-gen-meth-dflt-params-ref-later.js --- description: Referencing a parameter that occurs later in the ParameterList (async generator method) esid: sec-asyncgenerator-definitions-propertydefinitionevaluation features: [default-parameters, async-iteration] flags: [generated] info: | AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, 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. --- 1732 -
async-gen-meth-dflt-params-ref-prior.js --- description: Referencing a parameter that occurs earlier in the ParameterList (async generator method) esid: sec-asyncgenerator-definitions-propertydefinitionevaluation features: [default-parameters, async-iteration] flags: [generated, async] info: | AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, 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. --- 1963 -
async-gen-meth-dflt-params-ref-self.js --- description: Referencing a parameter from within its own initializer (async generator method) esid: sec-asyncgenerator-definitions-propertydefinitionevaluation features: [default-parameters, async-iteration] flags: [generated] info: | AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, 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. --- 1721 -
async-gen-meth-dflt-params-rest.js --- description: RestParameter does not support an initializer (async generator method) esid: sec-asyncgenerator-definitions-propertydefinitionevaluation features: [default-parameters, async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, 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] --- 1402 -
async-gen-meth-dflt-params-trailing-comma.js --- description: A trailing comma should not increase the respective length, using default parameters (async generator method) esid: sec-asyncgenerator-definitions-propertydefinitionevaluation features: [async-iteration] flags: [generated, async] info: | AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, AsyncGeneratorBody, scope, strict). [...] Trailing comma in the parameters list 14.1 Function Definitions FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , --- 1629 -
async-gen-meth-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] --- 886 -
async-gen-meth-eval-var-scope-syntax-err.js --- description: sloppy direct eval in params introduces var (async generator method in sloppy code) esid: sec-asyncgenerator-definitions-propertydefinitionevaluation features: [default-parameters, async-iteration] flags: [generated, noStrict] info: | AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, AsyncGeneratorBody, scope, strict). [...] Runtime Semantics: IteratorBindingInitialization FormalParameter : BindingElement 1. Return the result of performing IteratorBindingInitialization for BindingElement with arguments iteratorRecord and environment. --- 1536 -
async-gen-meth-object-destructuring-param-strict-body.js --- description: ObjectBindingPattern and Use Strict Directive are not allowed to coexist for the same function. (async generator method) esid: sec-asyncgenerator-definitions-propertydefinitionevaluation features: [rest-parameters, async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, 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. --- 4999 -
async-gen-meth-params-trailing-comma-multiple.js --- description: A trailing comma should not increase the respective length, using multiple parameters (async generator method) esid: sec-asyncgenerator-definitions-propertydefinitionevaluation features: [async-iteration] flags: [generated, async] info: | AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, AsyncGeneratorBody, scope, strict). [...] Trailing comma in the parameters list 14.1 Function Definitions FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , --- 1622 -
async-gen-meth-params-trailing-comma-single.js --- description: A trailing comma should not increase the respective length, using a single parameter (async generator method) esid: sec-asyncgenerator-definitions-propertydefinitionevaluation features: [async-iteration] flags: [generated, async] info: | AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, AsyncGeneratorBody, scope, strict). [...] Trailing comma in the parameters list 14.1 Function Definitions FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , --- 1584 -
async-gen-meth-rest-param-strict-body.js --- description: RestParameter and Use Strict Directive are not allowed to coexist for the same function. (async generator method) esid: sec-asyncgenerator-definitions-propertydefinitionevaluation features: [rest-parameters, async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, 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. --- 5005 -
async-gen-meth-rest-params-trailing-comma-early-error.js --- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (async generator method) esid: sec-asyncgenerator-definitions-propertydefinitionevaluation features: [async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, 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] --- 1511 -
async-gen-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 method) esid: prod-AsyncGeneratorMethod features: [async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | 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". --- 915 -
async-gen-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 method) esid: prod-AsyncGeneratorMethod features: [async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | 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". --- 902 -
async-gen-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 method) esid: prod-AsyncGeneratorMethod features: [async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | 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". --- 923 -
async-gen-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 method) esid: prod-AsyncGeneratorMethod features: [async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | 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". --- 910 -
async-gen-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 method) esid: prod-AsyncGeneratorMethod features: [async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | 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". --- 907 -
async-gen-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 method) esid: prod-AsyncGeneratorMethod features: [async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | 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". --- 894 -
async-gen-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 (Generator method - valid for non-strict only cases) esid: prod-AsyncGeneratorMethod features: [async-iteration] flags: [generated, noStrict, async] info: | Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } --- 1172 -
async-gen-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 (Generator method - valid for non-strict only cases) esid: prod-AsyncGeneratorMethod features: [object-spread, Symbol, async-iteration] flags: [generated, noStrict, async] info: | Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } Spread Properties PropertyDefinition[Yield]: (...) ...AssignmentExpression[In, ?Yield] --- 1747 -
async-gen-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) esid: prod-AsyncGeneratorMethod features: [object-spread, async-iteration] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } Spread Properties PropertyDefinition[Yield]: (...) ...AssignmentExpression[In, ?Yield] --- 1119 -
async-gen-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) esid: prod-AsyncGeneratorMethod features: [async-iteration] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } --- 947 -
async-gen-yield-promise-reject-next-catch.js --- description: yield Promise.reject(value) is treated as throw value (Async generator method) esid: prod-AsyncGeneratorMethod features: [async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } --- 1256 -
async-gen-yield-promise-reject-next-for-await-of-async-iterator.js --- description: yield * [Promise.reject(value)] is treated as throw value (Async generator method) esid: prod-AsyncGeneratorMethod features: [async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } --- 1383 -
async-gen-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) esid: prod-AsyncGeneratorMethod features: [async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } --- 1368 -
async-gen-yield-promise-reject-next-yield-star-async-iterator.js --- description: yield * (async iterator) is treated as throw value (Async generator method) esid: prod-AsyncGeneratorMethod features: [async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } --- 1340 -
async-gen-yield-promise-reject-next-yield-star-sync-iterator.js --- description: yield * (async iterator) is treated as throw value (Async generator method) esid: prod-AsyncGeneratorMethod features: [async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } --- 1304 -
async-gen-yield-promise-reject-next.js --- description: yield Promise.reject(value) is treated as throw value (Async generator method) esid: prod-AsyncGeneratorMethod features: [async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } --- 1257 -
async-gen-yield-spread-arr-multiple.js --- description: Use yield value in a array spread position (Async generator method) esid: prod-AsyncGeneratorMethod features: [async-iteration] flags: [generated, async] includes: [compareArray.js] info: | Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } Array Initializer SpreadElement[Yield, Await]: ...AssignmentExpression[+In, ?Yield, ?Await] --- 1169 -
async-gen-yield-spread-arr-single.js --- description: Use yield value in a array spread position (Async generator method) esid: prod-AsyncGeneratorMethod features: [async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } Array Initializer SpreadElement[Yield, Await]: ...AssignmentExpression[+In, ?Yield, ?Await] --- 1261 -
async-gen-yield-spread-obj.js --- description: Use yield value in a object spread position (Async generator method) esid: prod-AsyncGeneratorMethod features: [object-spread, async-iteration] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } Spread Properties PropertyDefinition[Yield]: (...) ...AssignmentExpression[In, ?Yield] --- 1196 -
async-gen-yield-star-async-next.js --- description: Execution order for yield* with async iterator and next() (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, async-iteration, Symbol.asyncIterator] flags: [generated, async] info: | Async Generator Function Definitions AsyncGeneratorMethod : async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } --- 7200 -
async-gen-yield-star-async-return.js --- description: execution order for yield* with async iterator and return() (Async generator method) esid: prod-AsyncGeneratorMethod features: [async-iteration, Symbol.asyncIterator] flags: [generated, async] info: | 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). ... --- 7909 -
async-gen-yield-star-async-throw.js --- description: execution order for yield* with async iterator and throw() (Async generator method) esid: prod-AsyncGeneratorMethod features: [async-iteration, Symbol.asyncIterator] flags: [generated, async] info: | 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). ... --- 7941 -
async-gen-yield-star-expr-abrupt.js --- description: Abrupt completion while getting yield* operand (Async generator method) esid: prod-AsyncGeneratorMethod features: [async-iteration] flags: [generated, async] info: | 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). ... --- 1367 -
async-gen-yield-star-getiter-async-get-abrupt.js --- description: Abrupt completion while getting [Symbol.asyncIterator] (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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). ... --- 1874 -
async-gen-yield-star-getiter-async-not-callable-boolean-throw.js --- description: Throws a TypeError on a non-callable [Symbol.asyncIterator] (boolean) (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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. ... --- 2004 -
async-gen-yield-star-getiter-async-not-callable-number-throw.js --- description: Throws a TypeError on a non-callable [Symbol.asyncIterator] (number) (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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. ... --- 1998 -
async-gen-yield-star-getiter-async-not-callable-object-throw.js --- description: Throws a TypeError on a non-callable [Symbol.asyncIterator] (object) (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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. ... --- 1999 -
async-gen-yield-star-getiter-async-not-callable-string-throw.js --- description: Throws a TypeError on a non-callable [Symbol.asyncIterator] (string) (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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. ... --- 1999 -
async-gen-yield-star-getiter-async-not-callable-symbol-throw.js --- description: Throws a TypeError on a non-callable [Symbol.asyncIterator] (symbol) (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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. ... --- 2017 -
async-gen-yield-star-getiter-async-null-sync-get-abrupt.js --- description: Abrupt completion while getting @@iterator after null @@asyncIterator (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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). ... --- 2004 -
async-gen-yield-star-getiter-async-returns-abrupt.js --- description: Abrupt completion while calling [Symbol.asyncIterator] (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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). ... --- 1852 -
async-gen-yield-star-getiter-async-returns-boolean-throw.js --- description: Non object returned by [Symbol.asyncIterator]() - boolean (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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. ... --- 1924 -
async-gen-yield-star-getiter-async-returns-null-throw.js --- description: Non object returned by [Symbol.asyncIterator]() - null (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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. ... --- 1918 -
async-gen-yield-star-getiter-async-returns-number-throw.js --- description: Non object returned by [Symbol.asyncIterator]() - number (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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. ... --- 1920 -
async-gen-yield-star-getiter-async-returns-string-throw.js --- description: Non object returned by [Symbol.asyncIterator]() - string (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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. ... --- 1922 -
async-gen-yield-star-getiter-async-returns-symbol-throw.js --- description: Non object returned by [Symbol.asyncIterator]() - symbol (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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. ... --- 1938 -
async-gen-yield-star-getiter-async-returns-undefined-throw.js --- description: Non object returned by [Symbol.asyncIterator]() - undefined (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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. ... --- 1933 -
async-gen-yield-star-getiter-async-undefined-sync-get-abrupt.js --- description: Abrupt completion while getting @@iterator after undefined @@asyncIterator (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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). ... --- 2019 -
async-gen-yield-star-getiter-sync-get-abrupt.js --- description: Abrupt completion while getting [Symbol.iterator] (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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). ... --- 1857 -
async-gen-yield-star-getiter-sync-not-callable-boolean-throw.js --- description: Throws a TypeError on a non-callable [Symbol.iterator] (boolean) (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, async-iteration] flags: [generated, async] info: | 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. ... --- 1911 -
async-gen-yield-star-getiter-sync-not-callable-number-throw.js --- description: Throws a TypeError on a non-callable [Symbol.iterator] (number) (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, async-iteration] flags: [generated, async] info: | 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. ... --- 1905 -
async-gen-yield-star-getiter-sync-not-callable-object-throw.js --- description: Throws a TypeError on a non-callable [Symbol.iterator] (object) (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, async-iteration] flags: [generated, async] info: | 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. ... --- 1906 -
async-gen-yield-star-getiter-sync-not-callable-string-throw.js --- description: Throws a TypeError on a non-callable [Symbol.iterator] (string) (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, async-iteration] flags: [generated, async] info: | 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. ... --- 1906 -
async-gen-yield-star-getiter-sync-not-callable-symbol-throw.js --- description: Throws a TypeError on a non-callable [Symbol.iterator] (symbol) (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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. ... --- 1941 -
async-gen-yield-star-getiter-sync-returns-abrupt.js --- description: Abrupt completion while calling [Symbol.iterator] (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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). ... --- 1807 -
async-gen-yield-star-getiter-sync-returns-boolean-throw.js --- description: Non object returned by [Symbol.iterator]() - boolean (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, async-iteration] flags: [generated, async] info: | 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. ... --- 1982 -
async-gen-yield-star-getiter-sync-returns-null-throw.js --- description: Non object returned by [Symbol.iterator]() - null (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, async-iteration] flags: [generated, async] info: | 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. ... --- 1976 -
async-gen-yield-star-getiter-sync-returns-number-throw.js --- description: Non object returned by [Symbol.iterator]() - number (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, async-iteration] flags: [generated, async] info: | 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. ... --- 1977 -
async-gen-yield-star-getiter-sync-returns-string-throw.js --- description: Non object returned by [Symbol.iterator]() - string (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, async-iteration] flags: [generated, async] info: | 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. ... --- 1978 -
async-gen-yield-star-getiter-sync-returns-symbol-throw.js --- description: Non object returned by [Symbol.iterator]() - symbol (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, async-iteration] flags: [generated, async] info: | 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. ... --- 1991 -
async-gen-yield-star-getiter-sync-returns-undefined-throw.js --- description: Non object returned by [Symbol.iterator]() - undefined (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, async-iteration] flags: [generated, async] info: | 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. ... --- 1991 -
async-gen-yield-star-next-call-done-get-abrupt.js --- description: Abrupt completion while getting done (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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). ... --- 1868 -
async-gen-yield-star-next-call-returns-abrupt.js --- description: Abrupt completion while calling next (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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]] »). ... --- 1633 -
async-gen-yield-star-next-call-value-get-abrupt.js --- description: Abrupt completion while getting value (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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). ... --- 1922 -
async-gen-yield-star-next-get-abrupt.js --- description: Abrupt completion while getting next (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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]] »). ... --- 1628 -
async-gen-yield-star-next-non-object-ignores-then.js --- description: If next() value is not-object, do not access respective then property (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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"). ... --- 2304 -
async-gen-yield-star-next-not-callable-boolean-throw.js --- description: Not-callable next value in a yield star position - boolean (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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]] »). ... --- 1628 -
async-gen-yield-star-next-not-callable-null-throw.js --- description: Not-callable next value in a yield star position - null (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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]] »). ... --- 1622 -
async-gen-yield-star-next-not-callable-number-throw.js --- description: Not-callable next value in a yield star position - number (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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]] »). ... --- 1624 -
async-gen-yield-star-next-not-callable-object-throw.js --- description: Not-callable next value in a yield star position - object (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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]] »). ... --- 1624 -
async-gen-yield-star-next-not-callable-string-throw.js --- description: Not-callable next value in a yield star position - string (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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]] »). ... --- 1624 -
async-gen-yield-star-next-not-callable-symbol-throw.js --- description: Not-callable next value in a yield star position - symbol (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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]] »). ... --- 1634 -
async-gen-yield-star-next-not-callable-undefined-throw.js --- description: Not-callable next value in a yield star position - undefined (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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]] »). ... --- 1637 -
async-gen-yield-star-next-then-get-abrupt.js --- description: Return abrupt after getting next().then (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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 »). ... --- 2240 -
async-gen-yield-star-next-then-non-callable-boolean-fulfillpromise.js --- description: FulfillPromise if next().then is not-callable (boolean) (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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). ... --- 2146 -
async-gen-yield-star-next-then-non-callable-null-fulfillpromise.js --- description: FulfillPromise if next().then is not-callable (null) (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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). ... --- 2140 -
async-gen-yield-star-next-then-non-callable-number-fulfillpromise.js --- description: FulfillPromise if next().then is not-callable (number) (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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). ... --- 2142 -
async-gen-yield-star-next-then-non-callable-object-fulfillpromise.js --- description: FulfillPromise if next().then is not-callable (object) (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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). ... --- 2142 -
async-gen-yield-star-next-then-non-callable-string-fulfillpromise.js --- description: FulfillPromise if next().then is not-callable (string) (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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). ... --- 2142 -
async-gen-yield-star-next-then-non-callable-symbol-fulfillpromise.js --- description: FulfillPromise if next().then is not-callable (symbol) (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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). ... --- 2152 -
async-gen-yield-star-next-then-non-callable-undefined-fulfillpromise.js --- description: FulfillPromise if next().then is not-callable (undefined) (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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). ... --- 2155 -
async-gen-yield-star-next-then-returns-abrupt.js --- description: Return abrupt after calling next().then (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, Symbol.asyncIterator, async-iteration] flags: [generated, async] info: | 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 »). ... --- 2240 -
async-gen-yield-star-sync-next.js --- description: execution order for yield* with sync iterator and next() (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, async-iteration, Symbol.asyncIterator] flags: [generated, async] info: | 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]]). --- 6807 -
async-gen-yield-star-sync-return.js --- description: execution order for yield* with sync iterator and return() (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, async-iteration, Symbol.asyncIterator] flags: [generated, async] info: | 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). ... --- 6043 -
async-gen-yield-star-sync-throw.js --- description: execution order for yield* with sync iterator and throw() (Async generator method) esid: prod-AsyncGeneratorMethod features: [Symbol.iterator, async-iteration] flags: [generated, async] info: | 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). ... --- 6013 -
async-meth-array-destructuring-param-strict-body.js --- description: ArrayBindingPattern and Use Strict Directive are not allowed to coexist for the same function. (async method) esid: sec-async-function-definitions features: [rest-parameters, async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.6 Async Function Definitions AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } 13.3.3.4 Static Semantics: IsSimpleParameterList BindingElement : BindingPattern 1. Return false. 14.1.2 Static Semantics: Early Errors FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } FunctionDeclaration : function ( FormalParameters ) { FunctionBody } FunctionExpression : function BindingIdentifier ( FormalParameters ) { FunctionBody } - It is a Syntax Error if ContainsUseStrict of FunctionBody is true and IsSimpleParameterList of FormalParameters is false. 14.2.1 Static Semantics: Early Errors ArrowFunction : ArrowParameters => ConciseBody - It is a Syntax Error if ContainsUseStrict of ConciseBody is true and IsSimpleParameterList of ArrowParameters is false. 14.3.1 Static Semantics: Early Errors MethodDefinition : PropertyName ( UniqueFormalParameters ) { FunctionBody } - It is a Syntax Error if ContainsUseStrict of FunctionBody is true and IsSimpleParameterList of UniqueFormalParameters is false. MethodDefinition : set PropertyName ( PropertySetParameterList ) { FunctionBody } - It is a Syntax Error if ContainsUseStrict of FunctionBody is true and IsSimpleParameterList of PropertySetParameterList is false. 14.4.1 Static Semantics: Early Errors GeneratorMethod : * PropertyName ( UniqueFormalParameters ) { GeneratorBody } - It is a Syntax Error if ContainsUseStrict of GeneratorBody is true and IsSimpleParameterList of UniqueFormalParameters is false. GeneratorDeclaration : function * BindingIdentifier ( FormalParameters ) { GeneratorBody } GeneratorDeclaration : function * ( FormalParameters ) { GeneratorBody } GeneratorExpression : function * BindingIdentifier ( FormalParameters ) { GeneratorBody } - It is a Syntax Error if ContainsUseStrict of GeneratorBody is true and IsSimpleParameterList of UniqueFormalParameters is false. 14.5.1 Static Semantics: Early Errors AsyncGeneratorMethod : async * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } - It is a Syntax Error if ContainsUseStrict of AsyncGeneratorBody is true and IsSimpleParameterList of UniqueFormalParameters is false. AsyncGeneratorDeclaration : async function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } AsyncGeneratorDeclaration : async function * ( FormalParameters ) { AsyncGeneratorBody } AsyncGeneratorExpression : async function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } - It is a Syntax Error if ContainsUseStrict of AsyncGeneratorBody is true and IsSimpleParameterList of FormalParameters is false. 14.7.1 Static Semantics: Early Errors AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } - It is a Syntax Error if ContainsUseStrict of AsyncFunctionBody is true and IsSimpleParameterList of UniqueFormalParameters is false. AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } AsyncFunctionDeclaration : async function ( FormalParameters ) { AsyncFunctionBody } AsyncFunctionExpression : async function ( FormalParameters ) { AsyncFunctionBody } AsyncFunctionExpression : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } - It is a Syntax Error if ContainsUseStrict of AsyncFunctionBody is true and IsSimpleParameterList of FormalParameters is false. 14.8.1 Static Semantics: Early Errors AsyncArrowFunction : CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody - It is a Syntax Error if ContainsUseStrict of AsyncConciseBody is true and IsSimpleParameterList of CoverCallExpressionAndAsyncArrowHead is false. --- 4497 -
async-meth-dflt-params-abrupt.js --- description: Abrupt completion returned by evaluation of initializer (async method) esid: sec-async-function-definitions features: [default-parameters, async-functions] flags: [generated, async] info: | 14.6 Async Function Definitions AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } 14.1.19 Runtime Semantics: IteratorBindingInitialization FormalsList : FormalsList , FormalParameter 1. Let status be the result of performing IteratorBindingInitialization for FormalsList using iteratorRecord and environment as the arguments. 2. ReturnIfAbrupt(status). 3. Return the result of performing IteratorBindingInitialization for FormalParameter using iteratorRecord and environment as the arguments. --- 1400 -
async-meth-dflt-params-arg-val-not-undefined.js --- description: Use of initializer when argument value is not `undefined` (async method) esid: sec-async-function-definitions features: [default-parameters, async-functions] flags: [generated, async] info: | 14.6 Async Function Definitions AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } 14.1.19 Runtime Semantics: IteratorBindingInitialization FormalsList : FormalsList , FormalParameter [...] 23. Let iteratorRecord be Record {[[Iterator]]: CreateListIterator(argumentsList), [[Done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, a. Perform ? IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] --- 2161 -
async-meth-dflt-params-arg-val-undefined.js --- description: Use of initializer when argument value is `undefined` (async method) esid: sec-async-function-definitions features: [default-parameters, async-functions] flags: [generated, async] info: | 14.6 Async Function Definitions AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } 14.1.19 Runtime Semantics: IteratorBindingInitialization FormalsList : FormalsList , FormalParameter [...] 23. Let iteratorRecord be Record {[[Iterator]]: CreateListIterator(argumentsList), [[Done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, a. Perform ? IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] --- 1424 -
async-meth-dflt-params-duplicates.js --- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (async method) esid: sec-async-function-definitions features: [default-parameters, async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.6 Async Function Definitions AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } 14.1.2 Static Semantics: Early Errors StrictFormalParameters : FormalParameters - It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. FormalParameters : FormalParameterList - It is a Syntax Error if IsSimpleParameterList of FormalParameterList is false and BoundNames of FormalParameterList contains any duplicate elements. --- 1084 -
async-meth-dflt-params-ref-later.js --- description: Referencing a parameter that occurs later in the ParameterList (async method) esid: sec-async-function-definitions features: [default-parameters, async-functions] flags: [generated, async] info: | 14.6 Async Function Definitions AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } 14.1.19 Runtime Semantics: IteratorBindingInitialization FormalsList : FormalsList , FormalParameter 1. Let status be the result of performing IteratorBindingInitialization for FormalsList using iteratorRecord and environment as the arguments. 2. ReturnIfAbrupt(status). 3. Return the result of performing IteratorBindingInitialization for FormalParameter using iteratorRecord and environment as the arguments. --- 1383 -
async-meth-dflt-params-ref-prior.js --- description: Referencing a parameter that occurs earlier in the ParameterList (async method) esid: sec-async-function-definitions features: [default-parameters, async-functions] flags: [generated, async] info: | 14.6 Async Function Definitions AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } 14.1.19 Runtime Semantics: IteratorBindingInitialization FormalsList : FormalsList , FormalParameter 1. Let status be the result of performing IteratorBindingInitialization for FormalsList using iteratorRecord and environment as the arguments. 2. ReturnIfAbrupt(status). 3. Return the result of performing IteratorBindingInitialization for FormalParameter using iteratorRecord and environment as the arguments. --- 1457 -
async-meth-dflt-params-ref-self.js --- description: Referencing a parameter from within its own initializer (async method) esid: sec-async-function-definitions features: [default-parameters, async-functions] flags: [generated, async] info: | 14.6 Async Function Definitions AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } 14.1.19 Runtime Semantics: IteratorBindingInitialization FormalsList : FormalsList , FormalParameter 1. Let status be the result of performing IteratorBindingInitialization for FormalsList using iteratorRecord and environment as the arguments. 2. ReturnIfAbrupt(status). 3. Return the result of performing IteratorBindingInitialization for FormalParameter using iteratorRecord and environment as the arguments. --- 1372 -
async-meth-dflt-params-rest.js --- description: RestParameter does not support an initializer (async method) esid: sec-async-function-definitions features: [default-parameters, async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.6 Async Function Definitions AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } 14.1 Function Definitions Syntax FunctionRestParameter[Yield] : BindingRestElement[?Yield] 13.3.3 Destructuring Binding Patterns Syntax BindingRestElement[Yield] : ...BindingIdentifier[?Yield] ...BindingPattern[?Yield] --- 903 -
async-meth-dflt-params-trailing-comma.js --- description: A trailing comma should not increase the respective length, using default parameters (async method) esid: sec-async-function-definitions features: [async-functions] flags: [generated, async] info: | 14.6 Async Function Definitions AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } Trailing comma in the parameters list 14.1 Function Definitions FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , --- 1123 -
async-meth-escaped-async.js --- esid: sec-grammar-notation description: > The `async` contextual keyword must not contain Unicode escape sequences. info: | Terminal symbols are shown in fixed width font, both in the productions of the grammars and throughout this specification whenever the text directly refers to such a terminal symbol. These are to appear in a script exactly as written. All terminal symbol code points specified in this way are to be understood as the appropriate Unicode code points from the Basic Latin range, as opposed to any similar-looking code points from other Unicode ranges. negative: phase: parse type: SyntaxError features: [async-functions] --- 885 -
async-meth-eval-var-scope-syntax-err.js --- description: sloppy direct eval in params introduces var (async method in sloppy code) esid: sec-async-function-definitions features: [default-parameters, async-functions] flags: [generated, async, noStrict] info: | 14.6 Async Function Definitions AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } Runtime Semantics: IteratorBindingInitialization FormalParameter : BindingElement 1. Return the result of performing IteratorBindingInitialization for BindingElement with arguments iteratorRecord and environment. --- 1187 -
async-meth-object-destructuring-param-strict-body.js --- description: ObjectBindingPattern and Use Strict Directive are not allowed to coexist for the same function. (async method) esid: sec-async-function-definitions features: [rest-parameters, async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.6 Async Function Definitions AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } 13.3.3.4 Static Semantics: IsSimpleParameterList BindingElement : BindingPattern 1. Return false. 14.1.2 Static Semantics: Early Errors FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } FunctionDeclaration : function ( FormalParameters ) { FunctionBody } FunctionExpression : function BindingIdentifier ( FormalParameters ) { FunctionBody } - It is a Syntax Error if ContainsUseStrict of FunctionBody is true and IsSimpleParameterList of FormalParameters is false. 14.2.1 Static Semantics: Early Errors ArrowFunction : ArrowParameters => ConciseBody - It is a Syntax Error if ContainsUseStrict of ConciseBody is true and IsSimpleParameterList of ArrowParameters is false. 14.3.1 Static Semantics: Early Errors MethodDefinition : PropertyName ( UniqueFormalParameters ) { FunctionBody } - It is a Syntax Error if ContainsUseStrict of FunctionBody is true and IsSimpleParameterList of UniqueFormalParameters is false. MethodDefinition : set PropertyName ( PropertySetParameterList ) { FunctionBody } - It is a Syntax Error if ContainsUseStrict of FunctionBody is true and IsSimpleParameterList of PropertySetParameterList is false. 14.4.1 Static Semantics: Early Errors GeneratorMethod : * PropertyName ( UniqueFormalParameters ) { GeneratorBody } - It is a Syntax Error if ContainsUseStrict of GeneratorBody is true and IsSimpleParameterList of UniqueFormalParameters is false. GeneratorDeclaration : function * BindingIdentifier ( FormalParameters ) { GeneratorBody } GeneratorDeclaration : function * ( FormalParameters ) { GeneratorBody } GeneratorExpression : function * BindingIdentifier ( FormalParameters ) { GeneratorBody } - It is a Syntax Error if ContainsUseStrict of GeneratorBody is true and IsSimpleParameterList of UniqueFormalParameters is false. 14.5.1 Static Semantics: Early Errors AsyncGeneratorMethod : async * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } - It is a Syntax Error if ContainsUseStrict of AsyncGeneratorBody is true and IsSimpleParameterList of UniqueFormalParameters is false. AsyncGeneratorDeclaration : async function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } AsyncGeneratorDeclaration : async function * ( FormalParameters ) { AsyncGeneratorBody } AsyncGeneratorExpression : async function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } - It is a Syntax Error if ContainsUseStrict of AsyncGeneratorBody is true and IsSimpleParameterList of FormalParameters is false. 14.7.1 Static Semantics: Early Errors AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } - It is a Syntax Error if ContainsUseStrict of AsyncFunctionBody is true and IsSimpleParameterList of UniqueFormalParameters is false. AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } AsyncFunctionDeclaration : async function ( FormalParameters ) { AsyncFunctionBody } AsyncFunctionExpression : async function ( FormalParameters ) { AsyncFunctionBody } AsyncFunctionExpression : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } - It is a Syntax Error if ContainsUseStrict of AsyncFunctionBody is true and IsSimpleParameterList of FormalParameters is false. 14.8.1 Static Semantics: Early Errors AsyncArrowFunction : CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody - It is a Syntax Error if ContainsUseStrict of AsyncConciseBody is true and IsSimpleParameterList of CoverCallExpressionAndAsyncArrowHead is false. --- 4500 -
async-meth-params-trailing-comma-multiple.js --- description: A trailing comma should not increase the respective length, using multiple parameters (async method) esid: sec-async-function-definitions features: [async-functions] flags: [generated, async] info: | 14.6 Async Function Definitions AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } Trailing comma in the parameters list 14.1 Function Definitions FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , --- 1116 -
async-meth-params-trailing-comma-single.js --- description: A trailing comma should not increase the respective length, using a single parameter (async method) esid: sec-async-function-definitions features: [async-functions] flags: [generated, async] info: | 14.6 Async Function Definitions AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } Trailing comma in the parameters list 14.1 Function Definitions FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , --- 1078 -
async-meth-rest-param-strict-body.js --- description: RestParameter and Use Strict Directive are not allowed to coexist for the same function. (async method) esid: sec-async-function-definitions features: [rest-parameters, async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.6 Async Function Definitions AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } 14.1.13 Static Semantics: IsSimpleParameterList FormalParameters : FormalParameterList , FunctionRestParameter 1. Return false. 14.1.2 Static Semantics: Early Errors FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } FunctionDeclaration : function ( FormalParameters ) { FunctionBody } FunctionExpression : function BindingIdentifier ( FormalParameters ) { FunctionBody } - It is a Syntax Error if ContainsUseStrict of FunctionBody is true and IsSimpleParameterList of FormalParameters is false. 14.2.1 Static Semantics: Early Errors ArrowFunction : ArrowParameters => ConciseBody - It is a Syntax Error if ContainsUseStrict of ConciseBody is true and IsSimpleParameterList of ArrowParameters is false. 14.3.1 Static Semantics: Early Errors MethodDefinition : PropertyName ( UniqueFormalParameters ) { FunctionBody } - It is a Syntax Error if ContainsUseStrict of FunctionBody is true and IsSimpleParameterList of UniqueFormalParameters is false. MethodDefinition : set PropertyName ( PropertySetParameterList ) { FunctionBody } - It is a Syntax Error if ContainsUseStrict of FunctionBody is true and IsSimpleParameterList of PropertySetParameterList is false. 14.4.1 Static Semantics: Early Errors GeneratorMethod : * PropertyName ( UniqueFormalParameters ) { GeneratorBody } - It is a Syntax Error if ContainsUseStrict of GeneratorBody is true and IsSimpleParameterList of UniqueFormalParameters is false. GeneratorDeclaration : function * BindingIdentifier ( FormalParameters ) { GeneratorBody } GeneratorDeclaration : function * ( FormalParameters ) { GeneratorBody } GeneratorExpression : function * BindingIdentifier ( FormalParameters ) { GeneratorBody } - It is a Syntax Error if ContainsUseStrict of GeneratorBody is true and IsSimpleParameterList of UniqueFormalParameters is false. 14.5.1 Static Semantics: Early Errors AsyncGeneratorMethod : async * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } - It is a Syntax Error if ContainsUseStrict of AsyncGeneratorBody is true and IsSimpleParameterList of UniqueFormalParameters is false. AsyncGeneratorDeclaration : async function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } AsyncGeneratorDeclaration : async function * ( FormalParameters ) { AsyncGeneratorBody } AsyncGeneratorExpression : async function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } - It is a Syntax Error if ContainsUseStrict of AsyncGeneratorBody is true and IsSimpleParameterList of FormalParameters is false. 14.7.1 Static Semantics: Early Errors AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } - It is a Syntax Error if ContainsUseStrict of AsyncFunctionBody is true and IsSimpleParameterList of UniqueFormalParameters is false. AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } AsyncFunctionDeclaration : async function ( FormalParameters ) { AsyncFunctionBody } AsyncFunctionExpression : async function ( FormalParameters ) { AsyncFunctionBody } AsyncFunctionExpression : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } - It is a Syntax Error if ContainsUseStrict of AsyncFunctionBody is true and IsSimpleParameterList of FormalParameters is false. 14.8.1 Static Semantics: Early Errors AsyncArrowFunction : CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody - It is a Syntax Error if ContainsUseStrict of AsyncConciseBody is true and IsSimpleParameterList of CoverCallExpressionAndAsyncArrowHead is false. --- 4506 -
async-meth-rest-params-trailing-comma-early-error.js --- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (async method) esid: sec-async-function-definitions features: [async-iteration] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.6 Async Function Definitions AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } Trailing comma in the parameters list 14.1 Function Definitions FormalParameters[Yield, Await] : [empty] FunctionRestParameter[?Yield, ?Await] FormalParameterList[?Yield, ?Await] FormalParameterList[?Yield, ?Await] , FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await] --- 1012 -
async-returns-async-arrow-returns-arguments-from-parent-function.js --- description: Async function returns an async function. (Async method) esid: prod-AsyncMethod features: [async-functions] flags: [generated, async] info: | Async Function Definitions AsyncMethod : async [no LineTerminator here] PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } --- 917 -
async-returns-async-arrow-returns-newtarget.js --- description: Async function returns an async function. (Async method) esid: prod-AsyncMethod features: [async-functions] flags: [generated, async] info: | Async Function Definitions AsyncMethod : async [no LineTerminator here] PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } --- 871 -
async-returns-async-arrow.js --- description: Async function returns an async function. (Async method) esid: prod-AsyncMethod features: [async-functions] flags: [generated, async] info: | Async Function Definitions AsyncMethod : async [no LineTerminator here] PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } --- 837 -
async-returns-async-function-returns-arguments-from-own-function.js --- description: Async function returns an async function. (Async method) esid: prod-AsyncMethod features: [async-functions] flags: [generated, async] info: | Async Function Definitions AsyncMethod : async [no LineTerminator here] PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } --- 936 -
async-returns-async-function-returns-newtarget.js --- description: Async function returns an async function. (Async method) esid: prod-AsyncMethod features: [async-functions] flags: [generated, async] info: | Async Function Definitions AsyncMethod : async [no LineTerminator here] PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } --- 892 -
async-returns-async-function.js --- description: Async function returns an async function. (Async method) esid: prod-AsyncMethod features: [async-functions] flags: [generated, async] info: | Async Function Definitions AsyncMethod : async [no LineTerminator here] PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } --- 857 -
async-super-call-body.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > Super calls work in body of async methods flags: [async] --- 526 -
async-super-call-param.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > Super calls work in parameter list of async methods flags: [async] --- 542 -
browser.js 0 -
computed-property-name-yield-expression.js --- description: > When the `yield` keyword occurs within the PropertyName of a non-generator MethodDefinition within a generator function, it behaves as a YieldExpression. info: | ComputedPropertyName: [ AssignmentExpression ] AssignmentExpression[In, Yield, Await]: [+Yield]YieldExpression[?In, ?Await] features: [computed-property-names, generators] flags: [noStrict] --- 858 -
early-errors-object-async-method-duplicate-parameters.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: sec-async-function-definitions description: Formal parameters may not contain duplicates info: | # 14.7 Async Function Definitions AsyncMethod[Yield, Await]: async[no LineTerminator here]PropertyName[?Yield, ?Await](UniqueFormalParameters[~Yield, +Await]){AsyncFunctionBody} # 14.1.2 Static Semantics: Early Errors UniqueFormalParameters:FormalParameters - It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. negative: phase: parse type: SyntaxError --- 789 -
early-errors-object-method-arguments-in-formal-parameters-strict.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: It is a SyntaxError if FormalParameters contains arguments negative: phase: parse type: SyntaxError flags: [onlyStrict] features: [async-functions] --- 468 -
early-errors-object-method-async-lineterminator.js --- esid: prod-AsyncMethod description: async methods cannot have a line terminator between "async" and the property name info: | 14.6 Async Function Definitions AsyncMethod: async [no LineTerminator here] PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } negative: phase: parse type: SyntaxError --- 543 -
early-errors-object-method-await-in-formals-default.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: It is a SyntaxError if FormalParameters' default expressions contains await negative: phase: parse type: SyntaxError features: [async-functions] --- 453 -
early-errors-object-method-await-in-formals.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: It is a SyntaxError if FormalParameters contains await negative: phase: parse type: SyntaxError features: [async-functions] --- 427 -
early-errors-object-method-body-contains-super-call.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: It is a SyntaxError if AsyncFunctionBody contains SuperCall is true negative: phase: parse type: SyntaxError features: [async-functions] --- 442 -
early-errors-object-method-duplicate-parameters.js --- esid: sec-method-definitions description: Formal parameters may not contain duplicates info: | # 14.3 Method Definitions MethodDefinition[Yield, Await]: PropertyName[?Yield, ?Await](UniqueFormalParameters[~Yield, ~Await]){FunctionBody[~Yield, ~Await]} # 14.1.2 Static Semantics: Early Errors UniqueFormalParameters:FormalParameters - It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. negative: phase: parse type: SyntaxError --- 698 -
early-errors-object-method-eval-in-formal-parameters-strict.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: It is a SyntaxError if FormalParameters contains eval in strict mode negative: phase: parse type: SyntaxError flags: [onlyStrict] features: [async-functions] --- 472 -
early-errors-object-method-formals-body-duplicate.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: It is a SyntaxError if BoundNames of FormalParameters also occurs in the LexicallyDeclaredNames of AsyncFunctionBody negative: phase: parse type: SyntaxError features: [async-functions] --- 504 -
early-errors-object-method-formals-contains-super-call.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: It is a syntax error if FormalParameters contains SuperCall is true negative: phase: parse type: SyntaxError --- 418 -
early-errors-object-method-NSPL-with-USD.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > It is a Syntax Error if ContainsUseStrict of AsyncConciseBody is *true* and IsSimpleParameterList of ArrowParameters is *false*. negative: phase: parse type: SyntaxError --- 481 -
escaped-get-e.js --- esid: sec-grammar-notation description: > The `get` contextual keyword must not contain Unicode escape sequences. info: | Terminal symbols of the lexical, RegExp, and numeric string grammars 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 --- 902 -
escaped-get-g.js --- esid: sec-grammar-notation description: > The `get` contextual keyword must not contain Unicode escape sequences. info: | Terminal symbols of the lexical, RegExp, and numeric string grammars 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 --- 902 -
escaped-get-t.js --- esid: sec-grammar-notation description: > The `get` contextual keyword must not contain Unicode escape sequences. info: | Terminal symbols of the lexical, RegExp, and numeric string grammars 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 --- 902 -
escaped-get.js --- esid: sec-grammar-notation description: > The `get` 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 --- 862 -
escaped-set-e.js --- esid: sec-grammar-notation description: > The `set` contextual keyword must not contain Unicode escape sequences. info: | Terminal symbols of the lexical, RegExp, and numeric string grammars 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 --- 903 -
escaped-set-s.js --- esid: sec-grammar-notation description: > The `set` contextual keyword must not contain Unicode escape sequences. info: | Terminal symbols of the lexical, RegExp, and numeric string grammars 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 --- 903 -
escaped-set-t.js --- esid: sec-grammar-notation description: > The `set` contextual keyword must not contain Unicode escape sequences. info: | Terminal symbols of the lexical, RegExp, and numeric string grammars 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 --- 903 -
escaped-set.js --- esid: sec-grammar-notation description: > The `set` 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 --- 863 -
fn-name-fn.js --- es6id: 12.2.6.9 description: Assignment of function `name` attribute (MethodDefinition) info: | 6. If IsAnonymousFunctionDefinition(AssignmentExpression) is true, then a. Let hasNameProperty be HasOwnProperty(propValue, "name"). b. ReturnIfAbrupt(hasNameProperty). c. If hasNameProperty is false, perform SetFunctionName(propValue, propKey). includes: [propertyHelper.js] features: [Symbol] --- 1079 -
fn-name-gen.js --- es6id: 14.4.13 description: > Assignment of function `name` attribute (GeneratorMethod) info: | GeneratorMethod : PropertyName ( StrictFormalParameters ) { GeneratorBody } [...] 9. Perform SetFunctionName(closure, propKey). includes: [propertyHelper.js] features: [generators, Symbol] --- 968 -
forbidden-ext -
gen-meth-array-destructuring-param-strict-body.js 5598 -
gen-meth-dflt-params-abrupt.js --- description: Abrupt completion returned by evaluation of initializer (generator method) esid: sec-generator-function-definitions-runtime-semantics-propertydefinitionevaluation features: [default-parameters, generators] flags: [generated] info: | GeneratorMethod : PropertyName ( StrictFormalParameters ) { GeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this GeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be GeneratorFunctionCreate(Method, StrictFormalParameters, GeneratorBody, scope, strict). [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] 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. --- 2351 -
gen-meth-dflt-params-arg-val-not-undefined.js --- description: Use of initializer when argument value is not `undefined` (generator method) esid: sec-generator-function-definitions-runtime-semantics-propertydefinitionevaluation features: [default-parameters, generators] flags: [generated] info: | GeneratorMethod : PropertyName ( StrictFormalParameters ) { GeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this GeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be GeneratorFunctionCreate(Method, StrictFormalParameters, GeneratorBody, scope, strict). [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] 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. [...] --- 3234 -
gen-meth-dflt-params-arg-val-undefined.js --- description: Use of initializer when argument value is `undefined` (generator method) esid: sec-generator-function-definitions-runtime-semantics-propertydefinitionevaluation features: [default-parameters, generators] flags: [generated] info: | GeneratorMethod : PropertyName ( StrictFormalParameters ) { GeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this GeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be GeneratorFunctionCreate(Method, StrictFormalParameters, GeneratorBody, scope, strict). [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] 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. [...] --- 2497 -
gen-meth-dflt-params-duplicates.js --- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (generator method) esid: sec-generator-function-definitions-runtime-semantics-propertydefinitionevaluation features: [default-parameters, generators] flags: [generated] negative: phase: parse type: SyntaxError info: | GeneratorMethod : PropertyName ( StrictFormalParameters ) { GeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this GeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be GeneratorFunctionCreate(Method, StrictFormalParameters, GeneratorBody, scope, strict). [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] 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. --- 2185 -
gen-meth-dflt-params-ref-later.js --- description: Referencing a parameter that occurs later in the ParameterList (generator method) esid: sec-generator-function-definitions-runtime-semantics-propertydefinitionevaluation features: [default-parameters, generators] flags: [generated] info: | GeneratorMethod : PropertyName ( StrictFormalParameters ) { GeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this GeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be GeneratorFunctionCreate(Method, StrictFormalParameters, GeneratorBody, scope, strict). [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] 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. --- 2334 -
gen-meth-dflt-params-ref-prior.js --- description: Referencing a parameter that occurs earlier in the ParameterList (generator method) esid: sec-generator-function-definitions-runtime-semantics-propertydefinitionevaluation features: [default-parameters, generators] flags: [generated] info: | GeneratorMethod : PropertyName ( StrictFormalParameters ) { GeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this GeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be GeneratorFunctionCreate(Method, StrictFormalParameters, GeneratorBody, scope, strict). [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] 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. --- 2530 -
gen-meth-dflt-params-ref-self.js --- description: Referencing a parameter from within its own initializer (generator method) esid: sec-generator-function-definitions-runtime-semantics-propertydefinitionevaluation features: [default-parameters, generators] flags: [generated] info: | GeneratorMethod : PropertyName ( StrictFormalParameters ) { GeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this GeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be GeneratorFunctionCreate(Method, StrictFormalParameters, GeneratorBody, scope, strict). [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] 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. --- 2323 -
gen-meth-dflt-params-rest.js --- description: RestParameter does not support an initializer (generator method) esid: sec-generator-function-definitions-runtime-semantics-propertydefinitionevaluation features: [default-parameters, generators] flags: [generated] negative: phase: parse type: SyntaxError info: | GeneratorMethod : PropertyName ( StrictFormalParameters ) { GeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this GeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be GeneratorFunctionCreate(Method, StrictFormalParameters, GeneratorBody, scope, strict). [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] 14.1 Function Definitions Syntax FunctionRestParameter[Yield] : BindingRestElement[?Yield] 13.3.3 Destructuring Binding Patterns Syntax BindingRestElement[Yield] : ...BindingIdentifier[?Yield] ...BindingPattern[?Yield] --- 2004 -
gen-meth-dflt-params-trailing-comma.js --- description: A trailing comma should not increase the respective length, using default parameters (generator method) esid: sec-generator-function-definitions-runtime-semantics-propertydefinitionevaluation features: [generators] flags: [generated] info: | GeneratorMethod : PropertyName ( StrictFormalParameters ) { GeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this GeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be GeneratorFunctionCreate(Method, StrictFormalParameters, GeneratorBody, scope, strict). [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] Trailing comma in the parameters list 14.1 Function Definitions FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , --- 2196 -
gen-meth-eval-var-scope-syntax-err.js --- description: sloppy direct eval in params introduces var (generator method in sloppy code) esid: sec-generator-function-definitions-runtime-semantics-propertydefinitionevaluation features: [default-parameters, generators] flags: [generated, noStrict] info: | GeneratorMethod : PropertyName ( StrictFormalParameters ) { GeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this GeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be GeneratorFunctionCreate(Method, StrictFormalParameters, GeneratorBody, scope, strict). [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] Runtime Semantics: IteratorBindingInitialization FormalParameter : BindingElement 1. Return the result of performing IteratorBindingInitialization for BindingElement with arguments iteratorRecord and environment. --- 2138 -
gen-meth-object-destructuring-param-strict-body.js 5601 -
gen-meth-params-trailing-comma-multiple.js --- description: A trailing comma should not increase the respective length, using multiple parameters (generator method) esid: sec-generator-function-definitions-runtime-semantics-propertydefinitionevaluation features: [generators] flags: [generated] info: | GeneratorMethod : PropertyName ( StrictFormalParameters ) { GeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this GeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be GeneratorFunctionCreate(Method, StrictFormalParameters, GeneratorBody, scope, strict). [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] Trailing comma in the parameters list 14.1 Function Definitions FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , --- 2189 -
gen-meth-params-trailing-comma-single.js --- description: A trailing comma should not increase the respective length, using a single parameter (generator method) esid: sec-generator-function-definitions-runtime-semantics-propertydefinitionevaluation features: [generators] flags: [generated] info: | GeneratorMethod : PropertyName ( StrictFormalParameters ) { GeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this GeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be GeneratorFunctionCreate(Method, StrictFormalParameters, GeneratorBody, scope, strict). [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] Trailing comma in the parameters list 14.1 Function Definitions FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , --- 2151 -
gen-meth-rest-param-strict-body.js 5607 -
gen-meth-rest-params-trailing-comma-early-error.js --- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (generator method) esid: sec-generator-function-definitions-runtime-semantics-propertydefinitionevaluation features: [generators] flags: [generated] negative: phase: parse type: SyntaxError info: | GeneratorMethod : PropertyName ( StrictFormalParameters ) { GeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this GeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be GeneratorFunctionCreate(Method, StrictFormalParameters, GeneratorBody, scope, strict). [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] 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] --- 2113 -
gen-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. (Generator method) esid: prod-GeneratorMethod features: [generators] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.4 Generator Function Definitions GeneratorMethod[Yield, Await]: PropertyName[?Yield, ?Await] ( UniqueFormalParameters[+Yield, ~Await] ) { GeneratorBody } BindingIdentifier : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 878 -
gen-yield-as-binding-identifier.js --- description: yield is a reserved keyword within generator function bodies and may not be used as a binding identifier. (Generator method) esid: prod-GeneratorMethod features: [generators] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.4 Generator Function Definitions GeneratorMethod[Yield, Await]: PropertyName[?Yield, ?Await] ( UniqueFormalParameters[+Yield, ~Await] ) { GeneratorBody } BindingIdentifier : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 865 -
gen-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. (Generator method) esid: prod-GeneratorMethod features: [generators] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.4 Generator Function Definitions GeneratorMethod[Yield, Await]: PropertyName[?Yield, ?Await] ( UniqueFormalParameters[+Yield, ~Await] ) { GeneratorBody } IdentifierReference : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 886 -
gen-yield-as-identifier-reference.js --- description: yield is a reserved keyword within generator function bodies and may not be used as an identifier reference. (Generator method) esid: prod-GeneratorMethod features: [generators] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.4 Generator Function Definitions GeneratorMethod[Yield, Await]: PropertyName[?Yield, ?Await] ( UniqueFormalParameters[+Yield, ~Await] ) { GeneratorBody } IdentifierReference : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 873 -
gen-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. (Generator method) esid: prod-GeneratorMethod features: [generators] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.4 Generator Function Definitions GeneratorMethod[Yield, Await]: PropertyName[?Yield, ?Await] ( UniqueFormalParameters[+Yield, ~Await] ) { GeneratorBody } LabelIdentifier : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 870 -
gen-yield-as-label-identifier.js --- description: yield is a reserved keyword within generator function bodies and may not be used as a label identifier. (Generator method) esid: prod-GeneratorMethod features: [generators] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.4 Generator Function Definitions GeneratorMethod[Yield, Await]: PropertyName[?Yield, ?Await] ( UniqueFormalParameters[+Yield, ~Await] ) { GeneratorBody } LabelIdentifier : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 857 -
gen-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 (Generator method - valid for non-strict only cases) esid: prod-GeneratorMethod features: [generators] flags: [generated, noStrict] info: | 14.4 Generator Function Definitions GeneratorMethod[Yield, Await]: PropertyName ( UniqueFormalParameters ) { GeneratorBody } --- 1023 -
gen-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 (Generator method - valid for non-strict only cases) esid: prod-GeneratorMethod features: [Symbol, object-spread, generators] flags: [generated, noStrict] info: | 14.4 Generator Function Definitions GeneratorMethod[Yield, Await]: PropertyName ( UniqueFormalParameters ) { GeneratorBody } Spread Properties PropertyDefinition[Yield]: (...) ...AssignmentExpression[In, ?Yield] --- 1635 -
gen-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. (Generator method) esid: prod-GeneratorMethod features: [object-spread, generators] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | 14.4 Generator Function Definitions GeneratorMethod[Yield, Await]: PropertyName[?Yield, ?Await] ( UniqueFormalParameters[+Yield, ~Await] ) { GeneratorBody } Spread Properties PropertyDefinition[Yield]: (...) ...AssignmentExpression[In, ?Yield] --- 1082 -
gen-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. (Generator method) esid: prod-GeneratorMethod features: [generators] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | 14.4 Generator Function Definitions GeneratorMethod[Yield, Await]: PropertyName[?Yield, ?Await] ( UniqueFormalParameters[+Yield, ~Await] ) { GeneratorBody } --- 910 -
gen-yield-spread-arr-multiple.js --- description: Use yield value in a array spread position (Generator method) esid: prod-GeneratorMethod features: [generators] flags: [generated] includes: [compareArray.js] info: | 14.4 Generator Function Definitions GeneratorMethod[Yield, Await]: PropertyName[?Yield, ?Await] ( UniqueFormalParameters[+Yield, ~Await] ) { GeneratorBody } Array Initializer SpreadElement[Yield, Await]: ...AssignmentExpression[+In, ?Yield, ?Await] --- 1022 -
gen-yield-spread-arr-single.js --- description: Use yield value in a array spread position (Generator method) esid: prod-GeneratorMethod features: [generators] flags: [generated] info: | 14.4 Generator Function Definitions GeneratorMethod[Yield, Await]: PropertyName[?Yield, ?Await] ( UniqueFormalParameters[+Yield, ~Await] ) { GeneratorBody } Array Initializer SpreadElement[Yield, Await]: ...AssignmentExpression[+In, ?Yield, ?Await] --- 1178 -
gen-yield-spread-obj.js --- description: Use yield value in a object spread position (Generator method) esid: prod-GeneratorMethod features: [object-spread, generators] flags: [generated] info: | 14.4 Generator Function Definitions GeneratorMethod[Yield, Await]: PropertyName[?Yield, ?Await] ( UniqueFormalParameters[+Yield, ~Await] ) { GeneratorBody } Spread Properties PropertyDefinition[Yield]: (...) ...AssignmentExpression[In, ?Yield] --- 1111 -
generator-invoke-ctor.js --- description: > Generator functions declared as methods cannot be used as constructors. es6id: 14.4.13 features: [generators] --- 415 -
generator-invoke-fn-no-strict.js --- description: > In the absence of the "use strict" directive, generator functions declared as methods obey "global" ThisMode semantics. es6id: 14.4.13 flags: [noStrict] features: [generators] --- 562 -
generator-invoke-fn-strict.js --- description: > In the presence of the "use strict" directive, generator functions declared as methods obey "strict" ThisMode semantics. es6id: 14.4.13 flags: [noStrict] features: [generators] --- 538 -
generator-length-dflt.js --- es6id: 14.1.6 description: > Default parameters' effect on function length info: | Function length is counted by the non initialized parameters in the left. 9.2.4 FunctionInitialize (F, kind, ParameterList, Body, Scope) [...] 2. Let len be the ExpectedArgumentCount of ParameterList. 3. Perform ! DefinePropertyOrThrow(F, "length", PropertyDescriptor{[[Value]]: len, [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true}). [...] FormalsList : FormalParameter 1. If HasInitializer of FormalParameter is true return 0 2. Return 1. FormalsList : FormalsList , FormalParameter 1. Let count be the ExpectedArgumentCount of FormalsList. 2. If HasInitializer of FormalsList is true or HasInitializer of FormalParameter is true, return count. 3. Return count+1. features: [generators, default-parameters] includes: [propertyHelper.js] --- 1643 -
generator-length.js --- description: > Generator functions declared as methods have a `length` property that describes the number of formal parameters. es6id: 14.4.13 includes: [propertyHelper.js] features: [generators] --- 537 -
generator-name-prop-string.js --- description: > Generator functions declared as methods are assigned a `name` property according to the string value of their property name. es6id: 14.4.13 includes: [propertyHelper.js] features: [generators] --- 547 -
generator-name-prop-symbol.js --- description: > Generator functions declared as methods are assigned a `name` property according to the string value of their property name. es6id: 14.4.13 includes: [propertyHelper.js] features: [Symbol, generators] --- 576 -
generator-no-yield.js --- description: > Generators declared with GeneratorMethod syntax do not require a `yield` expression. features: [generators] es6id: 14.4 --- 467 -
generator-param-id-yield.js --- description: > The BindingIdentifier of a SingleNameBinding witihn the FormalParameters of a GeneratorMethod may not be the `yield` keyword. es6id: 14.4 features: [generators] flags: [noStrict] negative: phase: parse type: SyntaxError --- 476 -
generator-param-init-yield.js --- description: > The Initializer of a SingleNameBinding witihn the FormalParameters of a GeneratorMethod may not contain the `yield` keyword. es6id: 14.4 features: [generators] flags: [noStrict] negative: phase: parse type: SyntaxError --- 504 -
generator-param-redecl-const.js --- info: | GeneratorMethod early SyntaxError when lexical declaration inside generator shadows parameter name features: [generators] es6id: 14.4.1 author: Sam Mikes description: GeneratorMethod error with lexical shadowing negative: phase: parse type: SyntaxError --- 475 -
generator-param-redecl-let.js --- info: | GeneratorMethod early SyntaxError when lexical declaration inside generator shadows parameter name features: [generators] es6id: 14.4.1 author: Sam Mikes description: GeneratorMethod error with lexical shadowing negative: phase: parse type: SyntaxError --- 473 -
generator-params.js --- description: > Generator functions declared as methods honor their declared formal parameters. es6id: 14.4.13 features: [generators] --- 611 -
generator-prop-name-eval-error.js --- description: > Errors thrown during method definition are forwarded to the runtime. es6id: 14.4.13 features: [generators] --- 413 -
generator-prop-name-yield-expr.js --- description: > When the `yield` keyword occurs within the PropertyName of a GeneratorMethod within a generator function, it behaves as a YieldExpression. es6id: 14.4 features: [generators] flags: [noStrict] --- 874 -
generator-prop-name-yield-id.js --- description: > When the `yield` keyword occurs within the PropertyName of a GeneratorMethod outside of a generator function, it behaves as an Identifier. es6id: 14.4 features: [generators] flags: [noStrict] --- 574 -
generator-property-desc.js --- description: > Generator functions declared as methods are defined as enumerable, writable, configurable properties on the initialized object. es6id: 14.4.13 includes: [propertyHelper.js] features: [generators] --- 518 -
generator-prototype-prop.js --- description: > Generator functions declared as methods define a `prototype` property. es6id: 14.4.13 includes: [propertyHelper.js] features: [generators] --- 636 -
generator-prototype.js --- description: > The prototype of generator functions declared as methods is the Generator Prototype. es6id: 14.4.13 features: [generators] --- 446 -
generator-return.js --- description: > `return` is a valid statement within generator function bodies. features: [generators] es6id: 14.4 --- 568 -
generator-super-call-body.js --- info: | GeneratorMethod early SyntaxError when super is called directly inside generator body features: [generators] es6id: 14.4.1 author: Sam Mikes description: GeneratorMethod error if HasDirectSuper in body negative: phase: parse type: SyntaxError --- 461 -
generator-super-call-param.js --- info: | GeneratorMethod early SyntaxError when super is called directly inside generator args features: [generators] es6id: 14.4.1 author: Sam Mikes description: GeneratorMethod error if HasDirectSuper in args negative: phase: parse type: SyntaxError --- 454 -
generator-super-prop-body.js --- info: | GeneratorMethod can reference SuperProperty in body features: [generators] es6id: 14.4.1 author: Sam Mikes description: GeneratorMethod body uses SuperProperty (allowed) --- 462 -
generator-super-prop-param.js --- info: | GeneratorMethod can reference SuperProperty in default parameters es6id: 14.4.1 author: Sam Mikes description: GeneratorMethod uses SuperProperty (allowed) features: [default-parameters, generators, super] --- 493 -
generator-use-strict-with-non-simple-param.js --- esid: sec-generator-function-definitions-static-semantics-early-errors description: > A SyntaxError is thrown if a generator method contains a non-simple parameter list and a UseStrict directive. info: | Static Semantics: Early Errors It is a Syntax Error if ContainsUseStrict of GeneratorBody is true and IsSimpleParameterList of StrictFormalParameters is false. negative: phase: parse type: SyntaxError features: [generators] --- 682 -
meth-array-destructuring-param-strict-body.js 5357 -
meth-dflt-params-abrupt.js --- description: Abrupt completion returned by evaluation of initializer (method) esid: sec-runtime-semantics-definemethod features: [default-parameters] flags: [generated] info: | MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody } [...] 6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody, scope, strict). If functionPrototype was passed as a parameter then pass its value as the functionPrototype optional argument of FunctionCreate. [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] 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. --- 2100 -
meth-dflt-params-arg-val-not-undefined.js --- description: Use of initializer when argument value is not `undefined` (method) esid: sec-runtime-semantics-definemethod features: [default-parameters] flags: [generated] info: | MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody } [...] 6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody, scope, strict). If functionPrototype was passed as a parameter then pass its value as the functionPrototype optional argument of FunctionCreate. [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] 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. [...] --- 2976 -
meth-dflt-params-arg-val-undefined.js --- description: Use of initializer when argument value is `undefined` (method) esid: sec-runtime-semantics-definemethod features: [default-parameters] flags: [generated] info: | MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody } [...] 6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody, scope, strict). If functionPrototype was passed as a parameter then pass its value as the functionPrototype optional argument of FunctionCreate. [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] 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. [...] --- 2239 -
meth-dflt-params-duplicates.js --- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (method) esid: sec-runtime-semantics-definemethod features: [default-parameters] flags: [generated] negative: phase: parse type: SyntaxError info: | MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody } [...] 6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody, scope, strict). If functionPrototype was passed as a parameter then pass its value as the functionPrototype optional argument of FunctionCreate. [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] 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. --- 1944 -
meth-dflt-params-ref-later.js --- description: Referencing a parameter that occurs later in the ParameterList (method) esid: sec-runtime-semantics-definemethod features: [default-parameters] flags: [generated] info: | MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody } [...] 6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody, scope, strict). If functionPrototype was passed as a parameter then pass its value as the functionPrototype optional argument of FunctionCreate. [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] 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. --- 2083 -
meth-dflt-params-ref-prior.js --- description: Referencing a parameter that occurs earlier in the ParameterList (method) esid: sec-runtime-semantics-definemethod features: [default-parameters] flags: [generated] info: | MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody } [...] 6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody, scope, strict). If functionPrototype was passed as a parameter then pass its value as the functionPrototype optional argument of FunctionCreate. [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] 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. --- 2272 -
meth-dflt-params-ref-self.js --- description: Referencing a parameter from within its own initializer (method) esid: sec-runtime-semantics-definemethod features: [default-parameters] flags: [generated] info: | MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody } [...] 6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody, scope, strict). If functionPrototype was passed as a parameter then pass its value as the functionPrototype optional argument of FunctionCreate. [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] 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. --- 2072 -
meth-dflt-params-rest.js --- description: RestParameter does not support an initializer (method) esid: sec-runtime-semantics-definemethod features: [default-parameters] flags: [generated] negative: phase: parse type: SyntaxError info: | MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody } [...] 6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody, scope, strict). If functionPrototype was passed as a parameter then pass its value as the functionPrototype optional argument of FunctionCreate. [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] 14.1 Function Definitions Syntax FunctionRestParameter[Yield] : BindingRestElement[?Yield] 13.3.3 Destructuring Binding Patterns Syntax BindingRestElement[Yield] : ...BindingIdentifier[?Yield] ...BindingPattern[?Yield] --- 1763 -
meth-dflt-params-trailing-comma.js --- description: A trailing comma should not increase the respective length, using default parameters (method) esid: sec-runtime-semantics-definemethod flags: [generated] info: | MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody } [...] 6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody, scope, strict). If functionPrototype was passed as a parameter then pass its value as the functionPrototype optional argument of FunctionCreate. [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] Trailing comma in the parameters list 14.1 Function Definitions FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , --- 1927 -
meth-eval-var-scope-syntax-err.js --- description: sloppy direct eval in params introduces var (method in sloppy code) esid: sec-runtime-semantics-definemethod features: [default-parameters] flags: [generated, noStrict] info: | MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody } [...] 6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody, scope, strict). If functionPrototype was passed as a parameter then pass its value as the functionPrototype optional argument of FunctionCreate. [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] Runtime Semantics: IteratorBindingInitialization FormalParameter : BindingElement 1. Return the result of performing IteratorBindingInitialization for BindingElement with arguments iteratorRecord and environment. --- 1887 -
meth-object-destructuring-param-strict-body.js 5360 -
meth-params-trailing-comma-multiple.js --- description: A trailing comma should not increase the respective length, using multiple parameters (method) esid: sec-runtime-semantics-definemethod flags: [generated] info: | MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody } [...] 6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody, scope, strict). If functionPrototype was passed as a parameter then pass its value as the functionPrototype optional argument of FunctionCreate. [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] Trailing comma in the parameters list 14.1 Function Definitions FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , --- 1920 -
meth-params-trailing-comma-single.js --- description: A trailing comma should not increase the respective length, using a single parameter (method) esid: sec-runtime-semantics-definemethod flags: [generated] info: | MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody } [...] 6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody, scope, strict). If functionPrototype was passed as a parameter then pass its value as the functionPrototype optional argument of FunctionCreate. [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] Trailing comma in the parameters list 14.1 Function Definitions FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , --- 1882 -
meth-rest-param-strict-body.js 5366 -
meth-rest-params-trailing-comma-early-error.js --- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (method) esid: sec-runtime-semantics-definemethod flags: [generated] negative: phase: parse type: SyntaxError info: | MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody } [...] 6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody, scope, strict). If functionPrototype was passed as a parameter then pass its value as the functionPrototype optional argument of FunctionCreate. [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] 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] --- 1861 -
name-invoke-ctor.js --- description: > Functions declared as methods may not be used as constructors. es6id: 14.3.8 --- 359 -
name-invoke-fn-no-strict.js --- description: > In the absence of the "use strict" directive, functions declared as methods obey "global" ThisMode semantics. es6id: 14.3.8 flags: [noStrict] --- 520 -
name-invoke-fn-strict.js --- description: > In the presence of the "use strict" directive, functions declared as methods obey "strict" ThisMode semantics. es6id: 14.3.8 flags: [noStrict] --- 496 -
name-length-dflt.js --- es6id: 14.1.6 description: > Default parameters' effect on function length info: | Function length is counted by the non initialized parameters in the left. 9.2.4 FunctionInitialize (F, kind, ParameterList, Body, Scope) [...] 2. Let len be the ExpectedArgumentCount of ParameterList. 3. Perform ! DefinePropertyOrThrow(F, "length", PropertyDescriptor{[[Value]]: len, [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true}). [...] FormalsList : FormalParameter 1. If HasInitializer of FormalParameter is true return 0 2. Return 1. FormalsList : FormalsList , FormalParameter 1. Let count be the ExpectedArgumentCount of FormalsList. 2. If HasInitializer of FormalsList is true or HasInitializer of FormalParameter is true, return count. 3. Return count+1. features: [default-parameters] includes: [propertyHelper.js] --- 1627 -
name-length.js --- description: > Functions declared as methods have a `length` property that describes the number of formal parameters. es6id: 14.3.8 includes: [propertyHelper.js] --- 502 -
name-name-prop-string.js --- description: > Functions declared as methods are assigned a `name` property according to the string value of their property name. es6id: 14.3.8 includes: [propertyHelper.js] --- 512 -
name-name-prop-symbol.js --- description: > Functions declared as methods are assigned a `name` property according to the string value of their property name. es6id: 14.3.8 includes: [propertyHelper.js] features: [Symbol] --- 552 -
name-param-id-yield.js --- description: > The BindingIdentifier of a SingleNameBinding witihn the FormalParameters of a non-generator MethodDefinition may be the `yield` keyword. es6id: 14.3 flags: [noStrict] --- 465 -
name-param-init-yield.js --- description: > When the `yield` keyword occurs within the Initializer of a SingleNameBinding within the FormalParameters of a non-generator MethodDefinition, it behaves as an Identifier. es6id: 14.3 flags: [noStrict] --- 526 -
name-param-redecl.js --- description: > It is a Syntax Error if any element of the BoundNames of StrictFormalParameters also occurs in the LexicallyDeclaredNames of FunctionBody. es6id: 14.3.1 negative: phase: parse type: SyntaxError --- 479 -
name-params.js --- description: > Functions declared as methods honor their declared formal parameters. es6id: 14.3.8 --- 565 -
name-prop-name-eval-error.js --- description: > Errors thrown during method definition are forwarded to the runtime. es6id: 14.3.8 --- 388 -
name-prop-name-yield-expr.js --- description: > When the `yield` keyword occurs within the PropertyName of a non-generator MethodDefinition within a generator function, it behaves as a YieldExpression. es6id: 14.3 features: [generators] flags: [noStrict] --- 888 -
name-prop-name-yield-id.js --- description: > When the `yield` keyword occurs within the PropertyName of a non-generator MethodDefinition outside of a generator function, it behaves as an Identifier. es6id: 14.3 flags: [noStrict] --- 565 -
name-property-desc.js --- description: > Functions declared as methods are defined as enumerable, writable, configurable properties on the initialized object. es6id: 14.3.8 includes: [propertyHelper.js] --- 483 -
name-prototype-prop.js --- description: > Functions declared as methods do not define a `prototype` property. es6id: 14.3.9 --- 457 -
name-prototype.js --- description: > The prototype of functions declared as methods is the Function prototype. es6id: 14.3.8 --- 381 -
name-super-call-body.js --- description: > It is a Syntax Error if HasDirectSuper of MethodDefinition is true. esid: sec-object-initializer-static-semantics-early-errors negative: phase: parse type: SyntaxError --- 430 -
name-super-call-param.js --- description: > It is a Syntax Error if HasDirectSuper of MethodDefinition is true. esid: sec-object-initializer-static-semantics-early-errors negative: phase: parse type: SyntaxError --- 429 -
name-super-prop-body.js --- description: > The HomeObject of Functions declared as methods is the Object prototype. es6id: 14.3.8 features: [super] --- 439 -
name-super-prop-param.js --- description: > The HomeObject of Functions declared as methods is the Object prototype. es6id: 14.3.8 features: [super] --- 444 -
object-method-returns-promise.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > Async function method definitions return promises features: [async-functions] --- 453 -
params-dflt-gen-meth-args-unmapped.js --- description: Referencing the arguments object from a default parameter (generator method) esid: sec-generator-function-definitions-runtime-semantics-propertydefinitionevaluation es6id: 14.4.13 features: [generators, default-parameters] info: | GeneratorMethod : PropertyName ( StrictFormalParameters ) { GeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this GeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be GeneratorFunctionCreate(Method, StrictFormalParameters, GeneratorBody, scope, strict). [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] 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. --- 2898 -
params-dflt-gen-meth-ref-arguments.js --- description: Referencing the arguments object from a default parameter (generator method) esid: sec-generator-function-definitions-runtime-semantics-propertydefinitionevaluation es6id: 14.4.13 features: [generators, default-parameters] info: | GeneratorMethod : PropertyName ( StrictFormalParameters ) { GeneratorBody } 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this GeneratorMethod is strict mode code, let strict be true. Otherwise let strict be false. 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be GeneratorFunctionCreate(Method, StrictFormalParameters, GeneratorBody, scope, strict). [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] 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. --- 2468 -
params-dflt-meth-args-unmapped.js --- description: Referencing the arguments object from a default parameter (method) esid: sec-runtime-semantics-definemethod es6id: 14.3.8 features: [default-parameters] info: | MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody } [...] 6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody, scope, strict). If functionPrototype was passed as a parameter then pass its value as the functionPrototype optional argument of FunctionCreate. [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] 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. --- 2645 -
params-dflt-meth-ref-arguments.js --- description: Referencing the arguments object from a default parameter (method) esid: sec-runtime-semantics-definemethod es6id: 14.3.8 features: [default-parameters] info: | MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody } [...] 6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody, scope, strict). If functionPrototype was passed as a parameter then pass its value as the functionPrototype optional argument of FunctionCreate. [...] 9.2.1 [[Call]] ( thisArgument, argumentsList) [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, b. Let formalStatus be IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] 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. --- 2214 -
private-name-early-error-async-fn-inside-class.js --- esid: sec-method-definitions-static-semantics-early-errors description: > Throws an early SyntaxError if a method definition has a private name even inside a class body (async method). info: | Static Semantics: Early Errors PropertyDefinition : MethodDefinition It is a Syntax Error if PrivateBoundNames of MethodDefinition is non-empty. negative: phase: parse type: SyntaxError features: [class-methods-private, async-functions, class, class-fields-public] --- 711 -
private-name-early-error-async-fn.js --- esid: sec-method-definitions-static-semantics-early-errors description: > Throws an early SyntaxError if a method definition has a private name (async method). info: | Static Semantics: Early Errors PropertyDefinition : MethodDefinition It is a Syntax Error if PrivateBoundNames of MethodDefinition is non-empty. negative: phase: parse type: SyntaxError features: [class-methods-private, async-functions] --- 641 -
private-name-early-error-async-gen-inside-class.js --- esid: sec-method-definitions-static-semantics-early-errors description: > Throws an early SyntaxError if a method definition has a private name even inside a class body. (async generator) info: | Static Semantics: Early Errors PropertyDefinition : MethodDefinition It is a Syntax Error if PrivateBoundNames of MethodDefinition is non-empty. negative: phase: parse type: SyntaxError features: [class-methods-private, async-iteration, class, class-fields-public] --- 716 -
private-name-early-error-async-gen.js --- esid: sec-method-definitions-static-semantics-early-errors description: > Throws an early SyntaxError if a method definition has a private name. (async generator) info: | Static Semantics: Early Errors PropertyDefinition : MethodDefinition It is a Syntax Error if PrivateBoundNames of MethodDefinition is non-empty. negative: phase: parse type: SyntaxError features: [class-methods-private, async-iteration] --- 646 -
private-name-early-error-gen-inside-class.js --- esid: sec-method-definitions-static-semantics-early-errors description: > Throws an early SyntaxError if a method definition has a private name even inside a class body. (generator) info: | Static Semantics: Early Errors PropertyDefinition : MethodDefinition It is a Syntax Error if PrivateBoundNames of MethodDefinition is non-empty. negative: phase: parse type: SyntaxError features: [class-methods-private, generators, class, class-fields-public] --- 699 -
private-name-early-error-gen.js --- esid: sec-method-definitions-static-semantics-early-errors description: > Throws an early SyntaxError if a method definition has a private name. (generator) info: | Static Semantics: Early Errors PropertyDefinition : MethodDefinition It is a Syntax Error if PrivateBoundNames of MethodDefinition is non-empty. negative: phase: parse type: SyntaxError features: [class-methods-private, generators] --- 629 -
private-name-early-error-get-method-inside-class.js --- esid: sec-method-definitions-static-semantics-early-errors description: > Throws an early SyntaxError if a method definition has a private name even inside a class body. (getter method) info: | Static Semantics: Early Errors PropertyDefinition : MethodDefinition It is a Syntax Error if PrivateBoundNames of MethodDefinition is non-empty. negative: phase: parse type: SyntaxError features: [class-methods-private, class, class-fields-public] --- 693 -
private-name-early-error-get-method.js --- esid: sec-method-definitions-static-semantics-early-errors description: > Throws an early SyntaxError if a method definition has a private name. (getter method) info: | Static Semantics: Early Errors PropertyDefinition : MethodDefinition It is a Syntax Error if PrivateBoundNames of MethodDefinition is non-empty. negative: phase: parse type: SyntaxError features: [class-methods-private] --- 623 -
private-name-early-error-method-inside-class.js --- esid: sec-method-definitions-static-semantics-early-errors description: > Throws an early SyntaxError if a method definition has a private name even inside a class body. (ordinary method) info: | Static Semantics: Early Errors PropertyDefinition : MethodDefinition It is a Syntax Error if PrivateBoundNames of MethodDefinition is non-empty. negative: phase: parse type: SyntaxError features: [class-methods-private, class, class-fields-public] --- 691 -
private-name-early-error-method.js --- esid: sec-method-definitions-static-semantics-early-errors description: > Throws an early SyntaxError if a method definition has a private name. (ordinary method) info: | Static Semantics: Early Errors PropertyDefinition : MethodDefinition It is a Syntax Error if PrivateBoundNames of MethodDefinition is non-empty. negative: phase: parse type: SyntaxError features: [class-methods-private] --- 621 -
private-name-early-error-set-method-inside-class.js --- esid: sec-method-definitions-static-semantics-early-errors description: > Throws an early SyntaxError if a method definition has a private name even inside a class body. (getter method) info: | Static Semantics: Early Errors PropertyDefinition : MethodDefinition It is a Syntax Error if PrivateBoundNames of MethodDefinition is non-empty. negative: phase: parse type: SyntaxError features: [class-methods-private, class, class-fields-public] --- 694 -
private-name-early-error-set-method.js --- esid: sec-method-definitions-static-semantics-early-errors description: > Throws an early SyntaxError if a method definition has a private name. (getter method) info: | Static Semantics: Early Errors PropertyDefinition : MethodDefinition It is a Syntax Error if PrivateBoundNames of MethodDefinition is non-empty. negative: phase: parse type: SyntaxError features: [class-methods-private] --- 624 -
setter-use-strict-with-non-simple-param.js --- esid: sec-method-definitions-static-semantics-early-errors description: > A SyntaxError is thrown if a setter method contains a non-simple parameter list and a UseStrict directive. info: | Static Semantics: Early Errors It is a Syntax Error if ContainsUseStrict of FunctionBody is true and IsSimpleParameterList of PropertySetParameterList is false. negative: phase: parse type: SyntaxError --- 648 -
shell.js 0 -
static-init-await-binding-accessor.js --- esid: sec-class-definitions-static-semantics-early-errors description: The `await` keyword is interpreted as an identifier within the body of accessor methods info: | ClassStaticBlockBody : ClassStaticBlockStatementList [...] - It is a Syntax Error if ContainsAwait of ClassStaticBlockStatementList is true. features: [class-static-block] --- 578 -
static-init-await-binding-generator.js --- esid: sec-class-definitions-static-semantics-early-errors description: The `await` keyword is interpreted as an identifier within the parameter list of generator methods info: | ClassStaticBlockBody : ClassStaticBlockStatementList [...] - It is a Syntax Error if ContainsAwait of ClassStaticBlockStatementList is true. features: [class-static-block] --- 584 -
static-init-await-binding-normal.js --- esid: sec-class-definitions-static-semantics-early-errors description: The `await` keyword is interpreted as an identifier within the parameter list of methods info: | ClassStaticBlockBody : ClassStaticBlockStatementList [...] - It is a Syntax Error if ContainsAwait of ClassStaticBlockStatementList is true. features: [class-static-block] --- 573 -
static-init-await-reference-accessor.js --- esid: sec-class-definitions-static-semantics-early-errors description: The `await` keyword is interpreted as an identifier within accessor methods info: | ClassStaticBlockBody : ClassStaticBlockStatementList [...] - It is a Syntax Error if ContainsAwait of ClassStaticBlockStatementList is true. features: [class-static-block] --- 784 -
static-init-await-reference-generator.js --- esid: sec-class-definitions-static-semantics-early-errors description: The `await` keyword is interpreted as an identifier within generator methods info: | ClassStaticBlockBody : ClassStaticBlockStatementList [...] - It is a Syntax Error if ContainsAwait of ClassStaticBlockStatementList is true. features: [class-static-block] --- 775 -
static-init-await-reference-normal.js --- esid: sec-class-definitions-static-semantics-early-errors description: The `await` keyword is interpreted as an identifier within methods info: | ClassStaticBlockBody : ClassStaticBlockStatementList [...] - It is a Syntax Error if ContainsAwait of ClassStaticBlockStatementList is true. features: [class-static-block] --- 757 -
use-strict-with-non-simple-param.js --- esid: sec-method-definitions-static-semantics-early-errors description: > A SyntaxError is thrown if a method contains a non-simple parameter list and a UseStrict directive. info: | Static Semantics: Early Errors It is a Syntax Error if ContainsUseStrict of FunctionBody is true and IsSimpleParameterList of StrictFormalParameters is false. negative: phase: parse type: SyntaxError --- 636 -
yield-as-expression-with-rhs.js --- description: > `yield` is a valid expression within generator function bodies. features: [generators] es6id: 14.4 --- 3057 -
yield-as-expression-without-rhs.js --- description: > `yield` is a valid expression within generator function bodies. features: [generators] es6id: 14.4 --- 3117 -
yield-as-function-expression-binding-identifier.js --- description: > `yield` may be used as the binding identifier of a function expression within generator bodies. features: [generators] es6id: 14.1 flags: [noStrict] --- 520 -
yield-as-generator-method-binding-identifier.js --- description: > `yield` is a valid BindingIdentifier for GeneratorMethods features: [generators] es6id: 12.1.1 --- 833 -
yield-as-identifier-in-nested-function.js --- description: > `yield` is not a reserved keyword within normal function bodies declared within generator function bodies. features: [generators] es6id: 12.1.1 flags: [noStrict] --- 547 -
yield-as-literal-property-name.js --- description: > `yield` may be used as a literal property name in an object literal within generator function bodies. features: [generators] es6id: 12.1.1 --- 518 -
yield-as-logical-or-expression.js --- description: > `yield` expressions are not LogicalOrExpressions. features: [generators] es6id: 12.1.1 negative: phase: parse type: SyntaxError --- 408 -
yield-as-parameter.js --- description: > `yield` is a reserved keyword within generator function bodies and may not be used as the binding identifier of a parameter. features: [generators] es6id: 12.1.1 negative: phase: parse type: SyntaxError --- 462 -
yield-as-property-name.js --- description: > `yield` may be used as a literal property name in an object literal within generator function bodies. features: [generators] es6id: 12.1.1 --- 503 -
yield-as-statement.js --- description: > `yield` is a valid statement within generator function bodies. features: [generators] es6id: 14.4 --- 1237 -
yield-as-yield-operand.js --- description: > `yield` expressions may be used as the right-hand-side of other `yield` expressions. features: [generators] es6id: 14.4 --- 859 -
yield-newline.js --- description: > Newlines terminate `yield` expressions. features: [generators] es6id: 14.4 --- 660 -
yield-return.js --- info: | Generator can be declared with GeneratorMethod syntax features: [generators] es6id: 14.4 author: Sam Mikes description: can declare generator methods --- 434 -
yield-star-after-newline.js --- description: > A newline may not precede the `*` token in a `yield` expression. features: [generators] es6id: 14.4 negative: phase: parse type: SyntaxError --- 412 -
yield-star-before-newline.js --- description: > The right-hand side of a `yield *` expression may appear on a new line. features: [generators] es6id: 14.4 --- 492 -
yield-weak-binding.js --- description: > `yield` expressions bind weakly features: [generators] es6id: 14.4 negative: phase: parse type: SyntaxError --- 378 -