Name Description Size Coverage
13.0-7-s.js --- info: | Refer 13; The production FunctionBody : SourceElementsopt is evaluated as follows: es5id: 13.0-7-s description: > Strict Mode - SourceElements is evaluated as strict mode code when the code of this FunctionDeclaration is contained in non-strict mode but the call to eval is a direct call in strict mode code flags: [noStrict] --- 648 -
13.0-8-s.js --- info: | Refer 13; The production FunctionBody : SourceElementsopt is evaluated as follows: es5id: 13.0-8-s description: > Strict Mode - SourceElements is evaluated as strict mode code when the code of this FunctionExpression is contained in non-strict mode but the call to eval is a direct call in strict mode code flags: [onlyStrict] --- 641 -
13.0-12-s.js --- info: | Refer 13; The production FunctionBody : SourceElementsopt is evaluated as follows: es5id: 13.0-12-s description: > Strict Mode - SourceElements is not evaluated as strict mode code when a Function constructor is contained in strict mode code and the function constructor body is not strict flags: [onlyStrict] --- 571 -
13.0-13-s.js --- info: | Refer 13; The production FunctionBody : SourceElementsopt is evaluated as follows: es5id: 13.0-13-s description: > Strict Mode - SourceElements is evaluated as strict mode code when the function body of a Function constructor begins with a Strict Directive flags: [noStrict] --- 612 -
13.0-14-s.js --- info: | Refer 13; The production FunctionBody : SourceElementsopt is evaluated as follows: es5id: 13.0-14-s description: > Strict Mode - SourceElements is evaluated as strict mode code when the function body of a Function constructor contains a Strict Directive flags: [noStrict] --- 602 -
13.0-15-s.js --- info: | Refer 13; The production FunctionBody : SourceElementsopt is evaluated as follows: es5id: 13.0-15-s description: > Strict Mode - SourceElements is evaluated as strict mode code when a FunctionDeclaration is contained in strict mode code within eval code flags: [noStrict] --- 596 -
13.0-16-s.js --- info: | Refer 13; The production FunctionBody : SourceElementsopt is evaluated as follows: es5id: 13.0-16-s description: > Strict Mode - SourceElements is evaluated as strict mode code when a FunctionExpression is contained in strict mode code within eval code flags: [noStrict] --- 602 -
13.0-17-s.js --- info: | Refer 13; The production FunctionBody : SourceElementsopt is evaluated as follows: es5id: 13.0-17-s description: > Strict Mode - SourceElements is not evaluated as strict mode code when a Function constructor is contained in strict mode code within eval code flags: [noStrict] --- 549 -
13.0_4-5gs.js --- es5id: 13.0_4-5gs description: > Strict Mode - SourceElements is evaluated as strict mode code when a FunctionDeclaration is contained in strict mode code negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 477 -
13.0_4-17gs.js --- es5id: 13.0_4-17gs description: > Strict Mode - SourceElements is not evaluated as strict mode code when a Function constructor is contained in strict mode code flags: [onlyStrict] --- 387 -
13.1-1gs.js --- es5id: 13.1-1gs description: > Strict Mode - SyntaxError is thrown if the identifier 'eval' appears within a FormalParameterList of a strict mode FunctionDeclaration negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 482 -
13.1-2-s.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-2-s description: > Strict Mode - SyntaxError is thrown if the identifier 'eval' appears within a FormalParameterList of a strict mode FunctionExpression flags: [onlyStrict] --- 654 -
13.1-4-s.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-4-s description: > Strict Mode - SyntaxError is thrown if the identifier 'arguments' appears within a FormalParameterList of a strict mode FunctionExpression flags: [onlyStrict] --- 665 -
13.1-4gs.js --- es5id: 13.1-4gs description: > Strict Mode - SyntaxError is thrown if the identifier 'arguments' appears within a FormalParameterList of a strict mode FunctionExpression negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 499 -
13.1-5gs.js --- es5id: 13.1-5gs description: > Strict Mode - SyntaxError is thrown if a FunctionDeclaration has two identical parameters negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 441 -
13.1-8gs.js --- es5id: 13.1-8gs description: > Strict Mode - SyntaxError is thrown if a FunctionExpression has two identical parameters negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 448 -
13.1-13gs.js --- es5id: 13.1-13gs description: > StrictMode - SyntaxError is thrown if 'arguments' occurs as the Identifier of a FunctionDeclaration negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 439 -
13.1-19-s.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-19-s description: > Strict Mode - SyntaxError is thrown if the identifier 'arguments' appears within a FormalParameterList of a strict mode FunctionDeclaration in strict eval code flags: [noStrict] --- 691 -
13.1-21-s.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-21-s description: > StrictMode - SyntaxError is thrown if the identifier 'arguments' appears within a FormalParameterList of a strict mode FunctionExpression in strict eval code flags: [noStrict] --- 697 -
13.1-22-s.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-22-s description: > StrictMode - SyntaxError is thrown if the identifier 'arguments' appears within a FormalParameterList of a strict mode FunctionExpression when FuctionBody is strict code flags: [noStrict] --- 709 -
13.1-23-s.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-23-s description: > Strict Mode - SyntaxError is thrown if a function is created using a FunctionDeclaration that is contained in eval strict code and the function has two identical parameters flags: [noStrict] --- 692 -
13.1-25-s.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-25-s description: > Strict Mode - SyntaxError is thrown if a function is created using a FunctionDeclaration that is contained in eval strict code and the function has two identical parameters which are separated by a unique parameter name flags: [noStrict] --- 753 -
13.1-27-s.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-27-s description: > Strict Mode - SyntaxError is thrown if a function is created using a FunctionDeclaration that is contained in eval strict code and the function has three identical parameters flags: [noStrict] --- 701 -
13.1-29-s.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-29-s description: > Strict Mode - SyntaxError is thrown if a function is created using a FunctionExpression that is contained in eval strict code and the function has two identical parameters flags: [noStrict] --- 699 -
13.1-31-s.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-31-s description: > Strict Mode - SyntaxError is thrown if a function is created using a FunctionExpression that is contained in eval strict code and the function has two identical parameters, which are separated by a unique parameter name flags: [noStrict] --- 761 -
13.1-33-s.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-33-s description: > Strict Mode - SyntaxError is thrown if function is created using a FunctionExpression that is contained in eval strict code and the function has three identical parameters flags: [noStrict] --- 705 -
13.1-39-s.js --- es5id: 13.1-39-s description: > StrictMode - SyntaxError is thrown if 'arguments' occurs as the function name of a FunctionDeclaration in strict eval code flags: [noStrict] --- 435 -
13.1-41-s.js --- es5id: 13.1-41-s description: > StrictMode - SyntaxError is thrown if 'arguments' occurs as the Identifier of a FunctionExpression in strict eval code flags: [noStrict] --- 474 -
13.2-1-s.js --- es5id: 13.2-1-s description: > StrictMode - Writing or reading from a property named 'caller' of function objects is allowed under both strict and normal modes. --- 469 -
13.2-2-s.js --- es5id: 13.2-2-s description: > StrictMode - A TypeError is thrown when a strict mode code writes to properties named 'caller' of function instances. flags: [onlyStrict] --- 448 -
13.2-3-s.js --- es5id: 13.2-3-s description: > StrictMode - Writing or reading from a property named 'arguments' of function objects is allowed under both strict and normal modes. --- 481 -
13.2-4-s.js --- es5id: 13.2-4-s description: > StrictMode - A TypeError is thrown when a code in strict mode tries to write to 'arguments' of function instances. flags: [onlyStrict] --- 448 -
13.2-5-s.js --- es5id: 13.2-5-s description: > StrictMode - reading a property named 'caller' of function objects is not allowed outside the function flags: [noStrict] --- 435 -
13.2-6-s.js --- es5id: 13.2-6-s description: > StrictMode - writing a property named 'caller' of function objects is not allowed outside the function flags: [noStrict] --- 429 -
13.2-7-s.js --- es5id: 13.2-7-s description: > StrictMode - enumerating over a function object looking for 'caller' fails outside of the function flags: [noStrict] --- 477 -
13.2-8-s.js --- es5id: 13.2-8-s description: > StrictMode - enumerating over a function object looking for 'caller' fails inside the function flags: [noStrict] --- 466 -
13.2-9-s.js --- es5id: 13.2-9-s description: > StrictMode - reading a property named 'caller' of function objects is not allowed outside the function flags: [noStrict] --- 431 -
13.2-10-s.js --- es5id: 13.2-10-s description: > StrictMode - writing a property named 'caller' of function objects is not allowed outside the function --- 408 -
13.2-11-s.js --- es5id: 13.2-11-s description: > StrictMode - enumerating over a function object looking for 'caller' fails outside of the function --- 456 -
13.2-12-s.js --- es5id: 13.2-12-s description: > StrictMode - enumerating over a function object looking for 'caller' fails inside the function --- 445 -
13.2-13-s.js --- es5id: 13.2-13-s description: > StrictMode - reading a property named 'arguments' of function objects is not allowed outside the function --- 424 -
13.2-14-s.js --- es5id: 13.2-14-s description: > StrictMode - writing a property named 'arguments' of function objects is not allowed outside the function --- 418 -
13.2-15-1.js --- es5id: 13.2-15-1 description: > Function Object has length as its own property and does not invoke the setter defined on Function.prototype.length (Step 15) includes: [propertyHelper.js] --- 553 -
13.2-15-s.js --- es5id: 13.2-15-s description: > StrictMode - enumerating over a function object looking for 'arguments' fails outside of the function --- 466 -
13.2-16-s.js --- es5id: 13.2-16-s description: > StrictMode - enumerating over a function object looking for 'arguments' fails inside the function --- 455 -
13.2-17-1.js --- es5id: 13.2-17-1 description: > Function Object has 'constructor' as its own property, it is not enumerable and does not invoke the setter defined on Function.prototype.constructor (Step 17) --- 1805 -
13.2-17-s.js --- es5id: 13.2-17-s description: > StrictMode - reading a property named 'arguments' of function objects is not allowed outside the function --- 420 -
13.2-18-1.js --- es5id: 13.2-18-1 description: > Function Object has 'prototype' as its own property, it is not enumerable and does not invoke the setter defined on Function.prototype (Step 18) includes: [propertyHelper.js] --- 1027 -
13.2-18-s.js --- es5id: 13.2-18-s description: > StrictMode - writing a property named 'arguments' of function objects is not allowed outside the function --- 414 -
13.2-19-b-3gs.js --- es5id: 13.2-19-b-3gs description: > StrictMode - error is thrown when assign a value to the 'caller' property of a function object flags: [onlyStrict] --- 411 -
13.2-19-s.js --- es5id: 13.2-19-s description: > StrictMode - enumerating over a function object looking for 'arguments' fails outside of the function --- 462 -
13.2-20-s.js --- es5id: 13.2-20-s description: > StrictMode - enumerating over a function object looking for 'arguments' fails inside the function flags: [noStrict] --- 469 -
13.2-21-s.js --- es5id: 13.2-21-s description: > StrictMode - reading a property named 'caller' of function objects is not allowed outside the function flags: [noStrict] --- 427 -
13.2-22-s.js --- es5id: 13.2-22-s description: > StrictMode - writing a property named 'caller' of function objects is not allowed outside the function flags: [noStrict] --- 421 -
13.2-23-s.js --- es5id: 13.2-23-s description: > StrictMode - enumerating over a function object looking for 'caller' fails outside of the function flags: [noStrict] --- 460 -
13.2-24-s.js --- es5id: 13.2-24-s description: > StrictMode - enumerating over a function object looking for 'caller' fails inside the function flags: [noStrict] --- 533 -
13.2-25-s.js --- es5id: 13.2-25-s description: > StrictMode - reading a property named 'arguments' of function objects is not allowed outside the function flags: [noStrict] --- 433 -
13.2-26-s.js --- es5id: 13.2-26-s description: > StrictMode - writing a property named 'arguments' of function objects is not allowed outside the function flags: [noStrict] --- 427 -
13.2-27-s.js --- es5id: 13.2-27-s description: > StrictMode - enumerating over a function object looking for 'arguments' fails outside of the function flags: [noStrict] --- 475 -
13.2-28-s.js --- es5id: 13.2-28-s description: > StrictMode - enumerating over a function object looking for 'arguments' fails inside the function flags: [noStrict] --- 549 -
13.2-30-s.js --- description: > Functions created using Function.prototype.bind() do not have own properties "caller" or "arguments", but inherit them from %FunctionPrototype%. --- 946 -
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] --- 854 -
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] --- 829 -
cptn-decl.js --- esid: sec-function-definitions-runtime-semantics-evaluation description: Function declaration completion value is empty. info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } 1. Return NormalCompletion(empty). --- 501 -
dflt-params-abrupt.js --- description: Abrupt completion returned by evaluation of initializer (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject features: [default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 1986 -
dflt-params-arg-val-not-undefined.js --- description: Use of initializer when argument value is not `undefined` (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject features: [default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. [...] --- 2834 -
dflt-params-arg-val-undefined.js --- description: Use of initializer when argument value is `undefined` (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject features: [default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. [...] --- 2103 -
dflt-params-duplicates.js --- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject features: [default-parameters] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 1878 -
dflt-params-ref-later.js --- description: Referencing a parameter that occurs later in the ParameterList (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject features: [default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 1969 -
dflt-params-ref-prior.js --- description: Referencing a parameter that occurs earlier in the ParameterList (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject features: [default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2136 -
dflt-params-ref-self.js --- description: Referencing a parameter from within its own initializer (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject features: [default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 1958 -
dflt-params-rest.js --- description: RestParameter does not support an initializer (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject features: [default-parameters] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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] --- 1697 -
dflt-params-trailing-comma.js --- description: A trailing comma should not increase the respective length, using default parameters (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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] , --- 1793 -
dstr-ary-init-iter-close.js --- description: Iterator is closed when not exhausted by pattern evaluation (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). [...] --- 1978 -
dstr-ary-init-iter-get-err.js --- description: Abrupt completion returned by GetIterator (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1660 -
dstr-ary-init-iter-no-close.js --- description: Iterator is not closed when exhausted by pattern evaluation (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). [...] --- 1980 -
dstr-ary-name-iter-val.js --- description: SingleNameBinding with normal value iteration (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2294 -
dstr-ary-ptrn-elem-ary-elem-init.js --- description: BindingElement with array binding pattern and initializer is used (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2067 -
dstr-ary-ptrn-elem-ary-elem-iter.js --- description: BindingElement with array binding pattern and initializer is not used (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2038 -
dstr-ary-ptrn-elem-ary-elision-init.js --- description: BindingElement with array binding pattern and initializer is used (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [generators, destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2142 -
dstr-ary-ptrn-elem-ary-elision-iter.js --- description: BindingElement with array binding pattern and initializer is not used (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [generators, destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2047 -
dstr-ary-ptrn-elem-ary-empty-init.js --- description: BindingElement with array binding pattern and initializer is used (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [generators, destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2184 -
dstr-ary-ptrn-elem-ary-empty-iter.js --- description: BindingElement with array binding pattern and initializer is not used (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2025 -
dstr-ary-ptrn-elem-ary-rest-init.js --- description: BindingElement with array binding pattern and initializer is used (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2189 -
dstr-ary-ptrn-elem-ary-rest-iter.js --- description: BindingElement with array binding pattern and initializer is not used (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2236 -
dstr-ary-ptrn-elem-ary-val-null.js --- description: Nested array destructuring with a null value (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1947 -
dstr-ary-ptrn-elem-id-init-exhausted.js --- description: Destructuring initializer with an exhausted iterator (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1994 -
dstr-ary-ptrn-elem-id-init-fn-name-arrow.js --- description: SingleNameBinding does assign name to arrow functions (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2062 -
dstr-ary-ptrn-elem-id-init-fn-name-class.js --- description: SingleNameBinding assigns `name` to "anonymous" classes (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2199 -
dstr-ary-ptrn-elem-id-init-fn-name-cover.js --- description: SingleNameBinding does assign name to "anonymous" functions "through" cover grammar (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2175 -
dstr-ary-ptrn-elem-id-init-fn-name-fn.js --- description: SingleNameBinding assigns name to "anonymous" functions (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2121 -
dstr-ary-ptrn-elem-id-init-fn-name-gen.js --- description: SingleNameBinding assigns name to "anonymous" generator functions (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [generators, destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2153 -
dstr-ary-ptrn-elem-id-init-hole.js --- description: Destructuring initializer with a "hole" (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1927 -
dstr-ary-ptrn-elem-id-init-skipped.js --- description: Destructuring initializer is not evaluated when value is not `undefined` (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2087 -
dstr-ary-ptrn-elem-id-init-throws.js --- description: Destructuring initializer returns an abrupt completion (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1789 -
dstr-ary-ptrn-elem-id-init-undef.js --- description: Destructuring initializer with an undefined value (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1933 -
dstr-ary-ptrn-elem-id-init-unresolvable.js --- description: Destructuring initializer is an unresolvable reference (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 1969 -
dstr-ary-ptrn-elem-id-iter-complete.js --- description: SingleNameBinding when value iteration completes (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2081 -
dstr-ary-ptrn-elem-id-iter-done.js --- description: SingleNameBinding when value iteration was completed previously (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1834 -
dstr-ary-ptrn-elem-id-iter-step-err.js --- description: Error forwarding when IteratorStep returns an abrupt completion (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1915 -
dstr-ary-ptrn-elem-id-iter-val-err.js --- description: Error forwarding when IteratorValue returns an abrupt completion (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2279 -
dstr-ary-ptrn-elem-id-iter-val.js --- description: SingleNameBinding when value iteration was completed previously (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2320 -
dstr-ary-ptrn-elem-obj-id-init.js --- description: BindingElement with object binding pattern and initializer is used (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2085 -
dstr-ary-ptrn-elem-obj-id.js --- description: BindingElement with object binding pattern and initializer is not used (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2107 -
dstr-ary-ptrn-elem-obj-prop-id-init.js --- description: BindingElement with object binding pattern and initializer is used (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2280 -
dstr-ary-ptrn-elem-obj-prop-id.js --- description: BindingElement with object binding pattern and initializer is not used (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2305 -
dstr-ary-ptrn-elem-obj-val-null.js --- description: Nested object destructuring with a null value (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1956 -
dstr-ary-ptrn-elem-obj-val-undef.js --- description: Nested object destructuring with a value of `undefined` (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1963 -
dstr-ary-ptrn-elision-exhausted.js --- description: Elision accepts exhausted iterator (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [generators, destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1951 -
dstr-ary-ptrn-elision-step-err.js --- description: Elision advances iterator and forwards abrupt completions (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [generators, destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2158 -
dstr-ary-ptrn-elision.js --- description: Elision advances iterator (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [generators, destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2264 -
dstr-ary-ptrn-empty.js --- description: No iteration occurs for an "empty" array binding pattern (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [generators, destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1712 -
dstr-ary-ptrn-rest-ary-elem.js --- description: Rest element containing an array BindingElementList pattern (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2699 -
dstr-ary-ptrn-rest-ary-elision.js --- description: Rest element containing an elision (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [generators, destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2668 -
dstr-ary-ptrn-rest-ary-empty.js --- description: Rest element containing an "empty" array pattern (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [generators, destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2099 -
dstr-ary-ptrn-rest-ary-rest.js --- description: Rest element containing a rest element (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. [...] --- 2050 -
dstr-ary-ptrn-rest-id-elision-next-err.js --- description: Rest element following elision elements (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [generators, destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 1971 -
dstr-ary-ptrn-rest-id-elision.js --- description: Rest element following elision elements (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2177 -
dstr-ary-ptrn-rest-id-exhausted.js --- description: RestElement applied to an exhausted iterator (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2016 -
dstr-ary-ptrn-rest-id-iter-step-err.js --- description: Error forwarding when IteratorStep returns an abrupt completion (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [generators, destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2199 -
dstr-ary-ptrn-rest-id-iter-val-err.js --- description: Error forwarding when IteratorValue returns an abrupt completion (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2150 -
dstr-ary-ptrn-rest-id.js --- description: Lone rest element (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). [...] --- 1898 -
dstr-ary-ptrn-rest-init-ary.js --- description: Reset element (nested array pattern) does not support initializer (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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 ] --- 1845 -
dstr-ary-ptrn-rest-init-id.js --- description: Reset element (identifier) does not support initializer (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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 ] --- 1830 -
dstr-ary-ptrn-rest-init-obj.js --- description: Reset element (nested object pattern) does not support initializer (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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 ] --- 1846 -
dstr-ary-ptrn-rest-not-final-ary.js --- description: Rest element (array binding pattern) may not be followed by any element (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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 ] --- 1859 -
dstr-ary-ptrn-rest-not-final-id.js --- description: Rest element (identifier) may not be followed by any element (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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 ] --- 1845 -
dstr-ary-ptrn-rest-not-final-obj.js --- description: Rest element (object binding pattern) may not be followed by any element (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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 ] --- 1862 -
dstr-ary-ptrn-rest-obj-id.js --- description: Rest element containing an object binding pattern (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. [...] --- 1890 -
dstr-ary-ptrn-rest-obj-prop-id.js --- description: Rest element containing an object binding pattern (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. [...] --- 2137 -
dstr-dflt-ary-init-iter-close.js --- description: Iterator is closed when not exhausted by pattern evaluation (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [Symbol.iterator, destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). [...] --- 2026 -
dstr-dflt-ary-init-iter-get-err.js --- description: Abrupt completion returned by GetIterator (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [Symbol.iterator, destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1708 -
dstr-dflt-ary-init-iter-no-close.js --- description: Iterator is not closed when exhausted by pattern evaluation (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [Symbol.iterator, destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). [...] --- 2028 -
dstr-dflt-ary-name-iter-val.js --- description: SingleNameBinding with normal value iteration (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2342 -
dstr-dflt-ary-ptrn-elem-ary-elem-init.js --- description: BindingElement with array binding pattern and initializer is used (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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-dflt-ary-ptrn-elem-ary-elem-iter.js --- description: BindingElement with array binding pattern and initializer is not used (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2086 -
dstr-dflt-ary-ptrn-elem-ary-elision-init.js --- description: BindingElement with array binding pattern and initializer is used (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [generators, destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2190 -
dstr-dflt-ary-ptrn-elem-ary-elision-iter.js --- description: BindingElement with array binding pattern and initializer is not used (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [generators, destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2095 -
dstr-dflt-ary-ptrn-elem-ary-empty-init.js --- description: BindingElement with array binding pattern and initializer is used (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [generators, destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2232 -
dstr-dflt-ary-ptrn-elem-ary-empty-iter.js --- description: BindingElement with array binding pattern and initializer is not used (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2073 -
dstr-dflt-ary-ptrn-elem-ary-rest-init.js --- description: BindingElement with array binding pattern and initializer is used (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2237 -
dstr-dflt-ary-ptrn-elem-ary-rest-iter.js --- description: BindingElement with array binding pattern and initializer is not used (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2284 -
dstr-dflt-ary-ptrn-elem-ary-val-null.js --- description: Nested array destructuring with a null value (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1995 -
dstr-dflt-ary-ptrn-elem-id-init-exhausted.js --- description: Destructuring initializer with an exhausted iterator (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2042 -
dstr-dflt-ary-ptrn-elem-id-init-fn-name-arrow.js --- description: SingleNameBinding does assign name to arrow functions (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2110 -
dstr-dflt-ary-ptrn-elem-id-init-fn-name-class.js --- description: SingleNameBinding assigns `name` to "anonymous" classes (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2247 -
dstr-dflt-ary-ptrn-elem-id-init-fn-name-cover.js --- description: SingleNameBinding does assign name to "anonymous" functions "through" cover grammar (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2223 -
dstr-dflt-ary-ptrn-elem-id-init-fn-name-fn.js --- description: SingleNameBinding assigns name to "anonymous" functions (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2169 -
dstr-dflt-ary-ptrn-elem-id-init-fn-name-gen.js --- description: SingleNameBinding assigns name to "anonymous" generator functions (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [generators, destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2201 -
dstr-dflt-ary-ptrn-elem-id-init-hole.js --- description: Destructuring initializer with a "hole" (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1975 -
dstr-dflt-ary-ptrn-elem-id-init-skipped.js --- description: Destructuring initializer is not evaluated when value is not `undefined` (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2135 -
dstr-dflt-ary-ptrn-elem-id-init-throws.js --- description: Destructuring initializer returns an abrupt completion (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1837 -
dstr-dflt-ary-ptrn-elem-id-init-undef.js --- description: Destructuring initializer with an undefined value (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1981 -
dstr-dflt-ary-ptrn-elem-id-init-unresolvable.js --- description: Destructuring initializer is an unresolvable reference (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2017 -
dstr-dflt-ary-ptrn-elem-id-iter-complete.js --- description: SingleNameBinding when value iteration completes (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2129 -
dstr-dflt-ary-ptrn-elem-id-iter-done.js --- description: SingleNameBinding when value iteration was completed previously (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1882 -
dstr-dflt-ary-ptrn-elem-id-iter-step-err.js --- description: Error forwarding when IteratorStep returns an abrupt completion (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [Symbol.iterator, destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1963 -
dstr-dflt-ary-ptrn-elem-id-iter-val-err.js --- description: Error forwarding when IteratorValue returns an abrupt completion (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [Symbol.iterator, destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2327 -
dstr-dflt-ary-ptrn-elem-id-iter-val.js --- description: SingleNameBinding when value iteration was completed previously (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2368 -
dstr-dflt-ary-ptrn-elem-obj-id-init.js --- description: BindingElement with object binding pattern and initializer is used (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2133 -
dstr-dflt-ary-ptrn-elem-obj-id.js --- description: BindingElement with object binding pattern and initializer is not used (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2155 -
dstr-dflt-ary-ptrn-elem-obj-prop-id-init.js --- description: BindingElement with object binding pattern and initializer is used (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2328 -
dstr-dflt-ary-ptrn-elem-obj-prop-id.js --- description: BindingElement with object binding pattern and initializer is not used (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2353 -
dstr-dflt-ary-ptrn-elem-obj-val-null.js --- description: Nested object destructuring with a null value (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2004 -
dstr-dflt-ary-ptrn-elem-obj-val-undef.js --- description: Nested object destructuring with a value of `undefined` (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2011 -
dstr-dflt-ary-ptrn-elision-exhausted.js --- description: Elision accepts exhausted iterator (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [generators, destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1999 -
dstr-dflt-ary-ptrn-elision-step-err.js --- description: Elision advances iterator and forwards abrupt completions (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [generators, destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2206 -
dstr-dflt-ary-ptrn-elision.js --- description: Elision advances iterator (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [generators, destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2312 -
dstr-dflt-ary-ptrn-empty.js --- description: No iteration occurs for an "empty" array binding pattern (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [generators, destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1760 -
dstr-dflt-ary-ptrn-rest-ary-elem.js --- description: Rest element containing an array BindingElementList pattern (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2747 -
dstr-dflt-ary-ptrn-rest-ary-elision.js --- description: Rest element containing an elision (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [generators, destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2716 -
dstr-dflt-ary-ptrn-rest-ary-empty.js --- description: Rest element containing an "empty" array pattern (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [generators, destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2147 -
dstr-dflt-ary-ptrn-rest-ary-rest.js --- description: Rest element containing a rest element (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. [...] --- 2098 -
dstr-dflt-ary-ptrn-rest-id-elision-next-err.js --- description: Rest element following elision elements (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [generators, destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2019 -
dstr-dflt-ary-ptrn-rest-id-elision.js --- description: Rest element following elision elements (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2225 -
dstr-dflt-ary-ptrn-rest-id-exhausted.js --- description: RestElement applied to an exhausted iterator (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [Symbol.iterator, destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2064 -
dstr-dflt-ary-ptrn-rest-id-iter-step-err.js --- description: Error forwarding when IteratorStep returns an abrupt completion (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [generators, destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2247 -
dstr-dflt-ary-ptrn-rest-id-iter-val-err.js --- description: Error forwarding when IteratorValue returns an abrupt completion (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [Symbol.iterator, destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2198 -
dstr-dflt-ary-ptrn-rest-id.js --- description: Lone rest element (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). [...] --- 1946 -
dstr-dflt-ary-ptrn-rest-init-ary.js --- description: Reset element (nested array pattern) does not support initializer (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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 ] --- 1893 -
dstr-dflt-ary-ptrn-rest-init-id.js --- description: Reset element (identifier) does not support initializer (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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 ] --- 1878 -
dstr-dflt-ary-ptrn-rest-init-obj.js --- description: Reset element (nested object pattern) does not support initializer (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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 ] --- 1894 -
dstr-dflt-ary-ptrn-rest-not-final-ary.js --- description: Rest element (array binding pattern) may not be followed by any element (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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 ] --- 1907 -
dstr-dflt-ary-ptrn-rest-not-final-id.js --- description: Rest element (identifier) may not be followed by any element (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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 ] --- 1893 -
dstr-dflt-ary-ptrn-rest-not-final-obj.js --- description: Rest element (object binding pattern) may not be followed by any element (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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 ] --- 1910 -
dstr-dflt-ary-ptrn-rest-obj-id.js --- description: Rest element containing an object binding pattern (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. [...] --- 1938 -
dstr-dflt-ary-ptrn-rest-obj-prop-id.js --- description: Rest element containing an object binding pattern (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. [...] --- 2185 -
dstr-dflt-obj-init-null.js --- description: Value specifed for object binding pattern must be object coercible (null) (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1571 -
dstr-dflt-obj-init-undefined.js --- description: Value specifed for object binding pattern must be object coercible (undefined) (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1586 -
dstr-dflt-obj-ptrn-empty.js --- description: No property access occurs for an "empty" object binding pattern (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1786 -
dstr-dflt-obj-ptrn-id-get-value-err.js --- description: Error thrown when accessing the corresponding property of the value object (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1810 -
dstr-dflt-obj-ptrn-id-init-fn-name-arrow.js --- description: SingleNameBinding assigns `name` to arrow functions (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2055 -
dstr-dflt-obj-ptrn-id-init-fn-name-class.js --- description: SingleNameBinding assigns `name` to "anonymous" classes (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2194 -
dstr-dflt-obj-ptrn-id-init-fn-name-cover.js --- description: SingleNameBinding assigns `name` to "anonymous" functions "through" cover grammar (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2169 -
dstr-dflt-obj-ptrn-id-init-fn-name-fn.js --- description: SingleNameBinding assigns name to "anonymous" functions (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2116 -
dstr-dflt-obj-ptrn-id-init-fn-name-gen.js --- description: SingleNameBinding assigns name to "anonymous" generator functions (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [generators, destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2148 -
dstr-dflt-obj-ptrn-id-init-skipped.js --- description: Destructuring initializer is not evaluated when value is not `undefined` (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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 [...] [...] --- 2041 -
dstr-dflt-obj-ptrn-id-init-throws.js --- description: Error thrown when evaluating the initializer (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1829 -
dstr-dflt-obj-ptrn-id-init-unresolvable.js --- description: Destructuring initializer is an unresolvable reference (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2009 -
dstr-dflt-obj-ptrn-id-trailing-comma.js --- description: Trailing comma is allowed following BindingPropertyList (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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] , } --- 1728 -
dstr-dflt-obj-ptrn-list-err.js --- description: Binding property list evaluation is interrupted by an abrupt completion (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1887 -
dstr-dflt-obj-ptrn-prop-ary-init.js --- description: Object binding pattern with "nested" array binding pattern using initializer (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2094 -
dstr-dflt-obj-ptrn-prop-ary-trailing-comma.js --- description: Trailing comma is allowed following BindingPropertyList (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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] , } --- 1740 -
dstr-dflt-obj-ptrn-prop-ary-value-null.js --- description: Object binding pattern with "nested" array binding pattern taking the `null` value (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 1779 -
dstr-dflt-obj-ptrn-prop-ary.js --- description: Object binding pattern with "nested" array binding pattern not using initializer (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2003 -
dstr-dflt-obj-ptrn-prop-eval-err.js --- description: Evaluation of property name returns an abrupt completion (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1702 -
dstr-dflt-obj-ptrn-prop-id-get-value-err.js --- description: Error thrown when accessing the corresponding property of the value object (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1880 -
dstr-dflt-obj-ptrn-prop-id-init-skipped.js --- description: Destructuring initializer is not evaluated when value is not `undefined` (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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 [...] --- 2272 -
dstr-dflt-obj-ptrn-prop-id-init-throws.js --- description: Error thrown when evaluating the initializer (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1830 -
dstr-dflt-obj-ptrn-prop-id-init-unresolvable.js --- description: Destructuring initializer is an unresolvable reference (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2011 -
dstr-dflt-obj-ptrn-prop-id-init.js --- description: Binding as specified via property name, identifier, and initializer (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1802 -
dstr-dflt-obj-ptrn-prop-id-trailing-comma.js --- description: Trailing comma is allowed following BindingPropertyList (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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] , } --- 1795 -
dstr-dflt-obj-ptrn-prop-id.js --- description: Binding as specified via property name and identifier (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1784 -
dstr-dflt-obj-ptrn-prop-obj-init.js --- description: Object binding pattern with "nested" object binding pattern using initializer (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2122 -
dstr-dflt-obj-ptrn-prop-obj-value-null.js --- description: Object binding pattern with "nested" object binding pattern taking the `null` value (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 1793 -
dstr-dflt-obj-ptrn-prop-obj-value-undef.js --- description: Object binding pattern with "nested" object binding pattern taking the `null` value (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 1775 -
dstr-dflt-obj-ptrn-prop-obj.js --- description: Object binding pattern with "nested" object binding pattern not using initializer (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding, default-parameters] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2023 -
dstr-dflt-obj-ptrn-rest-getter.js --- description: Getter is called when obj is being deconstructed to a rest Object (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [object-rest, destructuring-binding, default-parameters] flags: [generated] includes: [propertyHelper.js] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. [...] --- 1759 -
dstr-dflt-obj-ptrn-rest-skip-non-enumerable.js --- description: Rest object doesn't contain non-enumerable properties (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [object-rest, destructuring-binding, default-parameters] flags: [generated] includes: [propertyHelper.js] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. [...] --- 1929 -
dstr-dflt-obj-ptrn-rest-val-obj.js --- description: Rest object contains just unextracted data (function declaration (default parameter)) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [object-rest, destructuring-binding, default-parameters] flags: [generated] includes: [propertyHelper.js] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. [...] --- 1888 -
dstr-obj-init-null.js --- description: Value specifed for object binding pattern must be object coercible (null) (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1523 -
dstr-obj-init-undefined.js --- description: Value specifed for object binding pattern must be object coercible (undefined) (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1538 -
dstr-obj-ptrn-empty.js --- description: No property access occurs for an "empty" object binding pattern (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1738 -
dstr-obj-ptrn-id-get-value-err.js --- description: Error thrown when accessing the corresponding property of the value object (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1762 -
dstr-obj-ptrn-id-init-fn-name-arrow.js --- description: SingleNameBinding assigns `name` to arrow functions (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2007 -
dstr-obj-ptrn-id-init-fn-name-class.js --- description: SingleNameBinding assigns `name` to "anonymous" classes (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2146 -
dstr-obj-ptrn-id-init-fn-name-cover.js --- description: SingleNameBinding assigns `name` to "anonymous" functions "through" cover grammar (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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-obj-ptrn-id-init-fn-name-fn.js --- description: SingleNameBinding assigns name to "anonymous" functions (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2068 -
dstr-obj-ptrn-id-init-fn-name-gen.js --- description: SingleNameBinding assigns name to "anonymous" generator functions (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [generators, destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 2100 -
dstr-obj-ptrn-id-init-skipped.js --- description: Destructuring initializer is not evaluated when value is not `undefined` (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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 [...] [...] --- 1993 -
dstr-obj-ptrn-id-init-throws.js --- description: Error thrown when evaluating the initializer (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1781 -
dstr-obj-ptrn-id-init-unresolvable.js --- description: Destructuring initializer is an unresolvable reference (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 1961 -
dstr-obj-ptrn-id-trailing-comma.js --- description: Trailing comma is allowed following BindingPropertyList (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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] , } --- 1680 -
dstr-obj-ptrn-list-err.js --- description: Binding property list evaluation is interrupted by an abrupt completion (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1839 -
dstr-obj-ptrn-prop-ary-init.js --- description: Object binding pattern with "nested" array binding pattern using initializer (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2046 -
dstr-obj-ptrn-prop-ary-trailing-comma.js --- description: Trailing comma is allowed following BindingPropertyList (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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] , } --- 1692 -
dstr-obj-ptrn-prop-ary-value-null.js --- description: Object binding pattern with "nested" array binding pattern taking the `null` value (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 1731 -
dstr-obj-ptrn-prop-ary.js --- description: Object binding pattern with "nested" array binding pattern not using initializer (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 1955 -
dstr-obj-ptrn-prop-eval-err.js --- description: Evaluation of property name returns an abrupt completion (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1654 -
dstr-obj-ptrn-prop-id-get-value-err.js --- description: Error thrown when accessing the corresponding property of the value object (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1832 -
dstr-obj-ptrn-prop-id-init-skipped.js --- description: Destructuring initializer is not evaluated when value is not `undefined` (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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 [...] --- 2224 -
dstr-obj-ptrn-prop-id-init-throws.js --- description: Error thrown when evaluating the initializer (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1782 -
dstr-obj-ptrn-prop-id-init-unresolvable.js --- description: Destructuring initializer is an unresolvable reference (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 1963 -
dstr-obj-ptrn-prop-id-init.js --- description: Binding as specified via property name, identifier, and initializer (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1754 -
dstr-obj-ptrn-prop-id-trailing-comma.js --- description: Trailing comma is allowed following BindingPropertyList (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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] , } --- 1747 -
dstr-obj-ptrn-prop-id.js --- description: Binding as specified via property name and identifier (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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). --- 1736 -
dstr-obj-ptrn-prop-obj-init.js --- description: Object binding pattern with "nested" object binding pattern using initializer (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2074 -
dstr-obj-ptrn-prop-obj-value-null.js --- description: Object binding pattern with "nested" object binding pattern taking the `null` value (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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-obj-ptrn-prop-obj-value-undef.js --- description: Object binding pattern with "nested" object binding pattern taking the `null` value (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 1727 -
dstr-obj-ptrn-prop-obj.js --- description: Object binding pattern with "nested" object binding pattern not using initializer (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [destructuring-binding] flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 1975 -
dstr-obj-ptrn-rest-getter.js --- description: Getter is called when obj is being deconstructed to a rest Object (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [object-rest, destructuring-binding] flags: [generated] includes: [propertyHelper.js] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. [...] --- 1711 -
dstr-obj-ptrn-rest-skip-non-enumerable.js --- description: Rest object doesn't contain non-enumerable properties (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [object-rest, destructuring-binding] flags: [generated] includes: [propertyHelper.js] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. [...] --- 1881 -
dstr-obj-ptrn-rest-val-obj.js --- description: Rest object contains just unextracted data (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [object-rest, destructuring-binding] flags: [generated] includes: [propertyHelper.js] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. [...] --- 1840 -
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 --- 482 -
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 --- 500 -
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 --- 495 -
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 --- 505 -
enable-strict-via-body.js --- info: | Refer 13; The production FunctionBody : SourceElementsopt is evaluated as follows: es5id: 13.0-10-s description: > Strict Mode - SourceElements is evaluated as strict mode code when the code of this FunctionBody with an inner function contains a Use Strict Directive negative: phase: parse type: SyntaxError flags: [noStrict] --- 674 -
enable-strict-via-outer-body.js --- info: | Refer 13; The production FunctionBody : SourceElementsopt is evaluated as follows: es5id: 13.0-11-s description: > Strict Mode - SourceElements is evaluated as strict mode code when the code of this FunctionBody with an inner function which is in strict mode negative: phase: parse type: SyntaxError flags: [noStrict] --- 662 -
enable-strict-via-outer-script.js --- info: | Refer 13; The production FunctionBody : SourceElementsopt is evaluated as follows: es5id: 13.0-9-s description: > Strict Mode - SourceElements is evaluated as strict mode code when a FunctionDeclaration that is contained in strict mode code has an inner function negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 656 -
invalid-2-names.js --- es5id: 13.0-1 description: > 13.0 - multiple names in one function declaration is not allowed, two function names negative: phase: parse type: SyntaxError --- 394 -
invalid-3-names.js --- es5id: 13.0-2 description: > 13.0 - multiple names in one function declaration is not allowed, three function names negative: phase: parse type: SyntaxError --- 396 -
invalid-function-body-1.js --- info: The FunctionBody must be SourceElements es5id: 13_A7_T2 description: > Inserting elements that is different from SourceElements into the FunctionBody negative: phase: parse type: SyntaxError --- 439 -
invalid-function-body-2.js --- info: The FunctionBody must be SourceElements es5id: 13_A7_T2 description: > Inserting elements that is different from SourceElements into the FunctionBody negative: phase: parse type: SyntaxError --- 436 -
invalid-function-body-3.js --- info: The FunctionBody must be SourceElements es5id: 13_A7_T2 description: > Inserting elements that is different from SourceElements into the FunctionBody negative: phase: parse type: SyntaxError --- 439 -
invalid-name-dot.js --- es5id: 13.0-3 description: > 13.0 - property names in function definition is not allowed, add a new property into object negative: phase: parse type: SyntaxError --- 403 -
invalid-name-two-dots.js --- es5id: 13.0-4 description: > 13.0 - multiple names in one function declaration is not allowed, add a new property into a property which is a object negative: phase: parse type: SyntaxError --- 433 -
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] --- 1785 -
line-terminator-non-strict.js --- info: Any separators are admitted between declaration chunks es5id: 13_A16 description: Inserting separators between declaration chunks flags: [noStrict] --- 817 -
line-terminator-strict.js --- info: Any separators are admitted between declaration chunks es5id: 13_A16 description: Inserting separators between declaration chunks --- 799 -
name-arguments-non-strict.js --- es5id: 13.1-3-7 description: > arguments allowed as function identifier in non-strict function declaration flags: [noStrict] --- 306 -
name-arguments-strict-body.js --- es5id: 13.1-40-s description: > StrictMode - SyntaxError is thrown if 'arguments' occurs as the Identifier of a FunctionDeclaration whose FunctionBody is contained in strict code negative: phase: parse type: SyntaxError flags: [noStrict] --- 501 -
name-arguments-strict.js --- es5id: 13.1-13-s description: > StrictMode - SyntaxError is thrown if 'arguments' occurs as the function name of a FunctionDeclaration in strict mode negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 456 -
name-eval-non-strict.js --- es5id: 13.1-3-1 description: > eval allowed as function identifier in non-strict function declaration flags: [noStrict] --- 295 -
name-eval-strict-body.js --- es5id: 13.1-36-s description: > StrictMode - SyntaxError is thrown if 'eval' occurs as the function name of a FunctionDeclaration whose FunctionBody is in strict mode negative: phase: parse type: SyntaxError flags: [noStrict] --- 484 -
name-eval-strict.js --- es5id: 13.1-11-s description: > StrictMode - SyntaxError is thrown if 'eval' occurs as the function name of a FunctionDeclaration in strict mode negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 446 -
name-eval-stricteval.js --- es5id: 13.1-35-s description: > StrictMode - SyntaxError is thrown if 'eval' occurs as the function name of a FunctionDeclaration in strict eval code flags: [noStrict] --- 425 -
name-unicode.js --- info: Unicode symbols in function name are allowed es5id: 13_A14 description: Defining function name with unicode symbols --- 615 -
name.js --- es6id: 14.1.19 description: Assignment of function `name` attribute info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } 1. Let name be StringValue of BindingIdentifier. 2. Let F be FunctionCreate(Normal, FormalParameters, FunctionBody, scope, strict). 3. Perform MakeConstructor(F). 4. Perform SetFunctionName(F, name). 5. Return F. includes: [propertyHelper.js] --- 750 -
param-arguments-non-strict.js --- es5id: 13.1-2-5 description: > arguments allowed as formal parameter name of a non-strict function declaration flags: [noStrict] --- 312 -
param-arguments-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-20-s description: > StrictMode - SyntaxError is thrown if the identifier 'arguments' appears within a FormalParameterList of a strict mode FunctionDeclaration when FuctionBody is strict code negative: phase: parse type: SyntaxError flags: [noStrict] --- 741 -
param-arguments-strict.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-3-s description: > Strict Mode - SyntaxError is thrown if the identifier 'arguments' appears within a FormalParameterList of a strict mode FunctionDeclaration negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 696 -
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: | FunctionDeclaration[Yield, Default] : function BindingIdentifier[?Yield] ( FormalParameters ) { FunctionBody } features: [generators, default-parameters] flags: [noStrict] --- 661 -
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: | FunctionDeclaration[Yield, Default] : function BindingIdentifier[?Yield] ( FormalParameters ) { FunctionBody } features: [generators, default-parameters] flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 678 -
param-duplicated-non-strict.js --- es5id: 13.1-1-1 description: > Duplicate identifier allowed in non-strict function declaration parameter list flags: [noStrict] --- 305 -
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-5-s description: > Strict Mode - SyntaxError is thrown if a function is declared in 'strict mode' using a FunctionDeclaration and the function has two identical parameters negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 696 -
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-6-s description: > Strict Mode - SyntaxError is thrown if a function is created in 'strict mode' using a FunctionDeclaration and the function has two identical parameters, which are separated by a unique parameter name negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 757 -
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-7-s description: > Strict Mode - SyntaxError is thrown if a function is created in 'strict mode' using a FunctionDeclaration and the function has three identical parameters negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 704 -
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-24-s description: > Strict Mode - SyntaxError is thrown if a function is created using a FunctionDeclaration whose FunctionBody is contained in strict code and the function has two identical parameters negative: phase: parse type: SyntaxError flags: [noStrict] --- 739 -
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-26-s description: > Strict Mode - SyntaxError is thrown if a function is created using a FunctionDeclaration whose FunctionBody is contained in strict code and the function has two identical parameters which are separated by a unique parameter name negative: phase: parse type: SyntaxError flags: [noStrict] --- 800 -
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-28-s description: > Strict Mode - SyntaxError is thrown if a function is created using a FunctionDeclaration whose FunctionBody is contained in strict code and the function has three identical parameters negative: phase: parse type: SyntaxError flags: [noStrict] --- 748 -
param-eval-non-strict.js --- es5id: 13.1-2-1 description: > eval allowed as formal parameter name of a non-strict function declaration flags: [noStrict] --- 303 -
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-16-s description: > StrictMode - SyntaxError is thrown if the identifier 'eval' appears within a FormalParameterList of a strict mode FunctionDeclaration when FuctionBody is strict code negative: phase: parse type: SyntaxError flags: [noStrict] --- 731 -
param-eval-strict.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-1-s description: > Strict Mode - SyntaxError is thrown if the identifier 'eval' appears within a FormalParameterList of a strict mode FunctionDeclaration negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 686 -
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-15-s description: > Strict Mode - SyntaxError is thrown if the identifier 'eval' appears within a FormalParameterList of a strict mode FunctionDeclaration in strict eval code flags: [noStrict] --- 681 -
params-dflt-args-unmapped.js --- description: Referencing the arguments object from a default parameter (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [default-parameters] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2490 -
params-dflt-ref-arguments.js --- description: Referencing the arguments object from a default parameter (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject es6id: 14.1.19 features: [default-parameters] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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. --- 2093 -
params-trailing-comma-multiple.js --- description: A trailing comma should not increase the respective length, using multiple parameters (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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] , --- 1786 -
params-trailing-comma-single.js --- description: A trailing comma should not increase the respective length, using a single parameter (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject flags: [generated] info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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] , --- 1750 -
rest-params-trailing-comma-early-error.js --- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (function declaration) esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject flags: [generated] negative: phase: parse type: SyntaxError info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } [...] 3. Let F 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] --- 1795 -
S10.1.1_A1_T1.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_T1 description: Defining function by a FunctionDeclaration --- 534 -
S13.2.1_A1_T1.js --- info: The depth of nested function calls reaches 32 es5id: 13.2.1_A1_T1 description: Creating function calls 32 elements depth --- 4692 -
S13.2.1_A4_T1.js --- info: Objects as arguments are passed by reference es5id: 13.2.1_A4_T1 description: > Adding new number property to a function argument within the function body, where explicit argument is an object defined with "var __obj={}" --- 722 -
S13.2.1_A4_T2.js --- info: Objects as arguments are passed by reference es5id: 13.2.1_A4_T2 description: > Adding new string property to a function argument within the function body, where explicit argument is an object defined with "__obj={}" --- 758 -
S13.2.1_A4_T3.js --- info: Objects as arguments are passed by reference es5id: 13.2.1_A4_T3 description: > Adding new number property to a function argument within the function body, where array element "arguments[0]" is an object defined with "__obj={}" --- 738 -
S13.2.1_A4_T4.js --- info: Objects as arguments are passed by reference es5id: 13.2.1_A4_T4 description: > Adding new number property to a function argument within the function body, where array element "arguments[0]" is an object defined with "var __obj={}" --- 737 -
S13.2.1_A5_T1.js --- info: Closures are admitted es5id: 13.2.1_A5_T1 description: Sorting with closure --- 758 -
S13.2.1_A5_T2.js --- info: Closures are admitted es5id: 13.2.1_A5_T2 description: > Returning a function that approximates the derivative of f using an interval of dx, which should be appropriately small --- 954 -
S13.2.1_A6_T1.js --- info: Primitive types are passed by value es5id: 13.2.1_A6_T1 description: Declaring a function with "function __func(arg1, arg2)" flags: [noStrict] --- 767 -
S13.2.1_A6_T2.js --- info: Primitive types are passed by value es5id: 13.2.1_A6_T2 description: Declaring a function with "__func = function(arg1, arg2)" flags: [noStrict] --- 771 -
S13.2.1_A6_T3.js --- info: Primitive types are passed by value es5id: 13.2.1_A6_T1 description: Declaring a function with "function __func(arg1, arg2)" --- 768 -
S13.2.1_A6_T4.js --- info: Primitive types are passed by value es5id: 13.2.1_A6_T2 description: Declaring a function with "__func = function(arg1, arg2)" --- 772 -
S13.2.1_A7_T1.js --- info: | When the [[Call]] property for a Function object F is called, the following steps are taken: 2. Evaluate F's FunctionBody; if Result.type is returned then Result.value is returned too es5id: 13.2.1_A7_T1 description: Returning null. Declaring a function with "function __func()" --- 805 -
S13.2.1_A7_T2.js --- info: | When the [[Call]] property for a Function object F is called, the following steps are taken: 2. Evaluate F's FunctionBody; if Result.type is returned then Result.value is returned too es5id: 13.2.1_A7_T2 description: > Returning null. Declaring a function with "var __func = function ()" --- 829 -
S13.2.1_A7_T3.js --- info: | When the [[Call]] property for a Function object F is called, the following steps are taken: 2. Evaluate F's FunctionBody; if Result.type is returned then Result.value is returned too es5id: 13.2.1_A7_T3 description: Returning number. Declaring a function with "function __func()" flags: [noStrict] --- 1582 -
S13.2.1_A7_T4.js --- info: | When the [[Call]] property for a Function object F is called, the following steps are taken: 2. Evaluate F's FunctionBody; if Result.type is returned then Result.value is returned too es5id: 13.2.1_A7_T4 description: Returning boolean. Declaring a function with "function __func()" --- 1634 -
S13.2.1_A8_T1.js --- info: | When the [[Call]] property for a Function object F is called, the following steps are taken: 2. Evaluate F's FunctionBody; if Result.type is thrown then Result.value is thrown too es5id: 13.2.1_A8_T1 description: > Throwing an exception within a function body. Declaring function with "function __func()" --- 789 -
S13.2.1_A8_T2.js --- info: | When the [[Call]] property for a Function object F is called, the following steps are taken: 2. Evaluate F's FunctionBody; if Result.type is thrown then Result.value is thrown too es5id: 13.2.1_A8_T2 description: > Throwing an exception within a function body. Declaring function with "var __func = function (message)" --- 832 -
S13.2.1_A9.1_T1.js --- info: | When the [[Call]] property for a Function object is called, the body is evaluated and if evaluation result has type "normal", then "undefined" is returned es5id: 13.2.1_A9.1_T1 description: > Declaring a function with "function __func()" and no "return" in the function body --- 992 -
S13.2.1_A9.1_T2.js --- info: | When the [[Call]] property for a Function object is called, the body is evaluated and if evaluation result has type "normal", then "undefined" is returned es5id: 13.2.1_A9.1_T2 description: > Declaring a function with "var __func = function()" and no "return" in the function body --- 1004 -
S13.2.1_A9_T1.js --- info: | When the [[Call]] property for a Function object is called, the body is evaluated and if evaluation result has type "return" its value is not defined, then "undefined" is returned es5id: 13.2.1_A9_T1 description: > Using "return" with no expression. Declaring a function with "function __func()" --- 1023 -
S13.2.1_A9_T2.js --- info: | When the [[Call]] property for a Function object is called, the body is evaluated and if evaluation result has type "return" its value is not defined, then "undefined" is returned es5id: 13.2.1_A9_T2 description: > Using "return" with no expression. Declaring a function with "var __func = function()" --- 1035 -
S13.2.2_A1_T1.js --- info: | Since a function is an object, it might be set to [[Prototype]] property of a new created object through [[Construct]] property es5id: 13.2.2_A1_T1 description: Declaring a function with "function __func()" --- 1233 -
S13.2.2_A1_T2.js --- info: | Since a function is an object, it might be set to [[Prototype]] property of a new created object through [[Construct]] property es5id: 13.2.2_A1_T2 description: Declaring a function with "var __PROTO = function()" --- 1252 -
S13.2.2_A2.js --- info: | Since a function is an object, it might be set to [[Prototype]] property of a new created object through [[Construct]] property, but [[call]] property must fail with TypeError error es5id: 13.2.2_A2 description: Trying to [[call]] this function --- 1054 -
S13.2.2_A3_T1.js --- info: | When the [[Construct]] property for a Function object F is called: A new native ECMAScript object is created. It gets the value of the [[Prototype]] property of the F(Denote it PROTO_VAL). If PROTO_VAL is not an object, sets the [[Prototype]] property of native ECMAScript object just created to the original Object prototype object as described in 15.2.3.1 es5id: 13.2.2_A3_T1 description: Declaring a function with "function __FACTORY()" --- 1333 -
S13.2.2_A3_T2.js --- info: | When the [[Construct]] property for a Function object F is called: A new native ECMAScript object is created. It gets the value of the [[Prototype]] property of the F(Denote it PROTO_VAL). If PROTO_VAL is not an object, sets the [[Prototype]] property of native ECMAScript object just created to the original Object prototype object as described in 15.2.3.1 es5id: 13.2.2_A3_T2 description: Declaring a function with "var __FACTORY = function()" --- 1345 -
S13.2.2_A4_T1.js --- info: | When the [[Construct]] property for a Function object F is called: A new native ECMAScript object is created. Gets the value of the [[Prototype]] property of the F(Denote it PROTO_VAL). If PROTO_VAL is an object, sets the [[Prototype]] property of native ECMAScript object just created to the PROTO_VAL es5id: 13.2.2_A4_T1 description: Declaring a function with "function __FACTORY()" --- 1356 -
S13.2.2_A4_T2.js --- info: | When the [[Construct]] property for a Function object F is called: A new native ECMAScript object is created. Gets the value of the [[Prototype]] property of the F(Denote it PROTO_VAL). If PROTO_VAL is an object, sets the [[Prototype]] property of native ECMAScript object just created to the PROTO_VAL es5id: 13.2.2_A4_T2 description: Declaring a function with "__FACTORY = function()" --- 1386 -
S13.2.2_A5_T1.js --- info: | When the [[Construct]] property for a Function object F is called: A new native ECMAScript object is created. Invoke the [[Call]] property of F, providing native ECMAScript object just created as the this value and providing the argument list passed into [[Construct]] as the argument values es5id: 13.2.2_A5_T1 description: Declaring a function with "function __FACTORY(arg1, arg2)" --- 2669 -
S13.2.2_A5_T2.js --- info: | When the [[Construct]] property for a Function object F is called: A new native ECMAScript object is created. Invoke the [[Call]] property of F, providing native ECMAScript object just created as the this value and providing the argument list passed into [[Construct]] as the argument values es5id: 13.2.2_A5_T2 description: Declaring a function with "__FACTORY = function(arg1, arg2)" --- 2684 -
S13.2.2_A6_T1.js --- info: | When the [[Construct]] property for a Function object F is called: A new native ECMAScript object is created. Invoke the [[Call]] property of F, providing just created native ECMAScript object as the this value and providing the argument list passed into [[Construct]] as the argument values. If Type( [[Call]] returned) is not Object then return passed as this into [[Call]] object es5id: 13.2.2_A6_T1 description: Declaring a function with "__func = function(arg)" --- 1369 -
S13.2.2_A6_T2.js --- info: | When the [[Construct]] property for a Function object F is called: A new native ECMAScript object is created. Invoke the [[Call]] property of F, providing just created native ECMAScript object as the this value and providing the argument list passed into [[Construct]] as the argument values. If Type( [[Call]] returned) is not Object then return passed as this into [[Call]] object es5id: 13.2.2_A6_T2 description: Declaring a function with "function __func (arg)" --- 1348 -
S13.2.2_A7_T1.js --- info: | When the [[Construct]] property for a Function object F is called: A new native ECMAScript object is created. Invoke the [[Call]] property of F, providing just created native ECMAScript object as the this value and providing the argument list passed into [[Construct]] as the argument values. If Type( [[Call]] returned) is an Object then return this just as obtained object es5id: 13.2.2_A7_T1 description: Declaring a function with "as __func = function(arg)" --- 1398 -
S13.2.2_A7_T2.js --- info: | When the [[Construct]] property for a Function object F is called: A new native ECMAScript object is created. Invoke the [[Call]] property of F, providing just created native ECMAScript object as the this value and providing the argument list passed into [[Construct]] as the argument values. If Type( [[Call]] returned) is an Object then return this just as obtained object es5id: 13.2.2_A7_T2 description: Declaring a "function as function __func (arg)" --- 1419 -
S13.2.2_A8_T1.js --- info: | When the [[Construct]] property for a Function object F is called: A new native ECMAScript object is created. Invoke the [[Call]] property of F, providing just created native ECMAScript object as the this value and providing the argument list passed into [[Construct]] as the argument values. If Type( [[Call]] returned) is an Function then return this just as obtained function es5id: 13.2.2_A8_T1 description: > Creating a function whose prototype contains "return" followed by declaration of another function --- 1819 -
S13.2.2_A8_T2.js --- info: | When the [[Construct]] property for a Function object F is called: A new native ECMAScript object is created. Invoke the [[Call]] property of F, providing just created native ECMAScript object as the this value and providing the argument list passed into [[Construct]] as the argument values. If Type( [[Call]] returned) is an Function then return this just as obtained function es5id: 13.2.2_A8_T2 description: > Creating a function whose prototype contains declaration of another function declared as a variable --- 1827 -
S13.2.2_A8_T3.js --- info: | When the [[Construct]] property for a Function object F is called: A new native ECMAScript object is created. Invoke the [[Call]] property of F, providing just created native ECMAScript object as the this value and providing the argument list passed into [[Construct]] as the argument values. If Type( [[Call]] returned) is an Function then return this just as obtained function es5id: 13.2.2_A8_T3 description: > Creating a function whose prototype contains declaration of another function defined by using Function.call method --- 1823 -
S13.2.2_A9.js --- info: | Calling a function as a constructor is inadmissible as long as this.any_Function is called before it is declared es5id: 13.2.2_A9 description: Calling a function as a constructor --- 795 -
S13.2.2_A10.js --- info: | Calling a function as a constructor is possible as long as this.any_Function is declared es5id: 13.2.2_A10 description: Calling a function as a constructor after it has been declared --- 1042 -
S13.2.2_A11.js --- info: | Calling a function as a constructor is possible as long as this.any_Function is declared and called es5id: 13.2.2_A11 description: > Calling a function as a constructor after it has been declared with "function func()" --- 851 -
S13.2.2_A12.js --- info: | Calling a function as a constructor is possible as long as this.any_Function is declared and called es5id: 13.2.2_A12 description: > Calling a function as a constructor after it has been declared with "function func()" --- 1106 -
S13.2.2_A13.js --- info: | Calling a function as a constructor is inadmissible as long as this.any_Function is declared by eval and called es5id: 13.2.2_A13 description: > Calling a function as a constructor after it has been declared by eval --- 843 -
S13.2.2_A14.js --- info: | Calling a function as a constructor is inadmissible as long as this.any_Function is declared by eval and called es5id: 13.2.2_A14 description: > Calling a function as a constructor after it has been declared by eval flags: [noStrict] --- 812 -
S13.2.2_A15_T1.js --- info: | When the [[Construct]] property for a Function object F is called, and the object created in the function is returned, the object (declared with "this" within a function) will be strong and healthy es5id: 13.2.2_A15_T1 description: > Function declared at the end of the program and "obj" property is declared with "var obj = {}" --- 1487 -
S13.2.2_A15_T2.js --- info: | When the [[Construct]] property for a Function object F is called, and the object created in the function is returned, the object (declared with "this" within a function) will be strong and healthy es5id: 13.2.2_A15_T2 description: > Function declared at the end of the program and "obj" property is declared with "obj = {}" --- 1466 -
S13.2.2_A15_T3.js --- info: | When the [[Construct]] property for a Function object F is called, and the object created in the function is returned, the object (declared with "this" within a function) will be strong and healthy es5id: 13.2.2_A15_T3 description: > Function declared at the end of the program and "obj" property is declared with "var obj = {}" --- 1509 -
S13.2.2_A15_T4.js --- info: | When the [[Construct]] property for a Function object F is called, and the object created in the function is returned, the object (declared with "this" within a function) will be strong and healthy es5id: 13.2.2_A15_T4 description: > Function declared at the end of the program and "obj" property is declared with "obj = {}" --- 1477 -
S13.2.2_A16_T1.js --- info: FunctionExpression within a new statement is admitted es5id: 13.2.2_A16_T1 description: > Using "is __obj = new function __func(){this.prop=1;}" as FunctionExpression --- 1238 -
S13.2.2_A16_T2.js --- info: FunctionExpression within a new statement is admitted es5id: 13.2.2_A16_T2 description: > Using "var __obj = new function __func(arg){this.prop=arg;}(5)" as FunctionExpression --- 1255 -
S13.2.2_A16_T3.js --- info: FunctionExpression within a new statement is admitted es5id: 13.2.2_A16_T3 description: > Using "is __obj = new function __func(arg){this.prop=arg; return {feat: ++arg}}(5)" as FunctionExpression --- 1537 -
S13.2.2_A17_T2.js --- info: FunctionExpression containing "with" statement is admitted es5id: 13.2.2_A17_T2 description: Throwing an exception within "with" statement flags: [noStrict] --- 1960 -
S13.2.2_A17_T3.js --- info: FunctionExpression containing "with" statement is admitted es5id: 13.2.2_A17_T3 description: > In the check 4 we populate field getRight in __obj object since var getRight declaration adds variable to function scope but getRight in statement resolves within with(__obj) scope and searchs getRight in __obj first flags: [noStrict] --- 2095 -
S13.2.2_A18_T1.js --- info: | Using arguments object within a "with" Expression that is nested in a function is admitted es5id: 13.2.2_A18_T1 description: "Object is declared with \"var __obj={callee:\"a\"}\"" flags: [noStrict] --- 1573 -
S13.2.2_A18_T2.js --- info: | Using arguments object within a "with" Expression that is nested in a function is admitted es5id: 13.2.2_A18_T2 description: "Object is declared with \"__obj={callee:\"a\"}\"" flags: [noStrict] --- 1581 -
S13.2.2_A19_T1.js --- info: Function's scope chain is started when it is declared es5id: 13.2.2_A19_T1 description: Function is declared in the global scope flags: [noStrict] --- 657 -
S13.2.2_A19_T2.js --- info: Function's scope chain is started when it is declared es5id: 13.2.2_A19_T2 description: Function is declared in the object scope. Using "with" statement flags: [noStrict] --- 662 -
S13.2.2_A19_T3.js --- info: Function's scope chain is started when it is declared es5id: 13.2.2_A19_T3 description: > Function is declared in the object scope and then an exception is thrown flags: [noStrict] --- 756 -
S13.2.2_A19_T4.js --- info: Function's scope chain is started when it is declared es5id: 13.2.2_A19_T4 description: > Function is declared in the hierarchical object scope and then an exception is thrown flags: [noStrict] --- 819 -
S13.2.2_A19_T5.js --- info: Function's scope chain is started when it is declared es5id: 13.2.2_A19_T5 description: > Function is declared in the object scope, then an exception is thrown and the object is deleted flags: [noStrict] --- 836 -
S13.2.2_A19_T6.js --- info: Function's scope chain is started when it is declared es5id: 13.2.2_A19_T6 description: > Function is declared in the "object->do-while" scope, then the object is deleted and another object with the same name is declared flags: [noStrict] --- 873 -
S13.2.2_A19_T7.js --- info: Function's scope chain is started when it is declared es5id: 13.2.2_A19_T7 description: Function is declared in the object scope as a variable flags: [noStrict] --- 1453 -
S13.2.2_A19_T8.js --- info: Function's scope chain is started when it is declared es5id: 13.2.2_A19_T8 description: Function is declared multiply times flags: [noStrict] --- 1719 -
S13.2_A1_T1.js --- info: A "prototype" property is automatically created for every function es5id: 13.2_A1_T1 description: Using "function __func(){}" as a FunctionDeclaration --- 583 -
S13.2_A1_T2.js --- info: A "prototype" property is automatically created for every function es5id: 13.2_A1_T2 description: Using "var __func = function(){}" as a FunctionDeclaration --- 595 -
S13.2_A2_T1.js --- info: Nested function are admitted es5id: 13.2_A2_T1 description: Nesting level is two --- 658 -
S13.2_A2_T2.js --- info: Nested function are admitted es5id: 13.2_A2_T2 description: Nesting level is three --- 723 -
S13.2_A3.js --- info: | When Function object(F) is constructed the length property of F is set to the number of formal properties specified in FormalParameterList es5id: 13.2_A3 description: > Creating functions with various FormalParameterList and checking their lengths --- 1022 -
S13.2_A4_T1.js --- info: | When Function object(F) is constructed the following steps from 9 to 11 take place 9.Create a new object as would be constructed by the expression new Object(). 10. Set the constructor property of Result(9) to F. This property is given attributes { DontEnum }. 11. Set the "prototype" property of F to Result(9). es5id: 13.2_A4_T1 description: > Checking prototype, prototype.constructor properties and {DontEnum} property of a constructor. Using "function __func(){}" as a FunctionDeclaration --- 1849 -
S13.2_A4_T2.js --- info: | When Function object(F) is constructed the following steps from 9 to 11 take place 9.Create a new object as would be constructed by the expression new Object(). 10. Set the constructor property of Result(9) to F. This property is given attributes { DontEnum }. 11. Set the "prototype" property of F to Result(9). es5id: 13.2_A4_T2 description: > Checking prototype, prototype.constructor properties and {DontEnum} property of a constructor. Using "var __gunc = function(){}" as a FunctionDeclaration --- 1861 -
S13.2_A5.js --- info: | When Function object(F) is constructed the [[Prototype]] property of F is set to the original Function prototype object as specified in 15.3.3.1 es5id: 13.2_A5 description: Function.prototype.isPrototypeOf() is used --- 992 -
S13.2_A6_T1.js --- es5id: 13.2_A6_T1 description: check if "caller" poisoning poisons getOwnPropertyDescriptor too flags: [onlyStrict] --- 311 -
S13.2_A6_T2.js --- es5id: 13.2_A6_T2 description: > check if "arguments" poisoning poisons getOwnPropertyDescriptor too flags: [onlyStrict] --- 327 -
S13.2_A7_T1.js --- es5id: 13.2_A7_T1 description: check if "caller" poisoning poisons hasOwnProperty too flags: [onlyStrict] --- 285 -
S13.2_A7_T2.js --- es5id: 13.2_A7_T2 description: check if "arguments" poisoning poisons hasOwnProperty too flags: [onlyStrict] --- 291 -
S13.2_A8_T1.js --- es5id: 13.2_A8_T1 description: check if "caller" poisoning poisons "in" too flags: [onlyStrict] --- 261 -
S13.2_A8_T2.js --- es5id: 13.2_A8_T2 description: check if "arguments" poisoning poisons "in" too flags: [onlyStrict] --- 267 -
S13_A1.js --- info: | "x=function y(){}" statement does not store a reference to the new function in the varaible y(Identifier) es5id: 13_A1 description: Checking the type of y --- 987 -
S13_A2_T1.js --- info: function must be evaluated inside the expression es5id: 13_A2_T1 description: Defining function body with "return arg" --- 849 -
S13_A2_T2.js --- info: function must be evaluated inside the expression es5id: 13_A2_T2 description: Defining function body with "return arg + arguments[1]" --- 889 -
S13_A2_T3.js --- info: function must be evaluated inside the expression es5id: 13_A2_T3 description: > Defining function body with "return arguments[0] +"-"+ arguments[1]" --- 938 -
S13_A3_T1.js --- info: | The Identifier in a FunctionExpression can be referenced from inside the FunctionExpression's FunctionBody to allow the function calling itself recursively es5id: 13_A3_T1 description: > Creating a recursive function that calculates factorial, as a variable. Function call itself by it`s name --- 895 -
S13_A3_T2.js --- info: | The Identifier in a FunctionExpression can be referenced from inside the FunctionExpression's FunctionBody to allow the function calling itself recursively es5id: 13_A3_T2 description: > Creating a recursive function that calculates factorial, as a variable. Function calls itself by the name of the variable --- 895 -
S13_A3_T3.js --- info: | The Identifier in a FunctionExpression can be referenced from inside the FunctionExpression's FunctionBody to allow the function calling itself recursively es5id: 13_A3_T3 description: Creating simple recursive function that calculates factorial --- 816 -
S13_A4_T1.js --- info: | The production FunctionDeclaration: "function Identifier ( FormalParameterList_opt ) { FunctionBody }" is processed by function declarations es5id: 13_A4_T1 description: Declaring a function that returns string --- 1010 -
S13_A4_T2.js --- info: | The production FunctionDeclaration: "function Identifier ( FormalParameterList_opt ) { FunctionBody }" is processed by function declarations es5id: 13_A4_T2 description: > Declaring a function that uses prefix increment operator within its "return" Expression --- 1030 -
S13_A4_T3.js --- info: | The production FunctionDeclaration: "function Identifier ( FormalParameterList_opt ) { FunctionBody }" is processed by function declarations es5id: 13_A4_T3 description: > Declaring a function that uses arithmetical operators within its "return" Expression --- 1087 -
S13_A4_T4.js --- info: | The production FunctionDeclaration: "function Identifier ( FormalParameterList_opt ) { FunctionBody }" is processed by function declarations es5id: 13_A4_T4 description: > Declaring a function that uses strings concatenaion opeator within its "return" Expression --- 1989 -
S13_A6_T1.js --- info: | FunctionDeclaration can be overrided by other FunctionDeclaration with the same Identifier es5id: 13_A6_T1 description: Duplicating function declaration --- 985 -
S13_A6_T2.js --- info: | FunctionDeclaration can be overrided by other FunctionDeclaration with the same Identifier es5id: 13_A6_T2 description: Calling a function before it is declared one more time --- 1126 -
S13_A7_T1.js --- info: The FunctionBody must be SourceElements es5id: 13_A7_T1 description: Using only SourceElements within the FunctionBody --- 2622 -
S13_A7_T3.js --- info: The FunctionBody must be SourceElements es5id: 13_A7_T3 description: Checking if execution of "function __func(){\A\B\C}" fails negative: phase: parse type: SyntaxError --- 411 -
S13_A8_T1.js --- info: Arguments property of activation object contains real params to be passed es5id: 13_A8_T1 description: > Creating a function declared with "function __func(param1, param2, param3)" and using arguments.length property in order to perform the test --- 1108 -
S13_A8_T2.js --- info: Arguments property of activation object contains real params to be passed es5id: 13_A8_T2 description: > Creating a function with no parameters and using arguments.length property in order to perform the test --- 1303 -
S13_A9.js --- info: Function can be passed as argument es5id: 13_A9 description: Using function as argument of another function --- 659 -
S13_A10.js --- info: Function is a data es5id: 13_A10 description: Using function as a property of an object --- 1018 -
S13_A11_T1.js --- info: | Since arguments property has attribute { DontDelete }, only its elements can be deleted es5id: 13_A11_T1 description: Returning result of "delete arguments" flags: [noStrict] --- 647 -
S13_A11_T2.js --- info: | Since arguments property has attribute { DontDelete }, only its elements can be deleted es5id: 13_A11_T2 description: > Checking if deleting the arguments property fails and then returning it flags: [noStrict] --- 731 -
S13_A11_T3.js --- info: | Since arguments property has attribute { DontDelete }, only its elements can be deleted es5id: 13_A11_T3 description: Deleting arguments[i] and returning result of the operation --- 806 -
S13_A11_T4.js --- info: | Since arguments property has attribute { DontDelete }, only its elements can be deleted es5id: 13_A11_T4 description: Deleting arguments[i] and checking the type of arguments[i] --- 883 -
S13_A12_T1.js --- info: Function declarations in global or function scope are {DontDelete} es5id: 13_A12_T1 description: > Checking if deleting a function that is declared in global scope fails flags: [noStrict] --- 919 -
S13_A12_T2.js --- info: Function declarations in global or function scope are {DontDelete} es5id: 13_A12_T2 description: > Checking if deleting a function that is declared in function scope fails flags: [noStrict] --- 1031 -
S13_A13_T1.js --- info: Deleting arguments[i] leads to breaking the connection to local reference es5id: 13_A13_T1 description: Deleting arguments[i] --- 695 -
S13_A13_T2.js --- info: Deleting arguments[i] leads to breaking the connection to local reference es5id: 13_A13_T2 description: Changing arguments value and then deleting the argument --- 742 -
S13_A13_T3.js --- info: Deleting arguments[i] leads to breaking the connection to local reference es5id: 13_A13_T3 description: > Changing argument value, deleting the argument and then defining a new value for arguments[i] --- 888 -
S13_A14_T1.js --- info: Unicode symbols in function name are allowed es5id: 13_A14 description: Defining function name with unicode symbols flags: [noStrict] --- 612 -
S13_A15_T1.js --- info: "''arguments'' variable overrides ActivationObject.arguments" es5id: 13_A15_T1 description: Declaring a function with "__func(arguments)" flags: [noStrict] --- 634 -
S13_A15_T2.js --- info: "''arguments'' variable overrides ActivationObject.arguments" es5id: 13_A15_T2 description: Overriding arguments within functions body flags: [noStrict] --- 729 -
S13_A15_T3.js --- info: "''arguments'' variable overrides ActivationObject.arguments" es5id: 13_A15_T3 description: Declaring a variable named with "arguments" without a function flags: [noStrict] --- 1171 -
S13_A15_T4.js --- info: "''arguments'' variable overrides ActivationObject.arguments" es5id: 13_A15_T4 description: > Declaring a variable named with "arguments" and following a "return" statement within a function body flags: [noStrict] --- 820 -
S13_A15_T5.js --- info: "''arguments'' variable overrides ActivationObject.arguments" es5id: 13_A15_T5 description: Creating a variable named with "arguments" without a function flags: [noStrict] --- 1020 -
S13_A17_T1.js --- info: | Function call cannot appear in the program before the FunctionExpression appears es5id: 13_A17_T1 description: Trying to call a function before the FunctionExpression appears --- 1404 -
S13_A17_T2.js --- info: | Function call cannot appear in the program before the FunctionExpression appears es5id: 13_A17_T2 description: > Trying to call a function before the FunctionExpression appears and then using the FunctionExpression one more time --- 1533 -
S13_A18.js --- info: Closures are admitted es5id: 13_A18 description: Using a function declaration as a function parameter --- 1002 -
S13_A19_T1.js --- info: "\"var\" does not override function declaration" es5id: 13_A19_T1 description: > Creating a function and a variable with identical Identifiers in global scope --- 1054 -
S13_A19_T2.js --- info: "\"var\" does not override function declaration" es5id: 13_A19_T2 description: > Creating a function and a variable with identical Identifiers within function scope --- 1161 -
S14_A2.js --- info: FunctionDeclaration cannot be localed inside an Expression es5id: 14_A2 description: Declaring a function within an "if" Expression --- 909 -
S14_A3.js --- info: | Global FunctionDeclaration cannot be defined within the body of another FunctionDeclaration es5id: 14_A3 description: Declaring a function within the body of another function --- 996 -
S14_A5_T1.js --- info: | The Identifer within a FunctionDeclaration can be written in both letters and unicode es5id: 14_A5_T1 description: > Declaring a function with "function __\u0066\u0075\u006e\u0063(){return "both"}" --- 834 -
S14_A5_T2.js --- info: | The Identifer within a FunctionDeclaration can be written in both letters and unicode es5id: 14_A5_T2 description: > Declaring a function with "function \u005f\u005f\u0066\u0075\u006e\u0063(){return "unicode"}" --- 780 -
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] --- 2138 -
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] --- 1218 -
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] --- 1134 -
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] --- 1446 -
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] --- 1432 -
scope-paramsbody-var-close.js --- esid: sec-functiondeclarationinstantiation description: > Disposal of variable environment for the function body info: | [...] 26. If hasParameterExpressions is false, then [...] 27. Else, a. NOTE A separate Environment Record is needed to ensure that closures created by expressions in the formal parameter list do not have visibility of declarations in the function body. b. Let varEnv be NewDeclarativeEnvironment(env). c. Let varEnvRec be varEnv's EnvironmentRecord. d. Set the VariableEnvironment of calleeContext to varEnv. e. Let instantiatedVarNames be a new empty List. [...] --- 1109 -
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. [...] --- 1149 -
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 --- 632 -