Name Description Size Coverage
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] --- 861 -
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] --- 837 -
dflt-params-abrupt.js --- description: Abrupt completion returned by evaluation of initializer (function expression) esid: sec-function-definitions-runtime-semantics-evaluation features: [default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. --- 1960 -
dflt-params-arg-val-not-undefined.js --- description: Use of initializer when argument value is not `undefined` (function expression) esid: sec-function-definitions-runtime-semantics-evaluation features: [default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] --- 2809 -
dflt-params-arg-val-undefined.js --- description: Use of initializer when argument value is `undefined` (function expression) esid: sec-function-definitions-runtime-semantics-evaluation features: [default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] --- 2078 -
dflt-params-duplicates.js --- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (function expression) esid: sec-function-definitions-runtime-semantics-evaluation features: [default-parameters] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. --- 1843 -
dflt-params-ref-later.js --- description: Referencing a parameter that occurs later in the ParameterList (function expression) esid: sec-function-definitions-runtime-semantics-evaluation features: [default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. --- 1943 -
dflt-params-ref-prior.js --- description: Referencing a parameter that occurs earlier in the ParameterList (function expression) esid: sec-function-definitions-runtime-semantics-evaluation features: [default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. --- 2111 -
dflt-params-ref-self.js --- description: Referencing a parameter from within its own initializer (function expression) esid: sec-function-definitions-runtime-semantics-evaluation features: [default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. --- 1932 -
dflt-params-rest.js --- description: RestParameter does not support an initializer (function expression) esid: sec-function-definitions-runtime-semantics-evaluation features: [default-parameters] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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] --- 1662 -
dflt-params-trailing-comma.js --- description: A trailing comma should not increase the respective length, using default parameters (function expression) esid: sec-function-definitions-runtime-semantics-evaluation flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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] , --- 1768 -
dstr-ary-init-iter-close.js --- description: Iterator is closed when not exhausted by pattern evaluation (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.5 Runtime Semantics: BindingInitialization BindingPattern : ArrayBindingPattern [...] 4. If iteratorRecord.[[done]] is false, return ? IteratorClose(iterator, result). [...] --- 1951 -
dstr-ary-init-iter-get-err.js --- description: Abrupt completion returned by GetIterator (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.5 Runtime Semantics: BindingInitialization BindingPattern : ArrayBindingPattern 1. Let iterator be GetIterator(value). 2. ReturnIfAbrupt(iterator). --- 1630 -
dstr-ary-init-iter-no-close.js --- description: Iterator is not closed when exhausted by pattern evaluation (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.5 Runtime Semantics: BindingInitialization BindingPattern : ArrayBindingPattern [...] 4. If iteratorRecord.[[done]] is false, return ? IteratorClose(iterator, result). [...] --- 1953 -
dstr-ary-name-iter-val.js --- description: SingleNameBinding with normal value iteration (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). b. If next is an abrupt completion, set iteratorRecord.[[done]] to true. c. ReturnIfAbrupt(next). d. If next is false, set iteratorRecord.[[done]] to true. e. Else, [...] i. Let v be IteratorValue(next). ii. If v is an abrupt completion, set iteratorRecord.[[done]] to true. iii. ReturnIfAbrupt(v). 5. If iteratorRecord.[[done]] is true, let v be undefined. [...] 8. Return InitializeReferencedBinding(lhs, v). --- 2267 -
dstr-ary-ptrn-elem-ary-elem-init.js --- description: BindingElement with array binding pattern and initializer is used (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPatternInitializer opt [...] 2. If iteratorRecord.[[done]] is true, let v be undefined. 3. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be ? GetValue(defaultValue). 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. --- 2040 -
dstr-ary-ptrn-elem-ary-elem-iter.js --- description: BindingElement with array binding pattern and initializer is not used (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPatternInitializer opt 1. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). [...] e. Else, i. Let v be IteratorValue(next). [...] 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. --- 2011 -
dstr-ary-ptrn-elem-ary-elision-init.js --- description: BindingElement with array binding pattern and initializer is used (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [generators, destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPatternInitializer opt [...] 2. If iteratorRecord.[[done]] is true, let v be undefined. 3. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be ? GetValue(defaultValue). 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. --- 2115 -
dstr-ary-ptrn-elem-ary-elision-iter.js --- description: BindingElement with array binding pattern and initializer is not used (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [generators, destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPatternInitializer opt 1. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). [...] e. Else, i. Let v be IteratorValue(next). [...] 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. --- 2020 -
dstr-ary-ptrn-elem-ary-empty-init.js --- description: BindingElement with array binding pattern and initializer is used (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [generators, destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPatternInitializer opt [...] 2. If iteratorRecord.[[done]] is true, let v be undefined. 3. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be ? GetValue(defaultValue). 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. --- 2157 -
dstr-ary-ptrn-elem-ary-empty-iter.js --- description: BindingElement with array binding pattern and initializer is not used (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPatternInitializer opt 1. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). [...] e. Else, i. Let v be IteratorValue(next). [...] 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. --- 1998 -
dstr-ary-ptrn-elem-ary-rest-init.js --- description: BindingElement with array binding pattern and initializer is used (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPatternInitializer opt [...] 2. If iteratorRecord.[[done]] is true, let v be undefined. 3. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be ? GetValue(defaultValue). 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. --- 2162 -
dstr-ary-ptrn-elem-ary-rest-iter.js --- description: BindingElement with array binding pattern and initializer is not used (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPatternInitializer opt 1. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). [...] e. Else, i. Let v be IteratorValue(next). [...] 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. --- 2209 -
dstr-ary-ptrn-elem-ary-val-null.js --- description: Nested array destructuring with a null value (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPattern Initializeropt 1. If iteratorRecord.[[done]] is false, then [...] e. Else i. Let v be IteratorValue(next). [...] 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. 13.3.3.5 Runtime Semantics: BindingInitialization BindingPattern : ArrayBindingPattern 1. Let iterator be GetIterator(value). 2. ReturnIfAbrupt(iterator). --- 1917 -
dstr-ary-ptrn-elem-id-init-exhausted.js --- description: Destructuring initializer with an exhausted iterator (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 5. If iteratorRecord.[[done]] is true, let v be undefined. 6. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). [...] 7. If environment is undefined, return PutValue(lhs, v). 8. Return InitializeReferencedBinding(lhs, v). --- 1967 -
dstr-ary-ptrn-elem-id-init-fn-name-arrow.js --- description: SingleNameBinding does assign name to arrow functions (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). c. ReturnIfAbrupt(v). d. If IsAnonymousFunctionDefinition(Initializer) is true, then [...] 7. If environment is undefined, return PutValue(lhs, v). 8. Return InitializeReferencedBinding(lhs, v). --- 2035 -
dstr-ary-ptrn-elem-id-init-fn-name-class.js --- description: SingleNameBinding assigns `name` to "anonymous" classes (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). c. ReturnIfAbrupt(v). d. If IsAnonymousFunctionDefinition(Initializer) is true, then [...] 7. If environment is undefined, return PutValue(lhs, v). 8. Return InitializeReferencedBinding(lhs, v). --- 2172 -
dstr-ary-ptrn-elem-id-init-fn-name-cover.js --- description: SingleNameBinding does assign name to "anonymous" functions "through" cover grammar (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). c. ReturnIfAbrupt(v). d. If IsAnonymousFunctionDefinition(Initializer) is true, then [...] 7. If environment is undefined, return PutValue(lhs, v). 8. Return InitializeReferencedBinding(lhs, v). --- 2148 -
dstr-ary-ptrn-elem-id-init-fn-name-fn.js --- description: SingleNameBinding assigns name to "anonymous" functions (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). c. ReturnIfAbrupt(v). d. If IsAnonymousFunctionDefinition(Initializer) is true, then [...] 7. If environment is undefined, return PutValue(lhs, v). 8. Return InitializeReferencedBinding(lhs, v). --- 2094 -
dstr-ary-ptrn-elem-id-init-fn-name-gen.js --- description: SingleNameBinding assigns name to "anonymous" generator functions (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [generators, destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). c. ReturnIfAbrupt(v). d. If IsAnonymousFunctionDefinition(Initializer) is true, then [...] 7. If environment is undefined, return PutValue(lhs, v). 8. Return InitializeReferencedBinding(lhs, v). --- 2126 -
dstr-ary-ptrn-elem-id-init-hole.js --- description: Destructuring initializer with a "hole" (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). [...] 7. If environment is undefined, return PutValue(lhs, v). 8. Return InitializeReferencedBinding(lhs, v). --- 1900 -
dstr-ary-ptrn-elem-id-init-skipped.js --- description: Destructuring initializer is not evaluated when value is not `undefined` (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then [...] 7. If environment is undefined, return PutValue(lhs, v). 8. Return InitializeReferencedBinding(lhs, v). --- 2060 -
dstr-ary-ptrn-elem-id-init-throws.js --- description: Destructuring initializer returns an abrupt completion (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). c. ReturnIfAbrupt(v). --- 1759 -
dstr-ary-ptrn-elem-id-init-undef.js --- description: Destructuring initializer with an undefined value (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). [...] 7. If environment is undefined, return PutValue(lhs, v). 8. Return InitializeReferencedBinding(lhs, v). --- 1906 -
dstr-ary-ptrn-elem-id-init-unresolvable.js --- description: Destructuring initializer is an unresolvable reference (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). c. ReturnIfAbrupt(v). 6.2.3.1 GetValue (V) 1. ReturnIfAbrupt(V). 2. If Type(V) is not Reference, return V. 3. Let base be GetBase(V). 4. If IsUnresolvableReference(V), throw a ReferenceError exception. --- 1939 -
dstr-ary-ptrn-elem-id-iter-complete.js --- description: SingleNameBinding when value iteration completes (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). b. If next is an abrupt completion, set iteratorRecord.[[done]] to true. c. ReturnIfAbrupt(next). d. If next is false, set iteratorRecord.[[done]] to true. e. Else, [...] 5. If iteratorRecord.[[done]] is true, let v be undefined. [...] 8. Return InitializeReferencedBinding(lhs, v). --- 2054 -
dstr-ary-ptrn-elem-id-iter-done.js --- description: SingleNameBinding when value iteration was completed previously (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 4. If iteratorRecord.[[done]] is false, then [...] 5. If iteratorRecord.[[done]] is true, let v be undefined. [...] 8. Return InitializeReferencedBinding(lhs, v). --- 1807 -
dstr-ary-ptrn-elem-id-iter-step-err.js --- description: Error forwarding when IteratorStep returns an abrupt completion (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). b. If next is an abrupt completion, set iteratorRecord.[[done]] to true. c. ReturnIfAbrupt(next). --- 1885 -
dstr-ary-ptrn-elem-id-iter-val-err.js --- description: Error forwarding when IteratorValue returns an abrupt completion (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). b. If next is an abrupt completion, set iteratorRecord.[[done]] to true. c. ReturnIfAbrupt(next). d. If next is false, set iteratorRecord.[[done]] to true. e. Else, i. Let v be IteratorValue(next). ii. If v is an abrupt completion, set iteratorRecord.[[done]] to true. iii. ReturnIfAbrupt(v). --- 2249 -
dstr-ary-ptrn-elem-id-iter-val.js --- description: SingleNameBinding when value iteration was completed previously (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). b. If next is an abrupt completion, set iteratorRecord.[[done]] to true. c. ReturnIfAbrupt(next). d. If next is false, set iteratorRecord.[[done]] to true. e. Else, [...] i. Let v be IteratorValue(next). ii. If v is an abrupt completion, set iteratorRecord.[[done]] to true. iii. ReturnIfAbrupt(v). 5. If iteratorRecord.[[done]] is true, let v be undefined. [...] 8. Return InitializeReferencedBinding(lhs, v). --- 2293 -
dstr-ary-ptrn-elem-obj-id-init.js --- description: BindingElement with object binding pattern and initializer is used (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPatternInitializer opt [...] 2. If iteratorRecord.[[done]] is true, let v be undefined. 3. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be ? GetValue(defaultValue). 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. --- 2058 -
dstr-ary-ptrn-elem-obj-id.js --- description: BindingElement with object binding pattern and initializer is not used (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPatternInitializer opt [...] 2. If iteratorRecord.[[done]] is true, let v be undefined. 3. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be ? GetValue(defaultValue). 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. --- 2080 -
dstr-ary-ptrn-elem-obj-prop-id-init.js --- description: BindingElement with object binding pattern and initializer is used (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPatternInitializer opt [...] 2. If iteratorRecord.[[done]] is true, let v be undefined. 3. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be ? GetValue(defaultValue). 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. --- 2253 -
dstr-ary-ptrn-elem-obj-prop-id.js --- description: BindingElement with object binding pattern and initializer is not used (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPatternInitializer opt [...] 2. If iteratorRecord.[[done]] is true, let v be undefined. 3. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be ? GetValue(defaultValue). 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. --- 2278 -
dstr-ary-ptrn-elem-obj-val-null.js --- description: Nested object destructuring with a null value (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPattern Initializeropt 1. If iteratorRecord.[[done]] is false, then [...] e. Else i. Let v be IteratorValue(next). [...] 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. 13.3.3.5 Runtime Semantics: BindingInitialization BindingPattern : ObjectBindingPattern 1. Let valid be RequireObjectCoercible(value). 2. ReturnIfAbrupt(valid). --- 1926 -
dstr-ary-ptrn-elem-obj-val-undef.js --- description: Nested object destructuring with a value of `undefined` (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPattern Initializeropt 1. If iteratorRecord.[[done]] is false, then [...] e. Else i. Let v be IteratorValue(next). [...] 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. 13.3.3.5 Runtime Semantics: BindingInitialization BindingPattern : ObjectBindingPattern 1. Let valid be RequireObjectCoercible(value). 2. ReturnIfAbrupt(valid). --- 1933 -
dstr-ary-ptrn-elision-exhausted.js --- description: Elision accepts exhausted iterator (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [generators, destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization ArrayBindingPattern : [ Elision ] 1. Return the result of performing IteratorDestructuringAssignmentEvaluation of Elision with iteratorRecord as the argument. 12.14.5.3 Runtime Semantics: IteratorDestructuringAssignmentEvaluation Elision : , 1. If iteratorRecord.[[done]] is false, then [...] 2. Return NormalCompletion(empty). --- 1924 -
dstr-ary-ptrn-elision-step-err.js --- description: Elision advances iterator and forwards abrupt completions (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [generators, destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization ArrayBindingPattern : [ Elision ] 1. Return the result of performing IteratorDestructuringAssignmentEvaluation of Elision with iteratorRecord as the argument. 12.14.5.3 Runtime Semantics: IteratorDestructuringAssignmentEvaluation Elision : , 1. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). b. If next is an abrupt completion, set iteratorRecord.[[done]] to true. c. ReturnIfAbrupt(next). --- 2128 -
dstr-ary-ptrn-elision.js --- description: Elision advances iterator (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [generators, destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization ArrayBindingPattern : [ Elision ] 1. Return the result of performing IteratorDestructuringAssignmentEvaluation of Elision with iteratorRecord as the argument. 12.14.5.3 Runtime Semantics: IteratorDestructuringAssignmentEvaluation Elision : , 1. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). b. If next is an abrupt completion, set iteratorRecord.[[done]] to true. c. ReturnIfAbrupt(next). d. If next is false, set iteratorRecord.[[done]] to true. 2. Return NormalCompletion(empty). --- 2237 -
dstr-ary-ptrn-empty.js --- description: No iteration occurs for an "empty" array binding pattern (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [generators, destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization ArrayBindingPattern : [ ] 1. Return NormalCompletion(empty). --- 1685 -
dstr-ary-ptrn-rest-ary-elem.js --- description: Rest element containing an array BindingElementList pattern (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingRestElement : ... BindingPattern 1. Let A be ArrayCreate(0). [...] 3. Repeat [...] b. If iteratorRecord.[[done]] is true, then i. Return the result of performing BindingInitialization of BindingPattern with A and environment as the arguments. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). b. If next is an abrupt completion, set iteratorRecord.[[done]] to true. c. ReturnIfAbrupt(next). d. If next is false, set iteratorRecord.[[done]] to true. e. Else, [...] i. Let v be IteratorValue(next). ii. If v is an abrupt completion, set iteratorRecord.[[done]] to true. iii. ReturnIfAbrupt(v). 5. If iteratorRecord.[[done]] is true, let v be undefined. [...] 8. Return InitializeReferencedBinding(lhs, v). --- 2672 -
dstr-ary-ptrn-rest-ary-elision.js --- description: Rest element containing an elision (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [generators, destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingRestElement : ... BindingPattern 1. Let A be ArrayCreate(0). [...] 3. Repeat [...] b. If iteratorRecord.[[done]] is true, then i. Return the result of performing BindingInitialization of BindingPattern with A and environment as the arguments. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization ArrayBindingPattern : [ Elision ] 1. Return the result of performing IteratorDestructuringAssignmentEvaluation of Elision with iteratorRecord as the argument. 12.14.5.3 Runtime Semantics: IteratorDestructuringAssignmentEvaluation Elision : , 1. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). b. If next is an abrupt completion, set iteratorRecord.[[done]] to true. c. ReturnIfAbrupt(next). d. If next is false, set iteratorRecord.[[done]] to true. 2. Return NormalCompletion(empty). --- 2641 -
dstr-ary-ptrn-rest-ary-empty.js --- description: Rest element containing an "empty" array pattern (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [generators, destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingRestElement : ... BindingPattern 1. Let A be ArrayCreate(0). [...] 3. Repeat [...] b. If iteratorRecord.[[done]] is true, then i. Return the result of performing BindingInitialization of BindingPattern with A and environment as the arguments. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization ArrayBindingPattern : [ ] 1. Return NormalCompletion(empty). --- 2072 -
dstr-ary-ptrn-rest-ary-rest.js --- description: Rest element containing a rest element (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingRestElement : ... BindingPattern 1. Let A be ArrayCreate(0). [...] 3. Repeat [...] b. If iteratorRecord.[[done]] is true, then i. Return the result of performing BindingInitialization of BindingPattern with A and environment as the arguments. [...] --- 2023 -
dstr-ary-ptrn-rest-id-elision-next-err.js --- description: Rest element following elision elements (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [generators, destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization ArrayBindingPattern : [ Elisionopt BindingRestElement ] 1. If Elision is present, then a. Let status be the result of performing IteratorDestructuringAssignmentEvaluation of Elision with iteratorRecord as the argument. b. ReturnIfAbrupt(status). 2. Return the result of performing IteratorBindingInitialization for BindingRestElement with iteratorRecord and environment as arguments. --- 1941 -
dstr-ary-ptrn-rest-id-elision.js --- description: Rest element following elision elements (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization ArrayBindingPattern : [ Elisionopt BindingRestElement ] 1. If Elision is present, then a. Let status be the result of performing IteratorDestructuringAssignmentEvaluation of Elision with iteratorRecord as the argument. b. ReturnIfAbrupt(status). 2. Return the result of performing IteratorBindingInitialization for BindingRestElement with iteratorRecord and environment as arguments. --- 2150 -
dstr-ary-ptrn-rest-id-exhausted.js --- description: RestElement applied to an exhausted iterator (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingRestElement : ... BindingIdentifier 1. Let lhs be ResolveBinding(StringValue of BindingIdentifier, environment). 2. ReturnIfAbrupt(lhs). 3. Let A be ArrayCreate(0). 4. Let n=0. 5. Repeat, [...] b. If iteratorRecord.[[done]] is true, then i. If environment is undefined, return PutValue(lhs, A). ii. Return InitializeReferencedBinding(lhs, A). --- 1989 -
dstr-ary-ptrn-rest-id-iter-step-err.js --- description: Error forwarding when IteratorStep returns an abrupt completion (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [generators, destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingRestElement : ... BindingIdentifier 1. Let lhs be ResolveBinding(StringValue of BindingIdentifier, environment). 2. ReturnIfAbrupt(lhs). 3. Let A be ArrayCreate(0). 4. Let n=0. 5. Repeat, a. If iteratorRecord.[[done]] is false, i. Let next be IteratorStep(iteratorRecord.[[iterator]]). ii. If next is an abrupt completion, set iteratorRecord.[[done]] to true. iii. ReturnIfAbrupt(next). --- 2169 -
dstr-ary-ptrn-rest-id-iter-val-err.js --- description: Error forwarding when IteratorValue returns an abrupt completion (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingRestElement : ... BindingIdentifier 1. Let lhs be ResolveBinding(StringValue of BindingIdentifier, environment). 2. ReturnIfAbrupt(lhs). 3. Let A be ArrayCreate(0). 4. Let n=0. 5. Repeat, [...] c. Let nextValue be IteratorValue(next). d. If nextValue is an abrupt completion, set iteratorRecord.[[done]] to true. e. ReturnIfAbrupt(nextValue). --- 2120 -
dstr-ary-ptrn-rest-id.js --- description: Lone rest element (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingRestElement : ... BindingIdentifier [...] 3. Let A be ArrayCreate(0). [...] 5. Repeat [...] f. Let status be CreateDataProperty(A, ToString (n), nextValue). [...] --- 1871 -
dstr-ary-ptrn-rest-init-ary.js --- description: Reset element (nested array pattern) does not support initializer (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3 Destructuring Binding Patterns ArrayBindingPattern[Yield] : [ Elisionopt BindingRestElement[?Yield]opt ] [ BindingElementList[?Yield] ] [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ] --- 1818 -
dstr-ary-ptrn-rest-init-id.js --- description: Reset element (identifier) does not support initializer (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3 Destructuring Binding Patterns ArrayBindingPattern[Yield] : [ Elisionopt BindingRestElement[?Yield]opt ] [ BindingElementList[?Yield] ] [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ] --- 1803 -
dstr-ary-ptrn-rest-init-obj.js --- description: Reset element (nested object pattern) does not support initializer (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3 Destructuring Binding Patterns ArrayBindingPattern[Yield] : [ Elisionopt BindingRestElement[?Yield]opt ] [ BindingElementList[?Yield] ] [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ] --- 1819 -
dstr-ary-ptrn-rest-not-final-ary.js --- description: Rest element (array binding pattern) may not be followed by any element (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3 Destructuring Binding Patterns ArrayBindingPattern[Yield] : [ Elisionopt BindingRestElement[?Yield]opt ] [ BindingElementList[?Yield] ] [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ] --- 1832 -
dstr-ary-ptrn-rest-not-final-id.js --- description: Rest element (identifier) may not be followed by any element (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3 Destructuring Binding Patterns ArrayBindingPattern[Yield] : [ Elisionopt BindingRestElement[?Yield]opt ] [ BindingElementList[?Yield] ] [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ] --- 1818 -
dstr-ary-ptrn-rest-not-final-obj.js --- description: Rest element (object binding pattern) may not be followed by any element (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3 Destructuring Binding Patterns ArrayBindingPattern[Yield] : [ Elisionopt BindingRestElement[?Yield]opt ] [ BindingElementList[?Yield] ] [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ] --- 1835 -
dstr-ary-ptrn-rest-obj-id.js --- description: Rest element containing an object binding pattern (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingRestElement : ... BindingPattern 1. Let A be ArrayCreate(0). [...] 3. Repeat [...] b. If iteratorRecord.[[done]] is true, then i. Return the result of performing BindingInitialization of BindingPattern with A and environment as the arguments. [...] --- 1863 -
dstr-ary-ptrn-rest-obj-prop-id.js --- description: Rest element containing an object binding pattern (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingRestElement : ... BindingPattern 1. Let A be ArrayCreate(0). [...] 3. Repeat [...] b. If iteratorRecord.[[done]] is true, then i. Return the result of performing BindingInitialization of BindingPattern with A and environment as the arguments. [...] --- 2110 -
dstr-dflt-ary-init-iter-close.js --- description: Iterator is closed when not exhausted by pattern evaluation (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [Symbol.iterator, destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.5 Runtime Semantics: BindingInitialization BindingPattern : ArrayBindingPattern [...] 4. If iteratorRecord.[[done]] is false, return ? IteratorClose(iterator, result). [...] --- 1999 -
dstr-dflt-ary-init-iter-get-err.js --- description: Abrupt completion returned by GetIterator (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [Symbol.iterator, destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.5 Runtime Semantics: BindingInitialization BindingPattern : ArrayBindingPattern 1. Let iterator be GetIterator(value). 2. ReturnIfAbrupt(iterator). --- 1678 -
dstr-dflt-ary-init-iter-no-close.js --- description: Iterator is not closed when exhausted by pattern evaluation (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [Symbol.iterator, destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.5 Runtime Semantics: BindingInitialization BindingPattern : ArrayBindingPattern [...] 4. If iteratorRecord.[[done]] is false, return ? IteratorClose(iterator, result). [...] --- 2001 -
dstr-dflt-ary-name-iter-val.js --- description: SingleNameBinding with normal value iteration (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). b. If next is an abrupt completion, set iteratorRecord.[[done]] to true. c. ReturnIfAbrupt(next). d. If next is false, set iteratorRecord.[[done]] to true. e. Else, [...] i. Let v be IteratorValue(next). ii. If v is an abrupt completion, set iteratorRecord.[[done]] to true. iii. ReturnIfAbrupt(v). 5. If iteratorRecord.[[done]] is true, let v be undefined. [...] 8. Return InitializeReferencedBinding(lhs, v). --- 2315 -
dstr-dflt-ary-ptrn-elem-ary-elem-init.js --- description: BindingElement with array binding pattern and initializer is used (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPatternInitializer opt [...] 2. If iteratorRecord.[[done]] is true, let v be undefined. 3. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be ? GetValue(defaultValue). 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. --- 2088 -
dstr-dflt-ary-ptrn-elem-ary-elem-iter.js --- description: BindingElement with array binding pattern and initializer is not used (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPatternInitializer opt 1. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). [...] e. Else, i. Let v be IteratorValue(next). [...] 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. --- 2059 -
dstr-dflt-ary-ptrn-elem-ary-elision-init.js --- description: BindingElement with array binding pattern and initializer is used (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [generators, destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPatternInitializer opt [...] 2. If iteratorRecord.[[done]] is true, let v be undefined. 3. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be ? GetValue(defaultValue). 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. --- 2163 -
dstr-dflt-ary-ptrn-elem-ary-elision-iter.js --- description: BindingElement with array binding pattern and initializer is not used (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [generators, destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPatternInitializer opt 1. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). [...] e. Else, i. Let v be IteratorValue(next). [...] 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. --- 2068 -
dstr-dflt-ary-ptrn-elem-ary-empty-init.js --- description: BindingElement with array binding pattern and initializer is used (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [generators, destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPatternInitializer opt [...] 2. If iteratorRecord.[[done]] is true, let v be undefined. 3. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be ? GetValue(defaultValue). 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. --- 2205 -
dstr-dflt-ary-ptrn-elem-ary-empty-iter.js --- description: BindingElement with array binding pattern and initializer is not used (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPatternInitializer opt 1. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). [...] e. Else, i. Let v be IteratorValue(next). [...] 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. --- 2046 -
dstr-dflt-ary-ptrn-elem-ary-rest-init.js --- description: BindingElement with array binding pattern and initializer is used (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPatternInitializer opt [...] 2. If iteratorRecord.[[done]] is true, let v be undefined. 3. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be ? GetValue(defaultValue). 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. --- 2210 -
dstr-dflt-ary-ptrn-elem-ary-rest-iter.js --- description: BindingElement with array binding pattern and initializer is not used (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPatternInitializer opt 1. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). [...] e. Else, i. Let v be IteratorValue(next). [...] 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. --- 2257 -
dstr-dflt-ary-ptrn-elem-ary-val-null.js --- description: Nested array destructuring with a null value (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPattern Initializeropt 1. If iteratorRecord.[[done]] is false, then [...] e. Else i. Let v be IteratorValue(next). [...] 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. 13.3.3.5 Runtime Semantics: BindingInitialization BindingPattern : ArrayBindingPattern 1. Let iterator be GetIterator(value). 2. ReturnIfAbrupt(iterator). --- 1965 -
dstr-dflt-ary-ptrn-elem-id-init-exhausted.js --- description: Destructuring initializer with an exhausted iterator (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 5. If iteratorRecord.[[done]] is true, let v be undefined. 6. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). [...] 7. If environment is undefined, return PutValue(lhs, v). 8. Return InitializeReferencedBinding(lhs, v). --- 2015 -
dstr-dflt-ary-ptrn-elem-id-init-fn-name-arrow.js --- description: SingleNameBinding does assign name to arrow functions (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). c. ReturnIfAbrupt(v). d. If IsAnonymousFunctionDefinition(Initializer) is true, then [...] 7. If environment is undefined, return PutValue(lhs, v). 8. Return InitializeReferencedBinding(lhs, v). --- 2083 -
dstr-dflt-ary-ptrn-elem-id-init-fn-name-class.js --- description: SingleNameBinding assigns `name` to "anonymous" classes (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). c. ReturnIfAbrupt(v). d. If IsAnonymousFunctionDefinition(Initializer) is true, then [...] 7. If environment is undefined, return PutValue(lhs, v). 8. Return InitializeReferencedBinding(lhs, v). --- 2220 -
dstr-dflt-ary-ptrn-elem-id-init-fn-name-cover.js --- description: SingleNameBinding does assign name to "anonymous" functions "through" cover grammar (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). c. ReturnIfAbrupt(v). d. If IsAnonymousFunctionDefinition(Initializer) is true, then [...] 7. If environment is undefined, return PutValue(lhs, v). 8. Return InitializeReferencedBinding(lhs, v). --- 2196 -
dstr-dflt-ary-ptrn-elem-id-init-fn-name-fn.js --- description: SingleNameBinding assigns name to "anonymous" functions (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). c. ReturnIfAbrupt(v). d. If IsAnonymousFunctionDefinition(Initializer) is true, then [...] 7. If environment is undefined, return PutValue(lhs, v). 8. Return InitializeReferencedBinding(lhs, v). --- 2142 -
dstr-dflt-ary-ptrn-elem-id-init-fn-name-gen.js --- description: SingleNameBinding assigns name to "anonymous" generator functions (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [generators, destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). c. ReturnIfAbrupt(v). d. If IsAnonymousFunctionDefinition(Initializer) is true, then [...] 7. If environment is undefined, return PutValue(lhs, v). 8. Return InitializeReferencedBinding(lhs, v). --- 2174 -
dstr-dflt-ary-ptrn-elem-id-init-hole.js --- description: Destructuring initializer with a "hole" (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). [...] 7. If environment is undefined, return PutValue(lhs, v). 8. Return InitializeReferencedBinding(lhs, v). --- 1948 -
dstr-dflt-ary-ptrn-elem-id-init-skipped.js --- description: Destructuring initializer is not evaluated when value is not `undefined` (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then [...] 7. If environment is undefined, return PutValue(lhs, v). 8. Return InitializeReferencedBinding(lhs, v). --- 2108 -
dstr-dflt-ary-ptrn-elem-id-init-throws.js --- description: Destructuring initializer returns an abrupt completion (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). c. ReturnIfAbrupt(v). --- 1807 -
dstr-dflt-ary-ptrn-elem-id-init-undef.js --- description: Destructuring initializer with an undefined value (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). [...] 7. If environment is undefined, return PutValue(lhs, v). 8. Return InitializeReferencedBinding(lhs, v). --- 1954 -
dstr-dflt-ary-ptrn-elem-id-init-unresolvable.js --- description: Destructuring initializer is an unresolvable reference (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). c. ReturnIfAbrupt(v). 6.2.3.1 GetValue (V) 1. ReturnIfAbrupt(V). 2. If Type(V) is not Reference, return V. 3. Let base be GetBase(V). 4. If IsUnresolvableReference(V), throw a ReferenceError exception. --- 1987 -
dstr-dflt-ary-ptrn-elem-id-iter-complete.js --- description: SingleNameBinding when value iteration completes (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). b. If next is an abrupt completion, set iteratorRecord.[[done]] to true. c. ReturnIfAbrupt(next). d. If next is false, set iteratorRecord.[[done]] to true. e. Else, [...] 5. If iteratorRecord.[[done]] is true, let v be undefined. [...] 8. Return InitializeReferencedBinding(lhs, v). --- 2102 -
dstr-dflt-ary-ptrn-elem-id-iter-done.js --- description: SingleNameBinding when value iteration was completed previously (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 4. If iteratorRecord.[[done]] is false, then [...] 5. If iteratorRecord.[[done]] is true, let v be undefined. [...] 8. Return InitializeReferencedBinding(lhs, v). --- 1855 -
dstr-dflt-ary-ptrn-elem-id-iter-step-err.js --- description: Error forwarding when IteratorStep returns an abrupt completion (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [Symbol.iterator, destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). b. If next is an abrupt completion, set iteratorRecord.[[done]] to true. c. ReturnIfAbrupt(next). --- 1933 -
dstr-dflt-ary-ptrn-elem-id-iter-val-err.js --- description: Error forwarding when IteratorValue returns an abrupt completion (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [Symbol.iterator, destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). b. If next is an abrupt completion, set iteratorRecord.[[done]] to true. c. ReturnIfAbrupt(next). d. If next is false, set iteratorRecord.[[done]] to true. e. Else, i. Let v be IteratorValue(next). ii. If v is an abrupt completion, set iteratorRecord.[[done]] to true. iii. ReturnIfAbrupt(v). --- 2297 -
dstr-dflt-ary-ptrn-elem-id-iter-val.js --- description: SingleNameBinding when value iteration was completed previously (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). b. If next is an abrupt completion, set iteratorRecord.[[done]] to true. c. ReturnIfAbrupt(next). d. If next is false, set iteratorRecord.[[done]] to true. e. Else, [...] i. Let v be IteratorValue(next). ii. If v is an abrupt completion, set iteratorRecord.[[done]] to true. iii. ReturnIfAbrupt(v). 5. If iteratorRecord.[[done]] is true, let v be undefined. [...] 8. Return InitializeReferencedBinding(lhs, v). --- 2341 -
dstr-dflt-ary-ptrn-elem-obj-id-init.js --- description: BindingElement with object binding pattern and initializer is used (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPatternInitializer opt [...] 2. If iteratorRecord.[[done]] is true, let v be undefined. 3. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be ? GetValue(defaultValue). 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. --- 2106 -
dstr-dflt-ary-ptrn-elem-obj-id.js --- description: BindingElement with object binding pattern and initializer is not used (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPatternInitializer opt [...] 2. If iteratorRecord.[[done]] is true, let v be undefined. 3. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be ? GetValue(defaultValue). 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. --- 2128 -
dstr-dflt-ary-ptrn-elem-obj-prop-id-init.js --- description: BindingElement with object binding pattern and initializer is used (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPatternInitializer opt [...] 2. If iteratorRecord.[[done]] is true, let v be undefined. 3. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be ? GetValue(defaultValue). 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. --- 2301 -
dstr-dflt-ary-ptrn-elem-obj-prop-id.js --- description: BindingElement with object binding pattern and initializer is not used (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPatternInitializer opt [...] 2. If iteratorRecord.[[done]] is true, let v be undefined. 3. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be ? GetValue(defaultValue). 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. --- 2326 -
dstr-dflt-ary-ptrn-elem-obj-val-null.js --- description: Nested object destructuring with a null value (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPattern Initializeropt 1. If iteratorRecord.[[done]] is false, then [...] e. Else i. Let v be IteratorValue(next). [...] 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. 13.3.3.5 Runtime Semantics: BindingInitialization BindingPattern : ObjectBindingPattern 1. Let valid be RequireObjectCoercible(value). 2. ReturnIfAbrupt(valid). --- 1974 -
dstr-dflt-ary-ptrn-elem-obj-val-undef.js --- description: Nested object destructuring with a value of `undefined` (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingElement : BindingPattern Initializeropt 1. If iteratorRecord.[[done]] is false, then [...] e. Else i. Let v be IteratorValue(next). [...] 4. Return the result of performing BindingInitialization of BindingPattern with v and environment as the arguments. 13.3.3.5 Runtime Semantics: BindingInitialization BindingPattern : ObjectBindingPattern 1. Let valid be RequireObjectCoercible(value). 2. ReturnIfAbrupt(valid). --- 1981 -
dstr-dflt-ary-ptrn-elision-exhausted.js --- description: Elision accepts exhausted iterator (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [generators, destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization ArrayBindingPattern : [ Elision ] 1. Return the result of performing IteratorDestructuringAssignmentEvaluation of Elision with iteratorRecord as the argument. 12.14.5.3 Runtime Semantics: IteratorDestructuringAssignmentEvaluation Elision : , 1. If iteratorRecord.[[done]] is false, then [...] 2. Return NormalCompletion(empty). --- 1972 -
dstr-dflt-ary-ptrn-elision-step-err.js --- description: Elision advances iterator and forwards abrupt completions (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [generators, destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization ArrayBindingPattern : [ Elision ] 1. Return the result of performing IteratorDestructuringAssignmentEvaluation of Elision with iteratorRecord as the argument. 12.14.5.3 Runtime Semantics: IteratorDestructuringAssignmentEvaluation Elision : , 1. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). b. If next is an abrupt completion, set iteratorRecord.[[done]] to true. c. ReturnIfAbrupt(next). --- 2176 -
dstr-dflt-ary-ptrn-elision.js --- description: Elision advances iterator (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [generators, destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization ArrayBindingPattern : [ Elision ] 1. Return the result of performing IteratorDestructuringAssignmentEvaluation of Elision with iteratorRecord as the argument. 12.14.5.3 Runtime Semantics: IteratorDestructuringAssignmentEvaluation Elision : , 1. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). b. If next is an abrupt completion, set iteratorRecord.[[done]] to true. c. ReturnIfAbrupt(next). d. If next is false, set iteratorRecord.[[done]] to true. 2. Return NormalCompletion(empty). --- 2285 -
dstr-dflt-ary-ptrn-empty.js --- description: No iteration occurs for an "empty" array binding pattern (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [generators, destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization ArrayBindingPattern : [ ] 1. Return NormalCompletion(empty). --- 1733 -
dstr-dflt-ary-ptrn-rest-ary-elem.js --- description: Rest element containing an array BindingElementList pattern (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingRestElement : ... BindingPattern 1. Let A be ArrayCreate(0). [...] 3. Repeat [...] b. If iteratorRecord.[[done]] is true, then i. Return the result of performing BindingInitialization of BindingPattern with A and environment as the arguments. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). b. If next is an abrupt completion, set iteratorRecord.[[done]] to true. c. ReturnIfAbrupt(next). d. If next is false, set iteratorRecord.[[done]] to true. e. Else, [...] i. Let v be IteratorValue(next). ii. If v is an abrupt completion, set iteratorRecord.[[done]] to true. iii. ReturnIfAbrupt(v). 5. If iteratorRecord.[[done]] is true, let v be undefined. [...] 8. Return InitializeReferencedBinding(lhs, v). --- 2720 -
dstr-dflt-ary-ptrn-rest-ary-elision.js --- description: Rest element containing an elision (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [generators, destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingRestElement : ... BindingPattern 1. Let A be ArrayCreate(0). [...] 3. Repeat [...] b. If iteratorRecord.[[done]] is true, then i. Return the result of performing BindingInitialization of BindingPattern with A and environment as the arguments. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization ArrayBindingPattern : [ Elision ] 1. Return the result of performing IteratorDestructuringAssignmentEvaluation of Elision with iteratorRecord as the argument. 12.14.5.3 Runtime Semantics: IteratorDestructuringAssignmentEvaluation Elision : , 1. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). b. If next is an abrupt completion, set iteratorRecord.[[done]] to true. c. ReturnIfAbrupt(next). d. If next is false, set iteratorRecord.[[done]] to true. 2. Return NormalCompletion(empty). --- 2689 -
dstr-dflt-ary-ptrn-rest-ary-empty.js --- description: Rest element containing an "empty" array pattern (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [generators, destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingRestElement : ... BindingPattern 1. Let A be ArrayCreate(0). [...] 3. Repeat [...] b. If iteratorRecord.[[done]] is true, then i. Return the result of performing BindingInitialization of BindingPattern with A and environment as the arguments. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization ArrayBindingPattern : [ ] 1. Return NormalCompletion(empty). --- 2120 -
dstr-dflt-ary-ptrn-rest-ary-rest.js --- description: Rest element containing a rest element (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingRestElement : ... BindingPattern 1. Let A be ArrayCreate(0). [...] 3. Repeat [...] b. If iteratorRecord.[[done]] is true, then i. Return the result of performing BindingInitialization of BindingPattern with A and environment as the arguments. [...] --- 2071 -
dstr-dflt-ary-ptrn-rest-id-elision-next-err.js --- description: Rest element following elision elements (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [generators, destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization ArrayBindingPattern : [ Elisionopt BindingRestElement ] 1. If Elision is present, then a. Let status be the result of performing IteratorDestructuringAssignmentEvaluation of Elision with iteratorRecord as the argument. b. ReturnIfAbrupt(status). 2. Return the result of performing IteratorBindingInitialization for BindingRestElement with iteratorRecord and environment as arguments. --- 1989 -
dstr-dflt-ary-ptrn-rest-id-elision.js --- description: Rest element following elision elements (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization ArrayBindingPattern : [ Elisionopt BindingRestElement ] 1. If Elision is present, then a. Let status be the result of performing IteratorDestructuringAssignmentEvaluation of Elision with iteratorRecord as the argument. b. ReturnIfAbrupt(status). 2. Return the result of performing IteratorBindingInitialization for BindingRestElement with iteratorRecord and environment as arguments. --- 2198 -
dstr-dflt-ary-ptrn-rest-id-exhausted.js --- description: RestElement applied to an exhausted iterator (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [Symbol.iterator, destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingRestElement : ... BindingIdentifier 1. Let lhs be ResolveBinding(StringValue of BindingIdentifier, environment). 2. ReturnIfAbrupt(lhs). 3. Let A be ArrayCreate(0). 4. Let n=0. 5. Repeat, [...] b. If iteratorRecord.[[done]] is true, then i. If environment is undefined, return PutValue(lhs, A). ii. Return InitializeReferencedBinding(lhs, A). --- 2037 -
dstr-dflt-ary-ptrn-rest-id-iter-step-err.js --- description: Error forwarding when IteratorStep returns an abrupt completion (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [generators, destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingRestElement : ... BindingIdentifier 1. Let lhs be ResolveBinding(StringValue of BindingIdentifier, environment). 2. ReturnIfAbrupt(lhs). 3. Let A be ArrayCreate(0). 4. Let n=0. 5. Repeat, a. If iteratorRecord.[[done]] is false, i. Let next be IteratorStep(iteratorRecord.[[iterator]]). ii. If next is an abrupt completion, set iteratorRecord.[[done]] to true. iii. ReturnIfAbrupt(next). --- 2217 -
dstr-dflt-ary-ptrn-rest-id-iter-val-err.js --- description: Error forwarding when IteratorValue returns an abrupt completion (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [Symbol.iterator, destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingRestElement : ... BindingIdentifier 1. Let lhs be ResolveBinding(StringValue of BindingIdentifier, environment). 2. ReturnIfAbrupt(lhs). 3. Let A be ArrayCreate(0). 4. Let n=0. 5. Repeat, [...] c. Let nextValue be IteratorValue(next). d. If nextValue is an abrupt completion, set iteratorRecord.[[done]] to true. e. ReturnIfAbrupt(nextValue). --- 2168 -
dstr-dflt-ary-ptrn-rest-id.js --- description: Lone rest element (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingRestElement : ... BindingIdentifier [...] 3. Let A be ArrayCreate(0). [...] 5. Repeat [...] f. Let status be CreateDataProperty(A, ToString (n), nextValue). [...] --- 1919 -
dstr-dflt-ary-ptrn-rest-init-ary.js --- description: Reset element (nested array pattern) does not support initializer (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3 Destructuring Binding Patterns ArrayBindingPattern[Yield] : [ Elisionopt BindingRestElement[?Yield]opt ] [ BindingElementList[?Yield] ] [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ] --- 1866 -
dstr-dflt-ary-ptrn-rest-init-id.js --- description: Reset element (identifier) does not support initializer (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3 Destructuring Binding Patterns ArrayBindingPattern[Yield] : [ Elisionopt BindingRestElement[?Yield]opt ] [ BindingElementList[?Yield] ] [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ] --- 1851 -
dstr-dflt-ary-ptrn-rest-init-obj.js --- description: Reset element (nested object pattern) does not support initializer (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3 Destructuring Binding Patterns ArrayBindingPattern[Yield] : [ Elisionopt BindingRestElement[?Yield]opt ] [ BindingElementList[?Yield] ] [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ] --- 1867 -
dstr-dflt-ary-ptrn-rest-not-final-ary.js --- description: Rest element (array binding pattern) may not be followed by any element (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3 Destructuring Binding Patterns ArrayBindingPattern[Yield] : [ Elisionopt BindingRestElement[?Yield]opt ] [ BindingElementList[?Yield] ] [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ] --- 1880 -
dstr-dflt-ary-ptrn-rest-not-final-id.js --- description: Rest element (identifier) may not be followed by any element (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3 Destructuring Binding Patterns ArrayBindingPattern[Yield] : [ Elisionopt BindingRestElement[?Yield]opt ] [ BindingElementList[?Yield] ] [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ] --- 1866 -
dstr-dflt-ary-ptrn-rest-not-final-obj.js --- description: Rest element (object binding pattern) may not be followed by any element (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3 Destructuring Binding Patterns ArrayBindingPattern[Yield] : [ Elisionopt BindingRestElement[?Yield]opt ] [ BindingElementList[?Yield] ] [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ] --- 1883 -
dstr-dflt-ary-ptrn-rest-obj-id.js --- description: Rest element containing an object binding pattern (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingRestElement : ... BindingPattern 1. Let A be ArrayCreate(0). [...] 3. Repeat [...] b. If iteratorRecord.[[done]] is true, then i. Return the result of performing BindingInitialization of BindingPattern with A and environment as the arguments. [...] --- 1911 -
dstr-dflt-ary-ptrn-rest-obj-prop-id.js --- description: Rest element containing an object binding pattern (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization BindingRestElement : ... BindingPattern 1. Let A be ArrayCreate(0). [...] 3. Repeat [...] b. If iteratorRecord.[[done]] is true, then i. Return the result of performing BindingInitialization of BindingPattern with A and environment as the arguments. [...] --- 2158 -
dstr-dflt-obj-init-null.js --- description: Value specifed for object binding pattern must be object coercible (null) (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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: BindingInitialization ObjectBindingPattern : { } 1. Return NormalCompletion(empty). --- 1541 -
dstr-dflt-obj-init-undefined.js --- description: Value specifed for object binding pattern must be object coercible (undefined) (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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: BindingInitialization ObjectBindingPattern : { } 1. Return NormalCompletion(empty). --- 1556 -
dstr-dflt-obj-ptrn-empty.js --- description: No property access occurs for an "empty" object binding pattern (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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: BindingInitialization ObjectBindingPattern : { } 1. Return NormalCompletion(empty). --- 1759 -
dstr-dflt-obj-ptrn-id-get-value-err.js --- description: Error thrown when accessing the corresponding property of the value object (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 4. Let v be GetV(value, propertyName). 5. ReturnIfAbrupt(v). --- 1780 -
dstr-dflt-obj-ptrn-id-init-fn-name-arrow.js --- description: SingleNameBinding assigns `name` to arrow functions (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then [...] d. If IsAnonymousFunctionDefinition(Initializer) is true, then i. Let hasNameProperty be HasOwnProperty(v, "name"). ii. ReturnIfAbrupt(hasNameProperty). iii. If hasNameProperty is false, perform SetFunctionName(v, bindingId). --- 2028 -
dstr-dflt-obj-ptrn-id-init-fn-name-class.js --- description: SingleNameBinding assigns `name` to "anonymous" classes (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then [...] d. If IsAnonymousFunctionDefinition(Initializer) is true, then i. Let hasNameProperty be HasOwnProperty(v, "name"). ii. ReturnIfAbrupt(hasNameProperty). iii. If hasNameProperty is false, perform SetFunctionName(v, bindingId). --- 2167 -
dstr-dflt-obj-ptrn-id-init-fn-name-cover.js --- description: SingleNameBinding assigns `name` to "anonymous" functions "through" cover grammar (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then [...] d. If IsAnonymousFunctionDefinition(Initializer) is true, then i. Let hasNameProperty be HasOwnProperty(v, "name"). ii. ReturnIfAbrupt(hasNameProperty). iii. If hasNameProperty is false, perform SetFunctionName(v, bindingId). --- 2142 -
dstr-dflt-obj-ptrn-id-init-fn-name-fn.js --- description: SingleNameBinding assigns name to "anonymous" functions (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then [...] d. If IsAnonymousFunctionDefinition(Initializer) is true, then i. Let hasNameProperty be HasOwnProperty(v, "name"). ii. ReturnIfAbrupt(hasNameProperty). iii. If hasNameProperty is false, perform SetFunctionName(v, bindingId). --- 2089 -
dstr-dflt-obj-ptrn-id-init-fn-name-gen.js --- description: SingleNameBinding assigns name to "anonymous" generator functions (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [generators, destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then [...] d. If IsAnonymousFunctionDefinition(Initializer) is true, then i. Let hasNameProperty be HasOwnProperty(v, "name"). ii. ReturnIfAbrupt(hasNameProperty). iii. If hasNameProperty is false, perform SetFunctionName(v, bindingId). --- 2121 -
dstr-dflt-obj-ptrn-id-init-skipped.js --- description: Destructuring initializer is not evaluated when value is not `undefined` (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then [...] [...] --- 2014 -
dstr-dflt-obj-ptrn-id-init-throws.js --- description: Error thrown when evaluating the initializer (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). c. ReturnIfAbrupt(v). --- 1799 -
dstr-dflt-obj-ptrn-id-init-unresolvable.js --- description: Destructuring initializer is an unresolvable reference (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). c. ReturnIfAbrupt(v). 6.2.3.1 GetValue (V) 1. ReturnIfAbrupt(V). 2. If Type(V) is not Reference, return V. 3. Let base be GetBase(V). 4. If IsUnresolvableReference(V), throw a ReferenceError exception. --- 1979 -
dstr-dflt-obj-ptrn-id-trailing-comma.js --- description: Trailing comma is allowed following BindingPropertyList (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3 Destructuring Binding Patterns ObjectBindingPattern[Yield] : { } { BindingPropertyList[?Yield] } { BindingPropertyList[?Yield] , } --- 1701 -
dstr-dflt-obj-ptrn-list-err.js --- description: Binding property list evaluation is interrupted by an abrupt completion (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.5 Runtime Semantics: BindingInitialization BindingPropertyList : BindingPropertyList , BindingProperty 1. Let status be the result of performing BindingInitialization for BindingPropertyList using value and environment as arguments. 2. ReturnIfAbrupt(status). --- 1857 -
dstr-dflt-obj-ptrn-prop-ary-init.js --- description: Object binding pattern with "nested" array binding pattern using initializer (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization [...] 3. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). c. ReturnIfAbrupt(v). 4. Return the result of performing BindingInitialization for BindingPattern passing v and environment as arguments. --- 2067 -
dstr-dflt-obj-ptrn-prop-ary-trailing-comma.js --- description: Trailing comma is allowed following BindingPropertyList (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3 Destructuring Binding Patterns ObjectBindingPattern[Yield] : { } { BindingPropertyList[?Yield] } { BindingPropertyList[?Yield] , } --- 1713 -
dstr-dflt-obj-ptrn-prop-ary-value-null.js --- description: Object binding pattern with "nested" array binding pattern taking the `null` value (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization [...] 3. If Initializer is present and v is undefined, then [...] 4. Return the result of performing BindingInitialization for BindingPattern passing v and environment as arguments. --- 1749 -
dstr-dflt-obj-ptrn-prop-ary.js --- description: Object binding pattern with "nested" array binding pattern not using initializer (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization [...] 3. If Initializer is present and v is undefined, then [...] 4. Return the result of performing BindingInitialization for BindingPattern passing v and environment as arguments. --- 1976 -
dstr-dflt-obj-ptrn-prop-eval-err.js --- description: Evaluation of property name returns an abrupt completion (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.5 Runtime Semantics: BindingInitialization BindingProperty : PropertyName : BindingElement 1. Let P be the result of evaluating PropertyName 2. ReturnIfAbrupt(P). --- 1672 -
dstr-dflt-obj-ptrn-prop-id-get-value-err.js --- description: Error thrown when accessing the corresponding property of the value object (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization BindingElement : BindingPattern Initializeropt 1. Let v be GetV(value, propertyName). 2. ReturnIfAbrupt(v). --- 1850 -
dstr-dflt-obj-ptrn-prop-id-init-skipped.js --- description: Destructuring initializer is not evaluated when value is not `undefined` (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization BindingElement : BindingPattern Initializeropt [...] 3. If Initializer is present and v is undefined, then [...] --- 2245 -
dstr-dflt-obj-ptrn-prop-id-init-throws.js --- description: Error thrown when evaluating the initializer (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization BindingElement : BindingPattern Initializeropt [...] 3. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). c. ReturnIfAbrupt(v). --- 1800 -
dstr-dflt-obj-ptrn-prop-id-init-unresolvable.js --- description: Destructuring initializer is an unresolvable reference (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization BindingElement : BindingPattern Initializeropt [...] 3. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). c. ReturnIfAbrupt(v). 6.2.3.1 GetValue (V) 1. ReturnIfAbrupt(V). 2. If Type(V) is not Reference, return V. 3. Let base be GetBase(V). 4. If IsUnresolvableReference(V), throw a ReferenceError exception. --- 1981 -
dstr-dflt-obj-ptrn-prop-id-init.js --- description: Binding as specified via property name, identifier, and initializer (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 8. Return InitializeReferencedBinding(lhs, v). --- 1775 -
dstr-dflt-obj-ptrn-prop-id-trailing-comma.js --- description: Trailing comma is allowed following BindingPropertyList (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3 Destructuring Binding Patterns ObjectBindingPattern[Yield] : { } { BindingPropertyList[?Yield] } { BindingPropertyList[?Yield] , } --- 1768 -
dstr-dflt-obj-ptrn-prop-id.js --- description: Binding as specified via property name and identifier (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 8. Return InitializeReferencedBinding(lhs, v). --- 1757 -
dstr-dflt-obj-ptrn-prop-obj-init.js --- description: Object binding pattern with "nested" object binding pattern using initializer (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization [...] 3. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). c. ReturnIfAbrupt(v). 4. Return the result of performing BindingInitialization for BindingPattern passing v and environment as arguments. --- 2095 -
dstr-dflt-obj-ptrn-prop-obj-value-null.js --- description: Object binding pattern with "nested" object binding pattern taking the `null` value (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization [...] 3. If Initializer is present and v is undefined, then [...] 4. Return the result of performing BindingInitialization for BindingPattern passing v and environment as arguments. --- 1763 -
dstr-dflt-obj-ptrn-prop-obj-value-undef.js --- description: Object binding pattern with "nested" object binding pattern taking the `null` value (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization [...] 3. If Initializer is present and v is undefined, then [...] 4. Return the result of performing BindingInitialization for BindingPattern passing v and environment as arguments. --- 1745 -
dstr-dflt-obj-ptrn-prop-obj.js --- description: Object binding pattern with "nested" object binding pattern not using initializer (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization [...] 3. If Initializer is present and v is undefined, then [...] 4. Return the result of performing BindingInitialization for BindingPattern passing v and environment as arguments. --- 1996 -
dstr-dflt-obj-ptrn-rest-getter.js --- description: Getter is called when obj is being deconstructed to a rest Object (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [object-rest, destructuring-binding, default-parameters] flags: [generated] includes: [propertyHelper.js] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] --- 1732 -
dstr-dflt-obj-ptrn-rest-skip-non-enumerable.js --- description: Rest object doesn't contain non-enumerable properties (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [object-rest, destructuring-binding, default-parameters] flags: [generated] includes: [propertyHelper.js] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] --- 1902 -
dstr-dflt-obj-ptrn-rest-val-obj.js --- description: Rest object contains just unextracted data (function expression (default parameter)) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [object-rest, destructuring-binding, default-parameters] flags: [generated] includes: [propertyHelper.js] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] --- 1861 -
dstr-obj-init-null.js --- description: Value specifed for object binding pattern must be object coercible (null) (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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: BindingInitialization ObjectBindingPattern : { } 1. Return NormalCompletion(empty). --- 1493 -
dstr-obj-init-undefined.js --- description: Value specifed for object binding pattern must be object coercible (undefined) (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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: BindingInitialization ObjectBindingPattern : { } 1. Return NormalCompletion(empty). --- 1508 -
dstr-obj-ptrn-empty.js --- description: No property access occurs for an "empty" object binding pattern (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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: BindingInitialization ObjectBindingPattern : { } 1. Return NormalCompletion(empty). --- 1711 -
dstr-obj-ptrn-id-get-value-err.js --- description: Error thrown when accessing the corresponding property of the value object (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 4. Let v be GetV(value, propertyName). 5. ReturnIfAbrupt(v). --- 1732 -
dstr-obj-ptrn-id-init-fn-name-arrow.js --- description: SingleNameBinding assigns `name` to arrow functions (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then [...] d. If IsAnonymousFunctionDefinition(Initializer) is true, then i. Let hasNameProperty be HasOwnProperty(v, "name"). ii. ReturnIfAbrupt(hasNameProperty). iii. If hasNameProperty is false, perform SetFunctionName(v, bindingId). --- 1980 -
dstr-obj-ptrn-id-init-fn-name-class.js --- description: SingleNameBinding assigns `name` to "anonymous" classes (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then [...] d. If IsAnonymousFunctionDefinition(Initializer) is true, then i. Let hasNameProperty be HasOwnProperty(v, "name"). ii. ReturnIfAbrupt(hasNameProperty). iii. If hasNameProperty is false, perform SetFunctionName(v, bindingId). --- 2119 -
dstr-obj-ptrn-id-init-fn-name-cover.js --- description: SingleNameBinding assigns `name` to "anonymous" functions "through" cover grammar (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then [...] d. If IsAnonymousFunctionDefinition(Initializer) is true, then i. Let hasNameProperty be HasOwnProperty(v, "name"). ii. ReturnIfAbrupt(hasNameProperty). iii. If hasNameProperty is false, perform SetFunctionName(v, bindingId). --- 2094 -
dstr-obj-ptrn-id-init-fn-name-fn.js --- description: SingleNameBinding assigns name to "anonymous" functions (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then [...] d. If IsAnonymousFunctionDefinition(Initializer) is true, then i. Let hasNameProperty be HasOwnProperty(v, "name"). ii. ReturnIfAbrupt(hasNameProperty). iii. If hasNameProperty is false, perform SetFunctionName(v, bindingId). --- 2041 -
dstr-obj-ptrn-id-init-fn-name-gen.js --- description: SingleNameBinding assigns name to "anonymous" generator functions (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [generators, destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then [...] d. If IsAnonymousFunctionDefinition(Initializer) is true, then i. Let hasNameProperty be HasOwnProperty(v, "name"). ii. ReturnIfAbrupt(hasNameProperty). iii. If hasNameProperty is false, perform SetFunctionName(v, bindingId). --- 2073 -
dstr-obj-ptrn-id-init-skipped.js --- description: Destructuring initializer is not evaluated when value is not `undefined` (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then [...] [...] --- 1966 -
dstr-obj-ptrn-id-init-throws.js --- description: Error thrown when evaluating the initializer (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). c. ReturnIfAbrupt(v). --- 1751 -
dstr-obj-ptrn-id-init-unresolvable.js --- description: Destructuring initializer is an unresolvable reference (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 6. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). c. ReturnIfAbrupt(v). 6.2.3.1 GetValue (V) 1. ReturnIfAbrupt(V). 2. If Type(V) is not Reference, return V. 3. Let base be GetBase(V). 4. If IsUnresolvableReference(V), throw a ReferenceError exception. --- 1931 -
dstr-obj-ptrn-id-trailing-comma.js --- description: Trailing comma is allowed following BindingPropertyList (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3 Destructuring Binding Patterns ObjectBindingPattern[Yield] : { } { BindingPropertyList[?Yield] } { BindingPropertyList[?Yield] , } --- 1653 -
dstr-obj-ptrn-list-err.js --- description: Binding property list evaluation is interrupted by an abrupt completion (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.5 Runtime Semantics: BindingInitialization BindingPropertyList : BindingPropertyList , BindingProperty 1. Let status be the result of performing BindingInitialization for BindingPropertyList using value and environment as arguments. 2. ReturnIfAbrupt(status). --- 1809 -
dstr-obj-ptrn-prop-ary-init.js --- description: Object binding pattern with "nested" array binding pattern using initializer (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization [...] 3. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). c. ReturnIfAbrupt(v). 4. Return the result of performing BindingInitialization for BindingPattern passing v and environment as arguments. --- 2019 -
dstr-obj-ptrn-prop-ary-trailing-comma.js --- description: Trailing comma is allowed following BindingPropertyList (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3 Destructuring Binding Patterns ObjectBindingPattern[Yield] : { } { BindingPropertyList[?Yield] } { BindingPropertyList[?Yield] , } --- 1665 -
dstr-obj-ptrn-prop-ary-value-null.js --- description: Object binding pattern with "nested" array binding pattern taking the `null` value (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization [...] 3. If Initializer is present and v is undefined, then [...] 4. Return the result of performing BindingInitialization for BindingPattern passing v and environment as arguments. --- 1701 -
dstr-obj-ptrn-prop-ary.js --- description: Object binding pattern with "nested" array binding pattern not using initializer (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization [...] 3. If Initializer is present and v is undefined, then [...] 4. Return the result of performing BindingInitialization for BindingPattern passing v and environment as arguments. --- 1928 -
dstr-obj-ptrn-prop-eval-err.js --- description: Evaluation of property name returns an abrupt completion (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.5 Runtime Semantics: BindingInitialization BindingProperty : PropertyName : BindingElement 1. Let P be the result of evaluating PropertyName 2. ReturnIfAbrupt(P). --- 1624 -
dstr-obj-ptrn-prop-id-get-value-err.js --- description: Error thrown when accessing the corresponding property of the value object (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization BindingElement : BindingPattern Initializeropt 1. Let v be GetV(value, propertyName). 2. ReturnIfAbrupt(v). --- 1802 -
dstr-obj-ptrn-prop-id-init-skipped.js --- description: Destructuring initializer is not evaluated when value is not `undefined` (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization BindingElement : BindingPattern Initializeropt [...] 3. If Initializer is present and v is undefined, then [...] --- 2197 -
dstr-obj-ptrn-prop-id-init-throws.js --- description: Error thrown when evaluating the initializer (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization BindingElement : BindingPattern Initializeropt [...] 3. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). c. ReturnIfAbrupt(v). --- 1752 -
dstr-obj-ptrn-prop-id-init-unresolvable.js --- description: Destructuring initializer is an unresolvable reference (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization BindingElement : BindingPattern Initializeropt [...] 3. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). c. ReturnIfAbrupt(v). 6.2.3.1 GetValue (V) 1. ReturnIfAbrupt(V). 2. If Type(V) is not Reference, return V. 3. Let base be GetBase(V). 4. If IsUnresolvableReference(V), throw a ReferenceError exception. --- 1933 -
dstr-obj-ptrn-prop-id-init.js --- description: Binding as specified via property name, identifier, and initializer (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 8. Return InitializeReferencedBinding(lhs, v). --- 1727 -
dstr-obj-ptrn-prop-id-trailing-comma.js --- description: Trailing comma is allowed following BindingPropertyList (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3 Destructuring Binding Patterns ObjectBindingPattern[Yield] : { } { BindingPropertyList[?Yield] } { BindingPropertyList[?Yield] , } --- 1720 -
dstr-obj-ptrn-prop-id.js --- description: Binding as specified via property name and identifier (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization SingleNameBinding : BindingIdentifier Initializeropt [...] 8. Return InitializeReferencedBinding(lhs, v). --- 1709 -
dstr-obj-ptrn-prop-obj-init.js --- description: Object binding pattern with "nested" object binding pattern using initializer (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization [...] 3. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). c. ReturnIfAbrupt(v). 4. Return the result of performing BindingInitialization for BindingPattern passing v and environment as arguments. --- 2047 -
dstr-obj-ptrn-prop-obj-value-null.js --- description: Object binding pattern with "nested" object binding pattern taking the `null` value (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization [...] 3. If Initializer is present and v is undefined, then [...] 4. Return the result of performing BindingInitialization for BindingPattern passing v and environment as arguments. --- 1715 -
dstr-obj-ptrn-prop-obj-value-undef.js --- description: Object binding pattern with "nested" object binding pattern taking the `null` value (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization [...] 3. If Initializer is present and v is undefined, then [...] 4. Return the result of performing BindingInitialization for BindingPattern passing v and environment as arguments. --- 1697 -
dstr-obj-ptrn-prop-obj.js --- description: Object binding pattern with "nested" object binding pattern not using initializer (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [destructuring-binding] flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] 13.3.3.7 Runtime Semantics: KeyedBindingInitialization [...] 3. If Initializer is present and v is undefined, then [...] 4. Return the result of performing BindingInitialization for BindingPattern passing v and environment as arguments. --- 1948 -
dstr-obj-ptrn-rest-getter.js --- description: Getter is called when obj is being deconstructed to a rest Object (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [object-rest, destructuring-binding] flags: [generated] includes: [propertyHelper.js] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] --- 1684 -
dstr-obj-ptrn-rest-skip-non-enumerable.js --- description: Rest object doesn't contain non-enumerable properties (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [object-rest, destructuring-binding] flags: [generated] includes: [propertyHelper.js] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] --- 1854 -
dstr-obj-ptrn-rest-val-obj.js --- description: Rest object contains just unextracted data (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [object-rest, destructuring-binding] flags: [generated] includes: [propertyHelper.js] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. [...] --- 1813 -
early-body-super-call.js --- esid: sec-function-definitions-static-semantics-early-errors es6id: 14.1.2 description: Body may not contain a "super" call info: | It is a Syntax Error if FunctionBody Contains SuperCall is true. negative: phase: parse type: SyntaxError --- 484 -
early-body-super-prop.js --- esid: sec-function-definitions-static-semantics-early-errors es6id: 14.1.2 description: Body may not contain a "super" property reference info: | It is a Syntax Error if FunctionBody Contains SuperProperty is true. negative: phase: parse type: SyntaxError --- 502 -
early-params-super-call.js --- esid: sec-function-definitions-static-semantics-early-errors es6id: 14.1.2 description: Parameters may not contain a "super" call info: | It is a Syntax Error if FormalParameters Contains SuperProperty is true. negative: phase: parse type: SyntaxError --- 497 -
early-params-super-prop.js --- esid: sec-function-definitions-static-semantics-early-errors es6id: 14.1.2 description: Parameters may not contain a "super" property reference info: | It is a Syntax Error if FunctionBody Contains SuperProperty is true. negative: phase: parse type: SyntaxError --- 507 -
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] --- 1817 -
name-arguments-non-strict.js --- es5id: 13.1-3-8 description: > arguments allowed as function identifier in non-strict function expression flags: [noStrict] --- 308 -
name-arguments-strict-body.js --- es5id: 13.1-42-s description: > StrictMode - SyntaxError is thrown if 'arguments' occurs as the Identifier of a FunctionExpression whose FunctionBody is contained in strict code negative: phase: parse type: SyntaxError flags: [noStrict] --- 501 -
name-arguments-strict.js --- es5id: 13.1-14-s description: > StrictMode - SyntaxError is thrown if 'arguments' occurs as the Identifier of a FunctionExpression in strict mode negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 454 -
name-eval-non-strict.js --- es5id: 13.1-3-2 description: > eval allowed as function identifier in non-strict function expression flags: [noStrict] --- 297 -
name-eval-strict-body.js --- es5id: 13.1-38-s description: > StrictMode - SyntaxError is thrown if 'eval' occurs as the Identifier of a FunctionExpression whose FunctionBody is contained in strict code negative: phase: parse type: SyntaxError flags: [noStrict] --- 491 -
name-eval-strict.js --- es5id: 13.1-12-s description: > StrictMode - SyntaxError is thrown if 'eval' occurs as the Identifier of a FunctionExpression in strict mode negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 444 -
name-eval-stricteval.js --- es5id: 13.1-37-s description: > StrictMode - SyntaxError is thrown if 'eval' occurs as the Identifier of a FunctionExpression in strict eval code flags: [noStrict] --- 464 -
name.js --- es6id: 14.1.20 description: Assignment of function `name` attribute info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } 1. If the function code for FunctionExpression is strict mode code, let strict be true. Otherwise let strict be false. 2. Let scope be the LexicalEnvironment of the running execution context. 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, scope, strict). 4. Perform MakeConstructor(closure). 5. Return closure. FunctionExpression : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 5. Let name be StringValue of BindingIdentifier. [...] 9. Perform SetFunctionName(closure, name). includes: [propertyHelper.js] --- 1194 -
param-arguments-non-strict.js --- es5id: 13.1-2-6 description: > arguments allowed as formal parameter name of a non-strict function expression flags: [noStrict] --- 314 -
param-dflt-yield-non-strict.js --- esid: sec-function-definitions es6id: 14.1 description: > The `yield` token is interpreted as an IdentifierReference within a generator and outside of strict mode info: | FunctionExpression : function BindingIdentifieropt ( FormalParameters ) { FunctionBody } features: [generators, default-parameters] flags: [noStrict] --- 634 -
param-dflt-yield-strict.js --- esid: sec-function-definitions es6id: 14.1 description: > The `yield` token is interpreted as an IdentifierReference within a generator and outside of strict mode info: | FunctionExpression : function BindingIdentifieropt ( FormalParameters ) { FunctionBody } features: [generators, default-parameters] flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 658 -
param-duplicated-non-strict.js --- es5id: 13.1-1-2 description: > Duplicate identifier allowed in non-strict function expression parameter list flags: [noStrict] --- 307 -
param-duplicated-strict-1.js --- info: | Refer 13.1; It is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode FunctionDeclaration or FunctionExpression. es5id: 13.1-8-s description: > Strict Mode - SyntaxError is thrown if a function is created in 'strict mode' using a FunctionExpression and the function has two identical parameters negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 686 -
param-duplicated-strict-2.js --- info: | Refer 13.1; It is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode FunctionDeclaration or FunctionExpression. es5id: 13.1-9-s description: > Strict Mode - SyntaxError is thrown if a function is created in 'strict mode' using a FunctionExpression and the function has two identical parameters, which are separated by a unique parameter name negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 748 -
param-duplicated-strict-3.js --- info: | Refer 13.1; It is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode FunctionDeclaration or FunctionExpression. es5id: 13.1-10-s description: > Strict Mode - SyntaxError is thrown if a function is created in 'strict mode' using a FunctionExpression and the function has three identical parameters negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 696 -
param-duplicated-strict-body-1.js --- info: | Refer 13.1; It is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode FunctionDeclaration or FunctionExpression. es5id: 13.1-30-s description: > Strict Mode - SyntaxError is thrown if a function is created using a FunctionExpression whose FunctionBody is contained in strict code and the function has two identical parameters negative: phase: parse type: SyntaxError flags: [noStrict] --- 729 -
param-duplicated-strict-body-2.js --- info: | Refer 13.1; It is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode FunctionDeclaration or FunctionExpression. es5id: 13.1-32-s description: > Strict Mode - SyntaxError is thrown if a function is created using a FunctionExpression whose FunctionBody is strict and the function has two identical parameters, which are separated by a unique parameter name negative: phase: parse type: SyntaxError flags: [noStrict] --- 773 -
param-duplicated-strict-body-3.js --- info: | Refer 13.1; It is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode FunctionDeclaration or FunctionExpression. es5id: 13.1-34-s description: > Strict Mode - SyntaxError is thrown if a function declaration has three identical parameters with a strict mode body negative: phase: parse type: SyntaxError flags: [noStrict] --- 668 -
param-eval-non-strict.js --- es5id: 13.1-2-2 description: > eval allowed as formal parameter name of a non-strict function expression flags: [noStrict] --- 304 -
param-eval-strict-body.js --- info: | Refer 13.1; It is a SyntaxError if the Identifier "eval" or the Identifier "arguments" occurs within a FormalParameterList of a strict mode FunctionDeclaration or FunctionExpression. es5id: 13.1-18-s description: > StrictMode - SyntaxError is thrown if the identifier 'eval' appears within a FormalParameterList of a strict mode FunctionExpression when FuctionBody is strict code negative: phase: parse type: SyntaxError flags: [noStrict] --- 721 -
param-eval-stricteval.js --- info: | Refer 13.1; It is a SyntaxError if the Identifier "eval" or the Identifier "arguments" occurs within a FormalParameterList of a strict mode FunctionDeclaration or FunctionExpression. es5id: 13.1-17-s description: > StrictMode - SyntaxError is thrown if the identifier 'eval' appears within a FormalParameterList of a strict mode FunctionExpression in strict eval code flags: [noStrict] --- 687 -
params-dflt-args-unmapped.js --- description: Referencing the arguments object from a default parameter (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [default-parameters] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. --- 2463 -
params-dflt-ref-arguments.js --- description: Referencing the arguments object from a default parameter (function expression) esid: sec-function-definitions-runtime-semantics-evaluation es6id: 14.1.20 features: [default-parameters] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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. --- 2066 -
params-trailing-comma-multiple.js --- description: A trailing comma should not increase the respective length, using multiple parameters (function expression) esid: sec-function-definitions-runtime-semantics-evaluation flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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] , --- 1761 -
params-trailing-comma-single.js --- description: A trailing comma should not increase the respective length, using a single parameter (function expression) esid: sec-function-definitions-runtime-semantics-evaluation flags: [generated] info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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] , --- 1725 -
rest-params-trailing-comma-early-error.js --- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (function expression) esid: sec-function-definitions-runtime-semantics-evaluation flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, 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] --- 1760 -
S10.1.1_A1_T2.js --- info: | Program functions are defined in source text by a FunctionDeclaration or created dynamically either by using a FunctionExpression or by using the built-in Function object as a constructor es5id: 10.1.1_A1_T2 description: Creating function dynamically by using a FunctionExpression --- 913 -
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: [let] --- 2113 -
scope-name-var-close.js --- esid: sec-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 FunctionCreate(Normal, FormalParameters, FunctionBody, funcEnv, strict). [...] --- 873 -
scope-name-var-open-non-strict.js --- esid: sec-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 FunctionCreate(Normal, FormalParameters, FunctionBody, funcEnv, strict). [...] flags: [noStrict] --- 1562 -
scope-name-var-open-strict.js --- esid: sec-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 FunctionCreate(Normal, FormalParameters, FunctionBody, funcEnv, strict). [...] flags: [onlyStrict] --- 1726 -
scope-param-elem-var-close.js --- esid: sec-function-definitions-runtime-semantics-iteratorbindinginitialization description: > Removal of variable environment for each BindingElement formal parameter info: | [...] 6. Let paramVarEnv be NewDeclarativeEnvironment(originalEnv). 7. Set the VariableEnvironment of currentContext to paramVarEnv. 8. Set the LexicalEnvironment of currentContext to paramVarEnv. 9. Let result be the result of performing IteratorBindingInitialization for BindingElement using iteratorRecord and environment as the arguments. 10. Set the VariableEnvironment of currentContext to originalEnv. 11. Set the LexicalEnvironment of currentContext to originalEnv. [...] flags: [noStrict] --- 1216 -
scope-param-elem-var-open.js --- esid: sec-function-definitions-runtime-semantics-iteratorbindinginitialization description: > Creation of new variable environment for each BindingElement formal parameter info: | [...] 6. Let paramVarEnv be NewDeclarativeEnvironment(originalEnv). 7. Set the VariableEnvironment of currentContext to paramVarEnv. 8. Set the LexicalEnvironment of currentContext to paramVarEnv. 9. Let result be the result of performing IteratorBindingInitialization for BindingElement using iteratorRecord and environment as the arguments. 10. Set the VariableEnvironment of currentContext to originalEnv. 11. Set the LexicalEnvironment of currentContext to originalEnv. [...] flags: [noStrict] --- 1132 -
scope-param-rest-elem-var-close.js --- esid: sec-function-definitions-runtime-semantics-iteratorbindinginitialization description: > Removal of variable environment for the BindingRestElement formal parameter info: | [...] 2. Let currentContext be the running execution context. 3. Let originalEnv be the VariableEnvironment of currentContext. 4. Assert: The VariableEnvironment and LexicalEnvironment of currentContext are the same. 5. Assert: environment and originalEnv are the same. 6. Let paramVarEnv be NewDeclarativeEnvironment(originalEnv). 7. Set the VariableEnvironment of currentContext to paramVarEnv. 8. Set the LexicalEnvironment of currentContext to paramVarEnv. 9. Let result be the result of performing IteratorBindingInitialization for BindingRestElement using iteratorRecord and environment as the arguments. 10. Set the VariableEnvironment of currentContext to originalEnv. 11. Set the LexicalEnvironment of currentContext to originalEnv. [...] flags: [noStrict] --- 1444 -
scope-param-rest-elem-var-open.js --- esid: sec-function-definitions-runtime-semantics-iteratorbindinginitialization description: > Creation of new variable environment for the BindingRestElement formal parameter info: | [...] 2. Let currentContext be the running execution context. 3. Let originalEnv be the VariableEnvironment of currentContext. 4. Assert: The VariableEnvironment and LexicalEnvironment of currentContext are the same. 5. Assert: environment and originalEnv are the same. 6. Let paramVarEnv be NewDeclarativeEnvironment(originalEnv). 7. Set the VariableEnvironment of currentContext to paramVarEnv. 8. Set the LexicalEnvironment of currentContext to paramVarEnv. 9. Let result be the result of performing IteratorBindingInitialization for BindingRestElement using iteratorRecord and environment as the arguments. 10. Set the VariableEnvironment of currentContext to originalEnv. 11. Set the LexicalEnvironment of currentContext to originalEnv. [...] flags: [noStrict] --- 1430 -
scope-paramsbody-var-close.js --- esid: sec-functiondeclarationinstantiation description: > Removal 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. [...] --- 1106 -
scope-paramsbody-var-open.js --- esid: sec-functiondeclarationinstantiation description: > Creation of new variable environment for the function body (as disinct 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. [...] --- 1147 -
use-strict-with-non-simple-param.js --- esid: sec-function-definitions-static-semantics-early-errors description: > A SyntaxError is thrown if a function 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 FormalParameters is false. negative: phase: parse type: SyntaxError --- 638 -