Name Description Size
arguments-with-arguments-fn.js --- esid: sec-functiondeclarationinstantiation es6id: 9.2.12 description: > Arguments object is created even when the body contains a lexically-scoped binding named "arguments" info: | [...] 19. Else if "arguments" is an element of parameterNames, then a. Let argumentsObjectNeeded be false. 20. Else if hasParameterExpressions is false, then a. If "arguments" is an element of functionNames or if "arguments" is an element of lexicalNames, then i. Let argumentsObjectNeeded be false. [...] flags: [noStrict] features: [generators] --- 915
arguments-with-arguments-lex.js --- esid: sec-functiondeclarationinstantiation es6id: 9.2.12 description: > Arguments object is created even when the body contains a function named "arguments" info: | [...] 19. Else if "arguments" is an element of parameterNames, then a. Let argumentsObjectNeeded be false. 20. Else if hasParameterExpressions is false, then a. If "arguments" is an element of functionNames or if "arguments" is an element of lexicalNames, then i. Let argumentsObjectNeeded be false. [...] flags: [noStrict] features: [generators] --- 891
array-destructuring-param-strict-body.js 5299
browser.js 0
default-proto.js --- esid: sec-generator-function-definitions-runtime-semantics-evaluatebody es6id: 14.4.11 description: Intrinsic default prototype of GeneratorFunctions info: | 1. Let G be ? OrdinaryCreateFromConstructor(functionObject, "%GeneratorPrototype%", « [[GeneratorState]], [[GeneratorContext]] »). [...] 9.1.13 OrdinaryCreateFromConstructor [...] 2. Let proto be ? GetPrototypeFromConstructor(constructor, intrinsicDefaultProto). 3. Return ObjectCreate(proto, internalSlotsList). 9.1.14 GetPrototypeFromConstructor [...] 3. Let proto be ? Get(constructor, "prototype"). 4. If Type(proto) is not Object, then a. Let realm be ? GetFunctionRealm(constructor). b. Let proto be realm's intrinsic object named intrinsicDefaultProto. [...] features: [generators] --- 1170
dflt-params-abrupt.js --- description: Abrupt completion returned by evaluation of initializer (generator function expression) esid: sec-generator-function-definitions-runtime-semantics-evaluation features: [default-parameters, generators] flags: [generated] info: | GeneratorExpression : function * ( FormalParameters ) { GeneratorBody } [...] 3. Let closure be GeneratorFunctionCreate(Normal, FormalParameters, 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. --- 2044
dflt-params-arg-val-not-undefined.js --- description: Use of initializer when argument value is not `undefined` (generator function expression) esid: sec-generator-function-definitions-runtime-semantics-evaluation features: [default-parameters, generators] flags: [generated] info: | GeneratorExpression : function * ( FormalParameters ) { GeneratorBody } [...] 3. Let closure be GeneratorFunctionCreate(Normal, FormalParameters, 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. [...] --- 2900
dflt-params-arg-val-undefined.js --- description: Use of initializer when argument value is `undefined` (generator function expression) esid: sec-generator-function-definitions-runtime-semantics-evaluation features: [default-parameters, generators] flags: [generated] info: | GeneratorExpression : function * ( FormalParameters ) { GeneratorBody } [...] 3. Let closure be GeneratorFunctionCreate(Normal, FormalParameters, 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. [...] --- 2169
dflt-params-duplicates.js --- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (generator function expression) esid: sec-generator-function-definitions-runtime-semantics-evaluation features: [default-parameters, generators] flags: [generated] negative: phase: parse type: SyntaxError info: | GeneratorExpression : function * ( FormalParameters ) { GeneratorBody } [...] 3. Let closure be GeneratorFunctionCreate(Normal, FormalParameters, 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. --- 1886
dflt-params-ref-later.js --- description: Referencing a parameter that occurs later in the ParameterList (generator function expression) esid: sec-generator-function-definitions-runtime-semantics-evaluation features: [default-parameters, generators] flags: [generated] info: | GeneratorExpression : function * ( FormalParameters ) { GeneratorBody } [...] 3. Let closure be GeneratorFunctionCreate(Normal, FormalParameters, 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. --- 2027
dflt-params-ref-prior.js --- description: Referencing a parameter that occurs earlier in the ParameterList (generator function expression) esid: sec-generator-function-definitions-runtime-semantics-evaluation features: [default-parameters, generators] flags: [generated] info: | GeneratorExpression : function * ( FormalParameters ) { GeneratorBody } [...] 3. Let closure be GeneratorFunctionCreate(Normal, FormalParameters, 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. --- 2202
dflt-params-ref-self.js --- description: Referencing a parameter from within its own initializer (generator function expression) esid: sec-generator-function-definitions-runtime-semantics-evaluation features: [default-parameters, generators] flags: [generated] info: | GeneratorExpression : function * ( FormalParameters ) { GeneratorBody } [...] 3. Let closure be GeneratorFunctionCreate(Normal, FormalParameters, 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. --- 2016
dflt-params-rest.js --- description: RestParameter does not support an initializer (generator function expression) esid: sec-generator-function-definitions-runtime-semantics-evaluation features: [default-parameters, generators] flags: [generated] negative: phase: parse type: SyntaxError info: | GeneratorExpression : function * ( FormalParameters ) { GeneratorBody } [...] 3. Let closure be GeneratorFunctionCreate(Normal, FormalParameters, 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] --- 1705
dflt-params-trailing-comma.js --- description: A trailing comma should not increase the respective length, using default parameters (generator function expression) esid: sec-generator-function-definitions-runtime-semantics-evaluation features: [generators] flags: [generated] info: | GeneratorExpression : function * ( FormalParameters ) { GeneratorBody } [...] 3. Let closure be GeneratorFunctionCreate(Normal, FormalParameters, 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] , --- 1870
dstr
eval-body-proto-realm.js --- esid: sec-generator-function-definitions-runtime-semantics-evaluatebody es6id: 14.4.11 description: > Default [[Prototype]] value derived from realm of the generator function info: | 1. Let G be ? OrdinaryCreateFromConstructor(functionObject, "%GeneratorPrototype%", « [[GeneratorState]], [[GeneratorContext]] »). [...] 9.1.14 GetPrototypeFromConstructor [...] 3. Let proto be ? Get(constructor, "prototype"). 4. If Type(proto) is not Object, then a. Let realm be ? GetFunctionRealm(constructor). b. Let proto be realm's intrinsic object named intrinsicDefaultProto. [...] features: [generators, cross-realm] --- 1105
eval-var-scope-syntax-err.js --- description: sloppy direct eval in params introduces var (generator function expression in sloppy code) esid: sec-generator-function-definitions-runtime-semantics-evaluation features: [default-parameters, generators] flags: [generated, noStrict] info: | GeneratorExpression : function * ( FormalParameters ) { GeneratorBody } [...] 3. Let closure be GeneratorFunctionCreate(Normal, FormalParameters, 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. --- 1831
forbidden-ext
generator-created-after-decl-inst.js --- esid: sec-generator-function-definitions-runtime-semantics-evaluatebody description: > The generator object is created after FunctionDeclarationInstantiation. info: | 14.4.10 Runtime Semantics: EvaluateBody 1. Perform ? FunctionDeclarationInstantiation(functionObject, argumentsList). 2. Let G be ? OrdinaryCreateFromConstructor(functionObject, "%GeneratorPrototype%", « [[GeneratorState]], [[GeneratorContext]] »). 3. Perform GeneratorStart(G, FunctionBody). ... features: [generators] --- 844
has-instance.js --- description: > A Generator object is an instance of a generator function. es6id: 25.3 features: [generators] --- 382
implicit-name.js --- info: | Generator can be declared with GeneratorExpression syntax es6id: 14.4 author: Sam Mikes description: can create generator function expressions (no name) features: [generators] --- 482
invoke-as-constructor.js --- description: > Generator expressions cannot be used as constructors. es6id: 14.4 features: [generators] --- 366
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] --- 1651
length-property-descriptor.js --- description: > Generator objects should define a `length` property. includes: [propertyHelper.js] es6id: 25.2.4 features: [generators] --- 446
name.js --- esid: sec-generator-function-definitions-runtime-semantics-evaluation description: Assignment of function `name` attribute info: | GeneratorExpression : function * ( FormalParameters ) { GeneratorBody } 1. Let scope be the LexicalEnvironment of the running execution context. 2. Let closure be GeneratorFunctionCreate(Normal, FormalParameters, GeneratorBody, scope, ""). ... 6. Return closure. GeneratorExpression : function * BindingIdentifier ( FormalParameters ) { GeneratorBody } 1. Let scope be the running execution context's LexicalEnvironment. 2. Let funcEnv be NewDeclarativeEnvironment(scope). 3. Let envRec be funcEnv's EnvironmentRecord. 4. Let name be StringValue of BindingIdentifier. 5. Perform envRec.CreateImmutableBinding(name, false). 6. Let closure be GeneratorFunctionCreate(Normal, FormalParameters, GeneratorBody, funcEnv, name). ... 11. Return closure. includes: [propertyHelper.js] features: [generators] --- 1413
named-no-strict-reassign-fn-name-in-body-in-arrow.js --- description: Reassignment of function name is silently ignored in non-strict mode code. (named generator function expression in non-strict mode code) esid: sec-generator-function-definitions-runtime-semantics-evaluation features: [generators] flags: [generated, noStrict] info: | GeneratorExpression : function * BindingIdentifier ( FormalParameters ) { GeneratorBody } --- 916
named-no-strict-reassign-fn-name-in-body-in-eval.js --- description: Reassignment of function name is silently ignored in non-strict mode code. (named generator function expression in non-strict mode code) esid: sec-generator-function-definitions-runtime-semantics-evaluation features: [generators] flags: [generated, noStrict] info: | GeneratorExpression : function * BindingIdentifier ( FormalParameters ) { GeneratorBody } --- 902
named-no-strict-reassign-fn-name-in-body.js --- description: Reassignment of function name is silently ignored in non-strict mode code. (named generator function expression in non-strict mode code) esid: sec-generator-function-definitions-runtime-semantics-evaluation features: [generators] flags: [generated, noStrict] info: | GeneratorExpression : function * BindingIdentifier ( FormalParameters ) { GeneratorBody } --- 886
named-strict-error-reassign-fn-name-in-body-in-arrow-strict.js --- description: Reassignment of function name is silently ignored in non-strict mode code. (named generator function expression in strict mode code) esid: sec-generator-function-definitions-runtime-semantics-evaluation features: [generators] flags: [generated, onlyStrict] info: | GeneratorExpression : function * BindingIdentifier ( FormalParameters ) { GeneratorBody } --- 941
named-strict-error-reassign-fn-name-in-body-in-eval-strict.js --- description: Reassignment of function name is silently ignored in non-strict mode code. (named generator function expression in strict mode code) esid: sec-generator-function-definitions-runtime-semantics-evaluation features: [generators] flags: [generated, onlyStrict] info: | GeneratorExpression : function * BindingIdentifier ( FormalParameters ) { GeneratorBody } --- 927
named-strict-error-reassign-fn-name-in-body-strict.js --- description: Reassignment of function name is silently ignored in non-strict mode code. (named generator function expression in strict mode code) esid: sec-generator-function-definitions-runtime-semantics-evaluation features: [generators] flags: [generated, onlyStrict] info: | GeneratorExpression : function * BindingIdentifier ( FormalParameters ) { GeneratorBody } --- 911
named-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. (Named generator expression) esid: prod-GeneratorExpression features: [generators] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.4 Generator Function Definitions GeneratorExpression: function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody } BindingIdentifier : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 862
named-yield-as-binding-identifier.js --- description: yield is a reserved keyword within generator function bodies and may not be used as a binding identifier. (Named generator expression) esid: prod-GeneratorExpression features: [generators] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.4 Generator Function Definitions GeneratorExpression: function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody } BindingIdentifier : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 849
named-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. (Named generator expression) esid: prod-GeneratorExpression features: [generators] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.4 Generator Function Definitions GeneratorExpression: function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody } IdentifierReference : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 870
named-yield-as-identifier-reference.js --- description: yield is a reserved keyword within generator function bodies and may not be used as an identifier reference. (Named generator expression) esid: prod-GeneratorExpression features: [generators] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.4 Generator Function Definitions GeneratorExpression: function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody } IdentifierReference : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 857
named-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. (Named generator expression) esid: prod-GeneratorExpression features: [generators] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.4 Generator Function Definitions GeneratorExpression: function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody } LabelIdentifier : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 854
named-yield-as-label-identifier.js --- description: yield is a reserved keyword within generator function bodies and may not be used as a label identifier. (Named generator expression) esid: prod-GeneratorExpression features: [generators] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.4 Generator Function Definitions GeneratorExpression: function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody } LabelIdentifier : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 841
named-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 named expression - valid for non-strict only cases) esid: prod-GeneratorExpression features: [generators] flags: [generated, noStrict] info: | 14.4 Generator Function Definitions GeneratorExpression: function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody } --- 1024
named-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 named expression - valid for non-strict only cases) esid: prod-GeneratorExpression features: [Symbol, object-spread, generators] flags: [generated, noStrict] info: | 14.4 Generator Function Definitions GeneratorExpression: function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody } Spread Properties PropertyDefinition[Yield]: (...) ...AssignmentExpression[In, ?Yield] --- 1628
named-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. (Named generator expression) esid: prod-GeneratorExpression features: [object-spread, generators] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | 14.4 Generator Function Definitions GeneratorExpression: function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody } Spread Properties PropertyDefinition[Yield]: (...) ...AssignmentExpression[In, ?Yield] --- 1047
named-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. (Named generator expression) esid: prod-GeneratorExpression features: [generators] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | 14.4 Generator Function Definitions GeneratorExpression: function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody } --- 879
named-yield-spread-arr-multiple.js --- description: Use yield value in a array spread position (Named generator expression) esid: prod-GeneratorExpression features: [generators] flags: [generated] includes: [compareArray.js] info: | 14.4 Generator Function Definitions GeneratorExpression: function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody } Array Initializer SpreadElement[Yield, Await]: ...AssignmentExpression[+In, ?Yield, ?Await] --- 997
named-yield-spread-arr-single.js --- description: Use yield value in a array spread position (Named generator expression) esid: prod-GeneratorExpression features: [generators] flags: [generated] info: | 14.4 Generator Function Definitions GeneratorExpression: function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody } Array Initializer SpreadElement[Yield, Await]: ...AssignmentExpression[+In, ?Yield, ?Await] --- 1153
named-yield-spread-obj.js --- description: Use yield value in a object spread position (Named generator expression) esid: prod-GeneratorExpression features: [object-spread, generators] flags: [generated] info: | 14.4 Generator Function Definitions GeneratorExpression: function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody } Spread Properties PropertyDefinition[Yield]: (...) ...AssignmentExpression[In, ?Yield] --- 1078
no-name.js --- info: | Generator can be declared with GeneratorExpression syntax es6id: 14.4 author: Sam Mikes description: can create generator function expressions (no name) features: [generators] --- 497
no-yield.js --- description: > Generators declared with GeneratorExpression syntax do not require a `yield` expression. es6id: 14.4 features: [generators] --- 466
object-destructuring-param-strict-body.js 5302
param-dflt-yield.js --- esid: sec-generator-function-definitions es6id: 14.4 description: > YieldExpression cannot be used within the FormalParameters of a generator function info: | GeneratorExpression : function * BindingIdentifier[Yield]opt ( FormalParameters[Yield] ) { GeneratorBody } YieldExpression cannot be used within the FormalParameters of a generator function because any expressions that are part of FormalParameters are evaluated before the resulting generator object is in a resumable state. features: [generators, default-parameters] negative: phase: parse type: SyntaxError --- 819
params-dflt-args-unmapped.js --- description: Referencing the arguments object from a default parameter (generator function expression) esid: sec-generator-function-definitions-runtime-semantics-evaluation es6id: 14.4.14 features: [generators, default-parameters] info: | GeneratorExpression : function * ( FormalParameters ) { GeneratorBody } [...] 3. Let closure be GeneratorFunctionCreate(Normal, FormalParameters, 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. --- 2549
params-dflt-ref-arguments.js --- description: Referencing the arguments object from a default parameter (generator function expression) esid: sec-generator-function-definitions-runtime-semantics-evaluation es6id: 14.4.14 features: [generators, default-parameters] info: | GeneratorExpression : function * ( FormalParameters ) { GeneratorBody } [...] 3. Let closure be GeneratorFunctionCreate(Normal, FormalParameters, 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. --- 2152
params-trailing-comma-multiple.js --- description: A trailing comma should not increase the respective length, using multiple parameters (generator function expression) esid: sec-generator-function-definitions-runtime-semantics-evaluation features: [generators] flags: [generated] info: | GeneratorExpression : function * ( FormalParameters ) { GeneratorBody } [...] 3. Let closure be GeneratorFunctionCreate(Normal, FormalParameters, 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] , --- 1863
params-trailing-comma-single.js --- description: A trailing comma should not increase the respective length, using a single parameter (generator function expression) esid: sec-generator-function-definitions-runtime-semantics-evaluation features: [generators] flags: [generated] info: | GeneratorExpression : function * ( FormalParameters ) { GeneratorBody } [...] 3. Let closure be GeneratorFunctionCreate(Normal, FormalParameters, 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] , --- 1827
prototype-own-properties.js --- es6id: 25.2.4.2 description: > The `prototype` property of GeneratorFunction instances are created as plain objects with no "own" properties. features: [generators] --- 463
prototype-property-descriptor.js --- description: > Generator objects should define a `prototype` property. includes: [propertyHelper.js] es6id: 25.2.4 features: [generators] --- 440
prototype-relation-to-function.js --- description: > The value of the [[Prototype]] internal slot of the GeneratorFunction prototype object is the FunctionPrototype intrinsic object. es6id: 25.2.2.2 features: [generators] --- 506
prototype-typeof.js --- es6id: 25.2.4.2 description: > Whenever a GeneratorFunction instance is created another ordinary object is also created and is the initial value of the generator function’s prototype property. features: [generators] --- 464
prototype-uniqueness.js --- description: > GeneratorFunction instances are created with a unique prototype object. es6id: 25.2.1 features: [generators] --- 392
prototype-value.js --- description: > Generator instances directly inherit properties from the object that is the value of the prototype property of the Generator function that created the instance. es6id: 25.3 features: [generators] --- 533
rest-param-strict-body.js 5308
rest-params-trailing-comma-early-error.js --- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (generator function expression) esid: sec-generator-function-definitions-runtime-semantics-evaluation features: [generators] flags: [generated] negative: phase: parse type: SyntaxError info: | GeneratorExpression : function * ( FormalParameters ) { GeneratorBody } [...] 3. Let closure be GeneratorFunctionCreate(Normal, FormalParameters, 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] --- 1814
return.js --- description: > `return` is a valid statement within generator function bodies. es6id: 14.4 features: [generators] --- 572
scope-body-lex-distinct.js --- esid: sec-functiondeclarationinstantiation description: > Creation of new lexical environment (distinct from the variable environment) for the function body outside of strict mode info: | [...] 29. If strict is false, then a. Let lexEnv be NewDeclarativeEnvironment(varEnv). b. NOTE: Non-strict functions use a separate lexical Environment Record for top-level lexical declarations so that a direct eval can determine whether any var scoped declarations introduced by the eval code conflict with pre-existing top-level lexically scoped declarations. This is not needed for strict functions because a strict direct eval always places all declarations into a new Environment Record. [...] 18.2.1.3 Runtime Semantics: EvalDeclarationInstantiation [...] 5. If strict is false, then [...] b. Let thisLex be lexEnv. c. Assert: The following loop will terminate. d. Repeat while thisLex is not the same as varEnv, i. Let thisEnvRec be thisLex's EnvironmentRecord. ii. If thisEnvRec is not an object Environment Record, then 1. NOTE: The environment of with statements cannot contain any lexical declaration so it doesn't need to be checked for var/let hoisting conflicts. 2. For each name in varNames, do a. If thisEnvRec.HasBinding(name) is true, then i. Throw a SyntaxError exception. ii. NOTE: Annex B.3.5 defines alternate semantics for the above step. b. NOTE: A direct eval will not hoist var declaration over a like-named lexical declaration. iii. Let thisLex be thisLex's outer environment reference. flags: [noStrict] features: [generators, let] --- 2204
scope-name-var-close.js --- esid: sec-generator-function-definitions-runtime-semantics-evaluation description: Removal of variable environment for the BindingIdentifier info: | [...] 2. Let scope be the running execution context's LexicalEnvironment. 3. Let funcEnv be NewDeclarativeEnvironment(scope). 4. Let envRec be funcEnv's EnvironmentRecord. 5. Let name be StringValue of BindingIdentifier. 6. Perform envRec.CreateImmutableBinding(name, false). 7. Let closure be GeneratorFunctionCreate(Normal, FormalParameters, GeneratorBody, funcEnv, strict). [...] features: [generators] --- 946
scope-name-var-open-non-strict.js --- esid: sec-generator-function-definitions-runtime-semantics-evaluation description: > Creation of new variable environment for the BindingIdentifier parameter info: | [...] 2. Let scope be the running execution context's LexicalEnvironment. 3. Let funcEnv be NewDeclarativeEnvironment(scope). 4. Let envRec be funcEnv's EnvironmentRecord. 5. Let name be StringValue of BindingIdentifier. 6. Perform envRec.CreateImmutableBinding(name, false). 7. Let closure be GeneratorFunctionCreate(Normal, FormalParameters, GeneratorBody, funcEnv, strict). [...] flags: [noStrict] features: [generators] --- 1635
scope-name-var-open-strict-strict.js --- esid: sec-generator-function-definitions-runtime-semantics-evaluation description: > Creation of new variable environment for the BindingIdentifier parameter info: | [...] 2. Let scope be the running execution context's LexicalEnvironment. 3. Let funcEnv be NewDeclarativeEnvironment(scope). 4. Let envRec be funcEnv's EnvironmentRecord. 5. Let name be StringValue of BindingIdentifier. 6. Perform envRec.CreateImmutableBinding(name, false). 7. Let closure be GeneratorFunctionCreate(Normal, FormalParameters, GeneratorBody, funcEnv, strict). [...] flags: [onlyStrict] features: [generators] --- 1813
scope-param-elem-var-close.js --- esid: sec-functiondeclarationinstantiation description: > sloppy direct evals in params introduce vars info: | [...] 20. Else, a. NOTE: A separate Environment Record is needed to ensure that bindings created by direct eval calls in the formal parameter list are outside the environment where parameters are declared. b. Let calleeEnv be the LexicalEnvironment of calleeContext. c. Let env be NewDeclarativeEnvironment(calleeEnv). d. Let envRec be env's EnvironmentRecord. [...] flags: [noStrict] features: [generators] --- 1087
scope-param-elem-var-open.js --- esid: sec-functiondeclarationinstantiation description: > sloppy direct evals in params introduce vars info: | [...] 20. Else, a. NOTE: A separate Environment Record is needed to ensure that bindings created by direct eval calls in the formal parameter list are outside the environment where parameters are declared. b. Let calleeEnv be the LexicalEnvironment of calleeContext. c. Let env be NewDeclarativeEnvironment(calleeEnv). d. Let envRec be env's EnvironmentRecord. [...] flags: [noStrict] features: [generators] --- 995
scope-param-rest-elem-var-close.js --- esid: sec-functiondeclarationinstantiation description: > sloppy direct evals in params introduce vars info: | [...] 20. Else, a. NOTE: A separate Environment Record is needed to ensure that bindings created by direct eval calls in the formal parameter list are outside the environment where parameters are declared. b. Let calleeEnv be the LexicalEnvironment of calleeContext. c. Let env be NewDeclarativeEnvironment(calleeEnv). d. Let envRec be env's EnvironmentRecord. [...] flags: [noStrict] features: [generators] --- 1015
scope-param-rest-elem-var-open.js --- esid: sec-functiondeclarationinstantiation description: > sloppy direct evals in params introduce vars info: | [...] 20. Else, a. NOTE: A separate Environment Record is needed to ensure that bindings created by direct eval calls in the formal parameter list are outside the environment where parameters are declared. b. Let calleeEnv be the LexicalEnvironment of calleeContext. c. Let env be NewDeclarativeEnvironment(calleeEnv). d. Let envRec be env's EnvironmentRecord. [...] flags: [noStrict] features: [generators] --- 1000
scope-paramsbody-var-close.js --- esid: sec-functiondeclarationinstantiation description: > Disposal of variable environment for the function body info: | [...] 26. If hasParameterExpressions is false, then [...] 27. Else, a. NOTE A separate Environment Record is needed to ensure that closures created by expressions in the formal parameter list do not have visibility of declarations in the function body. b. Let varEnv be NewDeclarativeEnvironment(env). c. Let varEnvRec be varEnv's EnvironmentRecord. d. Set the VariableEnvironment of calleeContext to varEnv. e. Let instantiatedVarNames be a new empty List. [...] features: [generators] --- 1160
scope-paramsbody-var-open.js --- esid: sec-functiondeclarationinstantiation description: > Creation of new variable environment for the function body (as distinct from that for the function's parameters) info: | [...] 26. If hasParameterExpressions is false, then [...] 27. Else, a. NOTE A separate Environment Record is needed to ensure that closures created by expressions in the formal parameter list do not have visibility of declarations in the function body. b. Let varEnv be NewDeclarativeEnvironment(env). c. Let varEnvRec be varEnv's EnvironmentRecord. d. Set the VariableEnvironment of calleeContext to varEnv. e. Let instantiatedVarNames be a new empty List. [...] features: [generators] --- 1201
shell.js 0
static-init-await-binding.js --- esid: sec-class-definitions-static-semantics-early-errors description: The `await` keyword is interpreted as an Identifier within generator function expressions info: | ClassStaticBlockBody : ClassStaticBlockStatementList [...] - It is a Syntax Error if ContainsAwait of ClassStaticBlockStatementList is true. features: [class-static-block] --- 583
static-init-await-reference.js --- esid: sec-class-definitions-static-semantics-early-errors description: The `await` keyword is interpreted as an Identifier within generator function expressions info: | ClassStaticBlockBody : ClassStaticBlockStatementList [...] - It is a Syntax Error if ContainsAwait of ClassStaticBlockStatementList is true. features: [class-static-block] --- 767
unscopables-with-in-nested-fn.js --- description: Symbol.unscopables behavior across scope boundaries (generator function expression) esid: sec-generator-function-definitions-runtime-semantics-evaluation features: [globalThis, Symbol.unscopables, generators] flags: [generated, noStrict] info: | GeneratorExpression : function * ( FormalParameters ) { GeneratorBody } [...] 3. Let closure be GeneratorFunctionCreate(Normal, FormalParameters, 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. [...] ... Let envRec be lex's EnvironmentRecord. Let exists be ? envRec.HasBinding(name). HasBinding ... If the withEnvironment flag of envRec is false, return true. Let unscopables be ? Get(bindings, @@unscopables). If Type(unscopables) is Object, then Let blocked be ToBoolean(? Get(unscopables, N)). If blocked is true, return false. (The `with` Statement) Runtime Semantics: Evaluation ... Set the withEnvironment flag of newEnv’s EnvironmentRecord to true. ... --- 2840
unscopables-with.js --- description: Symbol.unscopables behavior across scope boundaries (generator function expression) esid: sec-generator-function-definitions-runtime-semantics-evaluation features: [globalThis, Symbol.unscopables, generators] flags: [generated, noStrict] info: | GeneratorExpression : function * ( FormalParameters ) { GeneratorBody } [...] 3. Let closure be GeneratorFunctionCreate(Normal, FormalParameters, 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. [...] ... Let envRec be lex's EnvironmentRecord. Let exists be ? envRec.HasBinding(name). HasBinding ... If the withEnvironment flag of envRec is false, return true. Let unscopables be ? Get(bindings, @@unscopables). If Type(unscopables) is Object, then Let blocked be ToBoolean(? Get(unscopables, N)). If blocked is true, return false. (The `with` Statement) Runtime Semantics: Evaluation ... Set the withEnvironment flag of newEnv’s EnvironmentRecord to true. ... --- 2665
use-strict-with-non-simple-param.js --- esid: sec-generator-function-definitions-static-semantics-early-errors description: > A SyntaxError is thrown if a generator 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 FormalParameters is false. negative: phase: parse type: SyntaxError features: [generators] --- 665
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. (Unnamed generator expression) esid: prod-GeneratorExpression features: [generators] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.4 Generator Function Definitions GeneratorExpression: function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody } BindingIdentifier : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 857
yield-as-binding-identifier.js --- description: yield is a reserved keyword within generator function bodies and may not be used as a binding identifier. (Unnamed generator expression) esid: prod-GeneratorExpression features: [generators] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.4 Generator Function Definitions GeneratorExpression: function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody } BindingIdentifier : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 844
yield-as-function-expression-binding-identifier.js --- description: > `yield` may be used as the binding identifier of a function expression within generator bodies. es6id: 14.1 flags: [noStrict] features: [generators] --- 511
yield-as-generator-expression-binding-identifier.js --- description: > `yield` is not a valid BindingIdentifier for GeneratorExpressions. es6id: 12.1.1 flags: [noStrict] negative: phase: parse type: SyntaxError features: [generators] --- 418
yield-as-identifier-in-nested-function.js --- description: > `yield` is not a reserved keyword within normal function bodies declared within generator function bodies. es6id: 12.1.1 flags: [noStrict] features: [generators] --- 534
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. (Unnamed generator expression) esid: prod-GeneratorExpression features: [generators] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.4 Generator Function Definitions GeneratorExpression: function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody } IdentifierReference : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 865
yield-as-identifier-reference.js --- description: yield is a reserved keyword within generator function bodies and may not be used as an identifier reference. (Unnamed generator expression) esid: prod-GeneratorExpression features: [generators] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.4 Generator Function Definitions GeneratorExpression: function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody } IdentifierReference : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 852
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. (Unnamed generator expression) esid: prod-GeneratorExpression features: [generators] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.4 Generator Function Definitions GeneratorExpression: function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody } LabelIdentifier : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 849
yield-as-label-identifier.js --- description: yield is a reserved keyword within generator function bodies and may not be used as a label identifier. (Unnamed generator expression) esid: prod-GeneratorExpression features: [generators] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.4 Generator Function Definitions GeneratorExpression: function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody } LabelIdentifier : Identifier It is a Syntax Error if this production has a [Yield] parameter and StringValue of Identifier is "yield". --- 836
yield-as-literal-property-name.js --- description: > `yield` may be used as a literal property name in an object literal within generator function bodies. es6id: 12.1.1 features: [generators] --- 509
yield-as-logical-or-expression.js --- description: > `yield` expressions are not LogicalOrExpressions. es6id: 12.1.1 negative: phase: parse type: SyntaxError features: [generators] --- 404
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. es6id: 12.1.1 negative: phase: parse type: SyntaxError features: [generators] --- 461
yield-as-property-name.js --- description: > `yield` may be used as a literal property name in an object literal within generator function bodies. es6id: 12.1.1 features: [generators] --- 494
yield-as-statement.js --- description: > `yield` is a valid statement within generator function bodies. es6id: 14.4 features: [generators] --- 1241
yield-as-yield-operand.js --- description: > `yield` expressions may be used as the right-hand-side of other `yield` expressions. es6id: 14.4 features: [generators] --- 850
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 expression - valid for non-strict only cases) esid: prod-GeneratorExpression features: [generators] flags: [generated, noStrict] info: | 14.4 Generator Function Definitions GeneratorExpression: function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody } --- 1011
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 expression - valid for non-strict only cases) esid: prod-GeneratorExpression features: [Symbol, object-spread, generators] flags: [generated, noStrict] info: | 14.4 Generator Function Definitions GeneratorExpression: function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody } Spread Properties PropertyDefinition[Yield]: (...) ...AssignmentExpression[In, ?Yield] --- 1615
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. (Unnamed generator expression) esid: prod-GeneratorExpression features: [object-spread, generators] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | 14.4 Generator Function Definitions GeneratorExpression: function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody } Spread Properties PropertyDefinition[Yield]: (...) ...AssignmentExpression[In, ?Yield] --- 1042
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. (Unnamed generator expression) esid: prod-GeneratorExpression features: [generators] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | 14.4 Generator Function Definitions GeneratorExpression: function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody } --- 874
yield-newline.js --- description: > Newlines terminate `yield` expressions. es6id: 14.4 features: [generators] --- 649
yield-spread-arr-multiple.js --- description: Use yield value in a array spread position (Unnamed generator expression) esid: prod-GeneratorExpression features: [generators] flags: [generated] includes: [compareArray.js] info: | 14.4 Generator Function Definitions GeneratorExpression: function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody } Array Initializer SpreadElement[Yield, Await]: ...AssignmentExpression[+In, ?Yield, ?Await] --- 992
yield-spread-arr-single.js --- description: Use yield value in a array spread position (Unnamed generator expression) esid: prod-GeneratorExpression features: [generators] flags: [generated] info: | 14.4 Generator Function Definitions GeneratorExpression: function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody } Array Initializer SpreadElement[Yield, Await]: ...AssignmentExpression[+In, ?Yield, ?Await] --- 1148
yield-spread-obj.js --- description: Use yield value in a object spread position (Unnamed generator expression) esid: prod-GeneratorExpression features: [object-spread, generators] flags: [generated] info: | 14.4 Generator Function Definitions GeneratorExpression: function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody } Spread Properties PropertyDefinition[Yield]: (...) ...AssignmentExpression[In, ?Yield] --- 1073
yield-star-after-newline.js --- description: > A newline may not precede the `*` token in a `yield` expression. es6id: 14.4 negative: phase: parse type: SyntaxError features: [generators] --- 405
yield-star-before-newline.js --- description: > The right-hand side of a `yield *` expression may appear on a new line. es6id: 14.4 features: [generators] --- 482
yield-weak-binding.js --- description: > `yield` expressions bind weakly es6id: 14.4 negative: phase: parse type: SyntaxError features: [generators] --- 377