Name Description Size Coverage
8.12.5-3-b_1.js --- es5id: 8.12.5-3-b_1 description: > Changing the value of a data property should not affect it's non-value property descriptor attributes. --- 983 -
8.12.5-3-b_2.js --- es5id: 8.12.5-3-b_2 description: > Changing the value of a data property should not affect it's non-value property descriptor attributes. --- 1013 -
8.12.5-5-b_1.js --- es5id: 8.12.5-5-b_1 description: > Changing the value of an accessor property should not affect it's property descriptor attributes. --- 913 -
8.14.4-8-b_1.js --- es5id: 8.14.4-8-b_1 description: Non-writable property on a prototype written to. flags: [noStrict] --- 527 -
8.14.4-8-b_2.js --- es5id: 8.14.4-8-b_2 description: Non-writable property on a prototype written to in strict mode. flags: [onlyStrict] --- 511 -
11.13.1-1-6-s.js --- info: PutValue operates only on references (see step 3.a). es5id: 11.13.1-1-6-s description: > simple assignment throws ReferenceError if LeftHandSide is an unresolvable reference (base obj undefined) --- 466 -
11.13.1-1-s.js --- es5id: 11.13.1-1-s description: > Strict Mode - TypeError is thrown if The LeftHandSide is a reference to a data property with the attribute value {[[Writable]]:false} under strict mode flags: [onlyStrict] --- 672 -
11.13.1-2-s.js --- es5id: 11.13.1-2-s description: > Strict Mode - TypeError is thrown if The LeftHandSide is a reference to an accessor property with the attribute value {[[Set]]:undefined} under strict mode flags: [onlyStrict] --- 725 -
11.13.1-3-s.js --- es5id: 11.13.1-3-s description: > Strict Mode - TypeError is thrown if The LeftHandSide is a reference to a non-existent property of an object whose [[Extensible]] internal property has the value false under strict mode flags: [onlyStrict] --- 534 -
11.13.1-4-1.js --- info: PutValue operates only on references (see step 3.b). es5id: 11.13.1-4-1 description: > simple assignment creates property on the global object if LeftHandSide is an unresolvable reference flags: [noStrict] --- 788 -
11.13.1-4-3-s.js --- es5id: 11.13.1-4-3-s description: > simple assignment throws TypeError if LeftHandSide is a readonly property in strict mode (Global.Infinity) flags: [onlyStrict] --- 409 -
11.13.1-4-6-s.js --- es5id: 11.13.1-4-6-s description: > simple assignment throws TypeError if LeftHandSide is a readonly property in strict mode (Function.length) flags: [onlyStrict] --- 389 -
11.13.1-4-14-s.js --- es5id: 11.13.1-4-14-s description: > simple assignment throws TypeError if LeftHandSide is a readonly property in strict mode (Number.MAX_VALUE) flags: [onlyStrict] --- 392 -
11.13.1-4-27-s.js --- es5id: 11.13.1-4-27-s description: > simple assignment throws TypeError if LeftHandSide is a readonly property in strict mode (Global.undefined) flags: [onlyStrict] --- 412 -
11.13.1-4-28gs.js --- es5id: 11.13.1-4-28gs description: > Strict Mode - TypeError is thrown if the identifier 'Math.PI' appears as the LeftHandSideExpression of simple assignment(=) flags: [onlyStrict] --- 396 -
11.13.1-4-29gs.js --- es5id: 11.13.1-4-29gs description: > Strict Mode - TypeError is thrown if the identifier 'Math.PI' appears as the LeftHandSideExpression of simple assignment(=) flags: [onlyStrict] --- 396 -
destructuring -
dstr-array-elem-init-assignment.js --- description: If the Initializer is present and v is undefined, the Initializer should be evaluated and the result assigned to the target reference. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1151 -
dstr-array-elem-init-evaluation.js --- description: The Initializer should only be evaluated if v is undefined. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 952 -
dstr-array-elem-init-fn-name-arrow.js --- description: Assignment of function `name` attribute (ArrowFunction) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] includes: [propertyHelper.js] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. AssignmentElement[Yield] : DestructuringAssignmentTarget Initializeropt [...] 7. If Initializer is present and value is undefined and IsAnonymousFunctionDefinition(Initializer) and IsIdentifierRef of DestructuringAssignmentTarget are both true, then a. Let hasNameProperty be HasOwnProperty(v, "name"). b. ReturnIfAbrupt(hasNameProperty). c. If hasNameProperty is false, perform SetFunctionName(v, GetReferencedName(lref)). --- 1462 -
dstr-array-elem-init-fn-name-class.js --- description: Assignment of function `name` attribute (ClassExpression) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [class, destructuring-binding] flags: [generated] includes: [propertyHelper.js] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. AssignmentElement[Yield] : DestructuringAssignmentTarget Initializeropt [...] 7. If Initializer is present and value is undefined and IsAnonymousFunctionDefinition(Initializer) and IsIdentifierRef of DestructuringAssignmentTarget are both true, then a. Let hasNameProperty be HasOwnProperty(v, "name"). b. ReturnIfAbrupt(hasNameProperty). c. If hasNameProperty is false, perform SetFunctionName(v, GetReferencedName(lref)). --- 1594 -
dstr-array-elem-init-fn-name-cover.js --- description: Assignment of function `name` attribute (CoverParenthesizedExpression) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] includes: [propertyHelper.js] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. AssignmentElement[Yield] : DestructuringAssignmentTarget Initializeropt [...] 7. If Initializer is present and value is undefined and IsAnonymousFunctionDefinition(Initializer) and IsIdentifierRef of DestructuringAssignmentTarget are both true, then a. Let hasNameProperty be HasOwnProperty(v, "name"). b. ReturnIfAbrupt(hasNameProperty). c. If hasNameProperty is false, perform SetFunctionName(v, GetReferencedName(lref)). --- 1556 -
dstr-array-elem-init-fn-name-fn.js --- description: Assignment of function `name` attribute (FunctionExpression) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [class, destructuring-binding] flags: [generated] includes: [propertyHelper.js] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. AssignmentElement[Yield] : DestructuringAssignmentTarget Initializeropt [...] 7. If Initializer is present and value is undefined and IsAnonymousFunctionDefinition(Initializer) and IsIdentifierRef of DestructuringAssignmentTarget are both true, then a. Let hasNameProperty be HasOwnProperty(v, "name"). b. ReturnIfAbrupt(hasNameProperty). c. If hasNameProperty is false, perform SetFunctionName(v, GetReferencedName(lref)). --- 1521 -
dstr-array-elem-init-fn-name-gen.js --- description: Assignment of function `name` attribute (GeneratorExpression) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [generators, destructuring-binding] flags: [generated] includes: [propertyHelper.js] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. AssignmentElement[Yield] : DestructuringAssignmentTarget Initializeropt [...] 7. If Initializer is present and value is undefined and IsAnonymousFunctionDefinition(Initializer) and IsIdentifierRef of DestructuringAssignmentTarget are both true, then a. Let hasNameProperty be HasOwnProperty(v, "name"). b. ReturnIfAbrupt(hasNameProperty). c. If hasNameProperty is false, perform SetFunctionName(v, GetReferencedName(lref)). --- 1548 -
dstr-array-elem-init-in.js --- description: The Initializer in an AssignmentElement may be an `in` expression. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 859 -
dstr-array-elem-init-let.js --- description: Value retrieval of Initializer obeys `let` semantics. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [let, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 801 -
dstr-array-elem-init-order.js --- description: Initializer values should be assigned in left-to-right order. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 924 -
dstr-array-elem-init-simple-no-strict.js --- description: Identifiers that appear as the DestructuringAssignmentTarget in an AssignmentElement should take on the iterated value corresponding to their position in the ArrayAssignmentPattern. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, noStrict] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1050 -
dstr-array-elem-init-yield-expr.js --- description: When a `yield` token appears within the Initializer of an AssignmentElement within a generator function body, it behaves as a YieldExpression. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [generators, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1314 -
dstr-array-elem-init-yield-ident-invalid.js --- description: When a `yield` token appears within the Initializer of an AssignmentElement outside of a generator function body, it behaves as an IdentifierReference. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 966 -
dstr-array-elem-init-yield-ident-valid.js --- description: When a `yield` token appears within the Initializer of an AssignmentElement outside of a generator function body, it behaves as an IdentifierReference. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, noStrict] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 976 -
dstr-array-elem-iter-get-err.js --- description: Abrupt completion returned from GetIterator (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList ] 1. Let iterator be GetIterator(value). 2. ReturnIfAbrupt(iterator). --- 1024 -
dstr-array-elem-iter-nrml-close-err.js --- description: Abrupt completion returned from IteratorClose (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList ] [...] 5. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, result). --- 1429 -
dstr-array-elem-iter-nrml-close-null.js --- description: IteratorClose throws a TypeError when `return` returns a non-Object value (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList ] [...] 5. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, result). 6. Return result. 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). 7. If completion.[[type]] is throw, return Completion(completion). 8. If innerResult.[[type]] is throw, return Completion(innerResult). 9. If Type(innerResult.[[value]]) is not Object, throw a TypeError exception. --- 1711 -
dstr-array-elem-iter-nrml-close-skip.js --- description: IteratorClose is not called when assignment evaluation has exhausted the iterator (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList ] [...] 5. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, result). 6. Return result. --- 1389 -
dstr-array-elem-iter-nrml-close.js --- description: IteratorClose is called when assignment evaluation has not exhausted the iterator (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList ] [...] 5. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, result). 6. Return result. 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). [...] --- 1879 -
dstr-array-elem-iter-rtrn-close-err.js --- description: IteratorClose is called when reference evaluation produces a "return" completion (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, generators, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList ] [...] 5. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, result). 6. Return result. 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). 7. If completion.[[type]] is throw, return Completion(completion). 8. If innerResult.[[type]] is throw, return Completion(innerResult). --- 1794 -
dstr-array-elem-iter-rtrn-close-null.js --- description: IteratorClose throws a TypeError when `return` returns a non-Object value (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, generators, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList ] [...] 5. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, result). 6. Return result. 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). 7. If completion.[[type]] is throw, return Completion(completion). 8. If innerResult.[[type]] is throw, return Completion(innerResult). 9. If Type(innerResult.[[value]]) is not Object, throw a TypeError exception. --- 2061 -
dstr-array-elem-iter-rtrn-close.js --- description: IteratorClose is called when reference evaluation produces a "return" completion (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, generators, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList ] [...] 5. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, result). 6. Return result. 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). 7. If completion.[[type]] is throw, return Completion(completion). 8. If innerResult.[[type]] is throw, return Completion(innerResult). --- 2286 -
dstr-array-elem-iter-thrw-close-err.js --- description: IteratorClose is called when reference evaluation produces a "throw" completion (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList ] [...] 5. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, result). 6. Return result. --- 1512 -
dstr-array-elem-iter-thrw-close-skip.js --- description: IteratorClose is not called when iteration produces an abrupt completion (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList ] [...] 5. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, result). 6. Return result. --- 1351 -
dstr-array-elem-iter-thrw-close.js --- description: IteratorClose is called when reference evaluation produces a "throw" completion (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList ] [...] 5. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, result). 6. Return result. 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). [...] --- 1793 -
dstr-array-elem-nested-array-invalid.js --- description: It is a Syntax Error if LeftHandSideExpression is either an ObjectLiteral or an ArrayLiteral and if the lexical token sequence matched by LeftHandSideExpression cannot be parsed with no tokens left over using AssignmentPattern as the goal symbol. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1044 -
dstr-array-elem-nested-array-null.js --- description: When DestructuringAssignmentTarget is an array literal and the value is `null`, a TypeError should be thrown. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 850 -
dstr-array-elem-nested-array-undefined-hole.js --- description: When DestructuringAssignmentTarget is an array literal and the value is a "hole", a TypeError should be thrown. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 861 -
dstr-array-elem-nested-array-undefined-own.js --- description: When DestructuringAssignmentTarget is an array literal and the value is `undefined`, a TypeError should be thrown. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 869 -
dstr-array-elem-nested-array-undefined.js --- description: When DestructuringAssignmentTarget is an array literal and no value is defined, a TypeError should be thrown. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 851 -
dstr-array-elem-nested-array-yield-expr.js --- description: When a `yield` token appears within the DestructuringAssignmentTarget of a nested destructuring assignment and within a generator function body, it behaves as a YieldExpression. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [generators, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1387 -
dstr-array-elem-nested-array-yield-ident-invalid.js --- description: When a `yield` token appears within the DestructuringAssignmentTarget of a nested destructuring assignment outside of strict mode, it behaves as an IdentifierReference. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 992 -
dstr-array-elem-nested-array-yield-ident-valid.js --- description: When a `yield` token appears within the DestructuringAssignmentTarget of a nested destructuring assignment outside of strict mode, it behaves as an IdentifierReference. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, noStrict] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1020 -
dstr-array-elem-nested-array.js --- description: When DestructuringAssignmentTarget is an array literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 948 -
dstr-array-elem-nested-obj-invalid.js --- description: It is a Syntax Error if LeftHandSideExpression is either an ObjectLiteral or an ArrayLiteral and if the lexical token sequence matched by LeftHandSideExpression cannot be parsed with no tokens left over using AssignmentPattern as the goal symbol. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1048 -
dstr-array-elem-nested-obj-null.js --- description: When DestructuringAssignmentTarget is an object literal and the value is `null`, a TypeError should be thrown. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 849 -
dstr-array-elem-nested-obj-undefined-hole.js --- description: When DestructuringAssignmentTarget is an object literal and the value is a "hole", a TypeError should be thrown. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 860 -
dstr-array-elem-nested-obj-undefined-own.js --- description: When DestructuringAssignmentTarget is an object literal and the value is `undefined`, a TypeError should be thrown. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 868 -
dstr-array-elem-nested-obj-undefined.js --- description: When DestructuringAssignmentTarget is an object literal and no value is defined, a TypeError should be thrown. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 850 -
dstr-array-elem-nested-obj-yield-expr.js --- description: When a `yield` token appears within the Initializer of a nested destructuring assignment and within a generator function body, it behaves as a YieldExpression. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [generators, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1324 -
dstr-array-elem-nested-obj-yield-ident-invalid.js --- description: When a `yield` token appears within the Initializer of a nested destructuring assignment outside of a generator function body, it behaves as a IdentifierReference. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 988 -
dstr-array-elem-nested-obj-yield-ident-valid.js --- description: When a `yield` token appears within the Initializer of a nested destructuring assignment outside of a generator function body, it behaves as an IdentifierReference. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, noStrict] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 999 -
dstr-array-elem-nested-obj.js --- description: When DestructuringAssignmentTarget is an object literal, it should be parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 947 -
dstr-array-elem-put-const.js --- description: The assignment target should obey `const` semantics. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [const, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 796 -
dstr-array-elem-put-let.js --- description: The assignment target should obey `let` semantics. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [let, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 786 -
dstr-array-elem-put-prop-ref-no-get.js --- description: If the DestructuringAssignmentTarget of an AssignmentElement is a PropertyReference, it should not be evaluated. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1038 -
dstr-array-elem-put-prop-ref-user-err.js --- description: Any error raised as a result of setting the value should be forwarded to the runtime. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 884 -
dstr-array-elem-put-prop-ref.js --- description: The DestructuringAssignmentTarget of an AssignmentElement may be a PropertyReference. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 875 -
dstr-array-elem-put-unresolvable-no-strict.js --- description: Outside of strict mode, if the the assignment target is an unresolvable reference, a new `var` binding should be created in the environment record. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, noStrict] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 983 -
dstr-array-elem-put-unresolvable-strict.js --- description: In strict mode, if the the assignment target is an unresolvable reference, a ReferenceError should be thrown. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, onlyStrict] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 871 -
dstr-array-elem-target-identifier.js --- description: Identifiers that appear as the DestructuringAssignmentTarget in an AssignmentElement should take on the iterated value corresponding to their position in the ArrayAssignmentPattern. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1033 -
dstr-array-elem-target-simple-no-strict.js --- description: Identifiers that appear as the DestructuringAssignmentTarget in an AssignmentElement should take on the iterated value corresponding to their position in the ArrayAssignmentPattern. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, noStrict] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1048 -
dstr-array-elem-target-simple-strict.js --- description: It is a Syntax Error if LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral and IsValidSimpleAssignmentTarget(LeftHandSideExpression) is false. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 971 -
dstr-array-elem-target-yield-expr.js --- description: When a `yield` token appears within the DestructuringAssignmentTarget of an AssignmentElement within a generator function body, it behaves as a YieldExpression. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [generators, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1361 -
dstr-array-elem-target-yield-invalid.js --- description: When a `yield` token appears within the DestructuringAssignmentTarget of an AssignmentElement and outside of a generator function body, it behaves as an IdentifierReference. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 983 -
dstr-array-elem-target-yield-valid.js --- description: When a `yield` token appears within the DestructuringAssignmentTarget of an AssignmentElement outside of a generator function body, it behaves as an IdentifierReference. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, noStrict] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1007 -
dstr-array-elem-trlg-iter-elision-iter-abpt.js --- description: Abrupt completion returned during evaluation of elision (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ] [...] 6. If Elision is present, then a. Let status be the result of performing IteratorDestructuringAssignmentEvaluation of Elision with iteratorRecord as the argument. b. If status is an abrupt completion, then i. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, status). ii. Return Completion(status). --- 1839 -
dstr-array-elem-trlg-iter-elision-iter-nrml-close-err.js --- description: Abrupt completion returned from IteratorClose (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ] [...] 6. If Elision is present, then a. Let status be the result of performing IteratorDestructuringAssignmentEvaluation of Elision with iteratorRecord as the argument. b. If status is an abrupt completion, then [...] 8. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, status). --- 1765 -
dstr-array-elem-trlg-iter-elision-iter-nrml-close-null.js --- description: IteratorClose throws a TypeError when `return` returns a non-Object value (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ] [...] 6. If Elision is present, then a. Let status be the result of performing IteratorDestructuringAssignmentEvaluation of Elision with iteratorRecord as the argument. b. If status is an abrupt completion, then [...] 8. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, status). 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). 7. If completion.[[type]] is throw, return Completion(completion). 8. If innerResult.[[type]] is throw, return Completion(innerResult). 9. If Type(innerResult.[[value]]) is not Object, throw a TypeError exception. --- 2017 -
dstr-array-elem-trlg-iter-elision-iter-nrml-close-skip.js --- description: IteratorClose not invoked when elision exhausts the iterator (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ] [...] 6. If Elision is present, then a. Let status be the result of performing IteratorDestructuringAssignmentEvaluation of Elision with iteratorRecord as the argument. b. If status is an abrupt completion, then [...] 8. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, status). 9. Return Completion(status). --- 1710 -
dstr-array-elem-trlg-iter-elision-iter-nrml-close.js --- description: IteratorClose invoked when elision does not exhaust the iterator (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ] [...] 6. If Elision is present, then a. Let status be the result of performing IteratorDestructuringAssignmentEvaluation of Elision with iteratorRecord as the argument. b. If status is an abrupt completion, then [...] 8. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, status). 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). [...] --- 2169 -
dstr-array-elem-trlg-iter-get-err.js --- description: Abrupt completion returned from GetIterator (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ] 1. Let iterator be GetIterator(value). 2. ReturnIfAbrupt(iterator). --- 1077 -
dstr-array-elem-trlg-iter-list-nrml-close-err.js --- description: Abrupt completion returned from IteratorClose (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ] [...] 3. Let iteratorRecord be Record {[[iterator]]: iterator, [[done]]: false}. 4. Let status be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentElementList using iteratorRecord as the argument. 5. If status is an abrupt completion, then a. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, status). b. Return Completion(status). --- 1788 -
dstr-array-elem-trlg-iter-list-nrml-close-null.js --- description: IteratorClose throws a TypeError when `return` returns a non-Object value (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ] [...] 3. Let iteratorRecord be Record {[[iterator]]: iterator, [[done]]: false}. 4. Let status be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentElementList using iteratorRecord as the argument. 5. If status is an abrupt completion, then a. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, status). b. Return Completion(status). 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). 7. If completion.[[type]] is throw, return Completion(completion). 8. If innerResult.[[type]] is throw, return Completion(innerResult). 9. If Type(innerResult.[[value]]) is not Object, throw a TypeError exception. --- 2081 -
dstr-array-elem-trlg-iter-list-nrml-close-skip.js --- description: IteratorClose is not invoked when evaluation of AssignmentElementList exhausts the iterator (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ] [...] 3. Let iteratorRecord be Record {[[iterator]]: iterator, [[done]]: false}. 4. Let status be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentElementList using iteratorRecord as the argument. 5. If status is an abrupt completion, then a. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, status). b. Return Completion(status). --- 1819 -
dstr-array-elem-trlg-iter-list-nrml-close.js --- description: IteratorClose is invoked when evaluation of AssignmentElementList completes without exhausting the iterator (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ] [...] 3. Let iteratorRecord be Record {[[iterator]]: iterator, [[done]]: false}. 4. Let status be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentElementList using iteratorRecord as the argument. 5. If status is an abrupt completion, then a. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, status). b. Return Completion(status). 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). [...] --- 2275 -
dstr-array-elem-trlg-iter-list-rtrn-close-err.js --- description: IteratorClose is invoked when evaluation of AssignmentElementList returns a "return" completion and the iterator has not been marked as "done" (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, generators, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ] [...] 3. Let iteratorRecord be Record {[[iterator]]: iterator, [[done]]: false}. 4. Let status be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentElementList using iteratorRecord as the argument. 5. If status is an abrupt completion, then a. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, status). 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). 7. If completion.[[type]] is throw, return Completion(completion). 8. If innerResult.[[type]] is throw, return Completion(innerResult). --- 2391 -
dstr-array-elem-trlg-iter-list-rtrn-close-null.js --- description: IteratorClose throws a TypeError when `return` returns a non-Object value (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, generators, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ] [...] 3. Let iteratorRecord be Record {[[iterator]]: iterator, [[done]]: false}. 4. Let status be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentElementList using iteratorRecord as the argument. 5. If status is an abrupt completion, then a. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, status). b. Return Completion(status). 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). 7. If completion.[[type]] is throw, return Completion(completion). 8. If innerResult.[[type]] is throw, return Completion(innerResult). 9. If Type(innerResult.[[value]]) is not Object, throw a TypeError exception. --- 2318 -
dstr-array-elem-trlg-iter-list-rtrn-close.js --- description: IteratorClose is invoked when evaluation of AssignmentElementList returns a "return" completion and the iterator has not been marked as "done" (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, generators, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ] [...] 3. Let iteratorRecord be Record {[[iterator]]: iterator, [[done]]: false}. 4. Let status be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentElementList using iteratorRecord as the argument. 5. If status is an abrupt completion, then a. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, status). b. Return Completion(status). 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). 7. If completion.[[type]] is throw, return Completion(completion). 8. If innerResult.[[type]] is throw, return Completion(innerResult). --- 2731 -
dstr-array-elem-trlg-iter-list-thrw-close-err.js --- description: IteratorClose is invoked when evaluation of AssignmentElementList returns a "throw" completion and the iterator has not been marked as "done" (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ] [...] 3. Let iteratorRecord be Record {[[iterator]]: iterator, [[done]]: false}. 4. Let status be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentElementList using iteratorRecord as the argument. 5. If status is an abrupt completion, then a. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, status). 7.4.6 IteratorClose( iterator, completion ) [...] 7. If completion.[[type]] is throw, return Completion(completion). --- 2040 -
dstr-array-elem-trlg-iter-list-thrw-close-skip.js --- description: IteratorClose is not invoked when evaluation of AssignmentElementList returns an abrupt completion and the iterator has been marked as "done" (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ] [...] 3. Let iteratorRecord be Record {[[iterator]]: iterator, [[done]]: false}. 4. Let status be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentElementList using iteratorRecord as the argument. 5. If status is an abrupt completion, then a. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, status). b. Return Completion(status). --- 1848 -
dstr-array-elem-trlg-iter-list-thrw-close.js --- description: IteratorClose is invoked when evaluation of AssignmentElementList returns a "throw" completion and the iterator has not been marked as "done" (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ] [...] 3. Let iteratorRecord be Record {[[iterator]]: iterator, [[done]]: false}. 4. Let status be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentElementList using iteratorRecord as the argument. 5. If status is an abrupt completion, then a. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, status). b. Return Completion(status). 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). [...] --- 2225 -
dstr-array-elem-trlg-iter-rest-nrml-close-skip.js --- description: IteratorClose is not called when rest element evaluation has exhausted the iterator (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ] [...] 7. If AssignmentRestElement is present, then a. Let status be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentRestElement with iteratorRecord as the argument. 8. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, status). 9. Return Completion(status). --- 1812 -
dstr-array-elem-trlg-iter-rest-rtrn-close-err.js --- description: IteratorClose is called when AssignmentRestEvaluation produces a "return" completion due to reference evaluation (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, generators, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ] [...] 7. If AssignmentRestElement is present, then a. Let status be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentRestElement with iteratorRecord as the argument. 8. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, status). 9. Return Completion(status). 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). 7. If completion.[[type]] is throw, return Completion(completion). 8. If innerResult.[[type]] is throw, return Completion(innerResult). --- 2362 -
dstr-array-elem-trlg-iter-rest-rtrn-close-null.js --- description: IteratorClose throws a TypeError when `return` returns a non-Object value (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, generators, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ] [...] 7. If AssignmentRestElement is present, then a. Let status be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentRestElement with iteratorRecord as the argument. 8. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, status). 9. Return Completion(status). 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). 7. If completion.[[type]] is throw, return Completion(completion). 8. If innerResult.[[type]] is throw, return Completion(innerResult). --- 2117 -
dstr-array-elem-trlg-iter-rest-rtrn-close.js --- description: IteratorClose is called when AssignmentRestEvaluation produces a "return" completion due to reference evaluation (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, generators, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ] [...] 7. If AssignmentRestElement is present, then a. Let status be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentRestElement with iteratorRecord as the argument. 8. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, status). 9. Return Completion(status). 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). 7. If completion.[[type]] is throw, return Completion(completion). 8. If innerResult.[[type]] is throw, return Completion(innerResult). --- 2655 -
dstr-array-elem-trlg-iter-rest-thrw-close-err.js --- description: IteratorClose is called when AssignmentRestEvaluation produces a "throw" completion due to reference evaluation (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ] [...] 7. If AssignmentRestElement is present, then a. Let status be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentRestElement with iteratorRecord as the argument. 8. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, status). 9. Return Completion(status). 7.4.6 IteratorClose( iterator, completion ) [...] 7. If completion.[[type]] is throw, return Completion(completion) --- 2086 -
dstr-array-elem-trlg-iter-rest-thrw-close-skip.js --- description: Abrupt completion returned during iteration for rest element (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ] [...] 7. If AssignmentRestElement is present, then a. Let status be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentRestElement with iteratorRecord as the argument. 8. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, status). 9. Return Completion(status). --- 1808 -
dstr-array-elem-trlg-iter-rest-thrw-close.js --- description: IteratorClose is called when AssignmentRestEvaluation produces a "throw" completion due to reference evaluation (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ] [...] 7. If AssignmentRestElement is present, then a. Let status be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentRestElement with iteratorRecord as the argument. 8. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, status). 9. Return Completion(status). 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). [...] --- 2237 -
dstr-array-elision-iter-abpt.js --- description: IteratorClose is not called when iteration produces an abrupt completion (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ Elision ] 1. Let iterator be GetIterator(value). [...] 5. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, result). [...] --- 1353 -
dstr-array-elision-iter-get-err.js --- description: Abrupt completion returned from GetIterator (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ Elision ] 1. Let iterator be GetIterator(value). 2. ReturnIfAbrupt(iterator). --- 1006 -
dstr-array-elision-iter-nrml-close-err.js --- description: Abrupt completion returned from IteratorClose (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ Elision ] 1. Let iterator be GetIterator(value). [...] 5. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, result). 6. Return result. --- 1483 -
dstr-array-elision-iter-nrml-close-null.js --- description: IteratorClose throws a TypeError when `return` returns a non-Object value (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ Elision ] 1. Let iterator be GetIterator(value). [...] 5. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, result). [...] 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). 7. If completion.[[type]] is throw, return Completion(completion). 8. If innerResult.[[type]] is throw, return Completion(innerResult). 9. If Type(innerResult.[[value]]) is not Object, throw a TypeError exception. --- 1724 -
dstr-array-elision-iter-nrml-close-skip.js --- description: IteratorClose is not called when iteration has exhausted the iterator (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ Elision ] 1. Let iterator be GetIterator(value). [...] 5. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, result). [...] --- 1397 -
dstr-array-elision-iter-nrml-close.js --- description: IteratorClose is called when assignment evaluation has not exhausted the iterator (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ Elision ] 1. Let iterator be GetIterator(value). [...] 5. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, result). [...] 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). [...] --- 1892 -
dstr-array-elision-val-array.js --- description: An ArrayAssignmentPattern containing only Elisions requires iterable values (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 825 -
dstr-array-elision-val-bool.js --- description: An ArrayAssignmentPattern containing only Elisions requires iterable values and throws for boolean values. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 828 -
dstr-array-elision-val-null.js --- description: An ArrayAssignmentPattern containing only Elisions requires iterable values and throws for `null`. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 820 -
dstr-array-elision-val-num.js --- description: An ArrayAssignmentPattern containing only Elisions requires iterable values and throws for number values. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 823 -
dstr-array-elision-val-string.js --- description: An ArrayAssignmentPattern containing only Elisions requires iterable values (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 840 -
dstr-array-elision-val-symbol.js --- description: An ArrayAssignmentPattern containing only Elisions requires iterable values and throws for symbol values. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 852 -
dstr-array-elision-val-undef.js --- description: An ArrayAssignmentPattern containing only Elisions requires iterable values and throws for `undefined`. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 831 -
dstr-array-empty-iter-close-err.js --- description: Abrupt completion returned from IteratorClose (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ ] 1. Let iterator be GetIterator(value). 2. ReturnIfAbrupt(iterator). 3. Return IteratorClose(iterator, NormalCompletion(empty)). --- 1331 -
dstr-array-empty-iter-close-null.js --- description: IteratorClose throws a TypeError when `return` returns a non-Object value (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ ] 1. Let iterator be GetIterator(value). 2. ReturnIfAbrupt(iterator). 3. Return IteratorClose(iterator, NormalCompletion(empty)). 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). 7. If completion.[[type]] is throw, return Completion(completion). 8. If innerResult.[[type]] is throw, return Completion(innerResult). 9. If Type(innerResult.[[value]]) is not Object, throw a TypeError exception. --- 1545 -
dstr-array-empty-iter-close.js --- description: Iterator is closed without iterating (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ ] 1. Let iterator be GetIterator(value). 2. ReturnIfAbrupt(iterator). 3. Return IteratorClose(iterator, NormalCompletion(empty)). 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). [...] --- 1707 -
dstr-array-empty-iter-get-err.js --- description: Abrupt completion returned from GetIterator (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ ] 1. Let iterator be GetIterator(value). 2. ReturnIfAbrupt(iterator). --- 993 -
dstr-array-empty-val-array.js --- description: An ArrayAssignmentPattern without an AssignmentElementList requires iterable values. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 831 -
dstr-array-empty-val-bool.js --- description: An ArrayAssignmentPattern without an AssignmentElementList requires iterable values and throws for boolean values (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 832 -
dstr-array-empty-val-null.js --- description: An ArrayAssignmentPattern without an AssignmentElementList requires iterable values and throws for `null`. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 825 -
dstr-array-empty-val-num.js --- description: An ArrayAssignmentPattern without an AssignmentElementList requires iterable values and throws for number values. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 828 -
dstr-array-empty-val-string.js --- description: An ArrayAssignmentPattern without an AssignmentElementList requires iterable values. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 846 -
dstr-array-empty-val-symbol.js --- description: An ArrayAssignmentPattern without an AssignmentElementList requires iterable values and throws for Symbol values. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 857 -
dstr-array-empty-val-undef.js --- description: An ArrayAssignmentPattern without an AssignmentElementList requires iterable values and throws for `undefined`. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 836 -
dstr-array-iteration.js --- description: Value iteration only proceeds for the number of elements in the ArrayAssignmentPattern. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [generators, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 969 -
dstr-array-rest-after-element.js --- description: An AssignmentRestElement following an AssignmentElement consumes all remaining iterable values. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 977 -
dstr-array-rest-after-elision.js --- description: An AssignmentRestElement following an elision consumes all remaining iterable values. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 939 -
dstr-array-rest-before-element.js --- description: An AssignmentElement may not follow an AssignmentRestElement in an AssignmentElementList. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 878 -
dstr-array-rest-before-elision.js --- description: An elision may not follow an AssignmentRestElement in an AssignmentElementList. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 866 -
dstr-array-rest-before-rest.js --- description: An AssignmentRestElement may not follow another AssignmentRestElement in an AssignmentElementList. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 887 -
dstr-array-rest-elision-invalid.js --- description: ArrayAssignmentPattern may not include elisions following an AssignmentRestElement in a AssignmentElementList. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 898 -
dstr-array-rest-elision-iter-abpt.js --- description: IteratorClose is not called when assignment evaluation produces an abrupt completion (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ Elisionopt AssignmentRestElement ] [...] 4. If Elision is present, then a. Let status be the result of performing IteratorDestructuringAssignmentEvaluation of Elision with iteratorRecord as the argument. b. If status is an abrupt completion, then i. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, status). ii. Return Completion(status). --- 1650 -
dstr-array-rest-elision.js --- description: ArrayAssignmentPattern may include elisions at any position preceeding a AssignmentRestElement in a AssignmentElementList. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1013 -
dstr-array-rest-init.js --- description: The AssignmentRestElement does not support an initializer. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 845 -
dstr-array-rest-iter-get-err.js --- description: Abrupt completion returned from GetIterator (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ Elisionopt AssignmentRestElement ] 1. Let iterator be GetIterator(value). 2. ReturnIfAbrupt(iterator). --- 1036 -
dstr-array-rest-iter-nrml-close-skip.js --- description: IteratorClose is not called when assignment evaluation has exhausted the iterator (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ Elisionopt AssignmentRestElement ] [...] 5. Let result be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentRestElement with iteratorRecord as the argument 6. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, result). 7. Return result. --- 1558 -
dstr-array-rest-iter-rtrn-close-err.js --- description: IteratorClose is called when reference evaluation produces a "return" completion (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, generators, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ Elisionopt AssignmentRestElement ] [...] 5. Let result be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentRestElement with iteratorRecord as the argument 6. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, result). AssignmentRestElement[Yield] : ... DestructuringAssignmentTarget 1. If DestructuringAssignmentTarget is neither an ObjectLiteral nor an ArrayLiteral, then a. Let lref be the result of evaluating DestructuringAssignmentTarget. b. ReturnIfAbrupt(lref). 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). 7. If completion.[[type]] is throw, return Completion(completion). 8. If innerResult.[[type]] is throw, return Completion(innerResult). --- 2255 -
dstr-array-rest-iter-rtrn-close-null.js --- description: IteratorClose throws a TypeError when `return` returns a non-Object value (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, generators, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ Elisionopt AssignmentRestElement ] [...] 5. Let result be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentRestElement with iteratorRecord as the argument 6. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, result). AssignmentRestElement[Yield] : ... DestructuringAssignmentTarget 1. If DestructuringAssignmentTarget is neither an ObjectLiteral nor an ArrayLiteral, then a. Let lref be the result of evaluating DestructuringAssignmentTarget. b. ReturnIfAbrupt(lref). 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). [...] 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). 7. If completion.[[type]] is throw, return Completion(completion). 8. If innerResult.[[type]] is throw, return Completion(innerResult). --- 2142 -
dstr-array-rest-iter-rtrn-close.js --- description: IteratorClose is called when reference evaluation produces a "return" completion (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, generators, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ Elisionopt AssignmentRestElement ] [...] 5. Let result be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentRestElement with iteratorRecord as the argument 6. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, result). AssignmentRestElement[Yield] : ... DestructuringAssignmentTarget 1. If DestructuringAssignmentTarget is neither an ObjectLiteral nor an ArrayLiteral, then a. Let lref be the result of evaluating DestructuringAssignmentTarget. b. ReturnIfAbrupt(lref). 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). [...] 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). 7. If completion.[[type]] is throw, return Completion(completion). 8. If innerResult.[[type]] is throw, return Completion(innerResult). --- 2649 -
dstr-array-rest-iter-thrw-close-err.js --- description: IteratorClose is called when reference evaluation produces a "throw" completion (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ Elisionopt AssignmentRestElement ] [...] 5. Let result be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentRestElement with iteratorRecord as the argument 6. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, result). AssignmentRestElement[Yield] : ... DestructuringAssignmentTarget 1. If DestructuringAssignmentTarget is neither an ObjectLiteral nor an ArrayLiteral, then a. Let lref be the result of evaluating DestructuringAssignmentTarget. b. ReturnIfAbrupt(lref). --- 2063 -
dstr-array-rest-iter-thrw-close-skip.js --- description: IteratorClose is not called when iteration produces an abrupt completion (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ Elisionopt AssignmentRestElement ] [...] 5. Let result be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentRestElement with iteratorRecord as the argument 6. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, result). --- 1504 -
dstr-array-rest-iter-thrw-close.js --- description: IteratorClose is called when reference evaluation produces a "throw" completion (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ Elisionopt AssignmentRestElement ] [...] 5. Let result be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentRestElement with iteratorRecord as the argument 6. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, result). AssignmentRestElement[Yield] : ... DestructuringAssignmentTarget 1. If DestructuringAssignmentTarget is neither an ObjectLiteral nor an ArrayLiteral, then a. Let lref be the result of evaluating DestructuringAssignmentTarget. b. ReturnIfAbrupt(lref). 7.4.6 IteratorClose( iterator, completion ) [...] 6. Let innerResult be Call(return, iterator, « »). [...] --- 2343 -
dstr-array-rest-iteration.js --- description: In the presense of an AssignmentRestElement, value iteration exhausts the iterable value; (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [generators, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 985 -
dstr-array-rest-lref-err.js --- description: IteratorClose is called when reference evaluation produces an abrupt completion (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ Elisionopt AssignmentRestElement ] [...] 5. Let result be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentRestElement with iteratorRecord as the argument 6. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, result). AssignmentRestElement[Yield] : ... DestructuringAssignmentTarget 1. If DestructuringAssignmentTarget is neither an ObjectLiteral nor an ArrayLiteral, then a. Let lref be the result of evaluating DestructuringAssignmentTarget. b. ReturnIfAbrupt(lref). --- 1841 -
dstr-array-rest-lref.js --- description: Reference is evaluated during assignment (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ Elisionopt AssignmentRestElement ] [...] 5. Let result be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentRestElement with iteratorRecord as the argument 6. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, result). AssignmentRestElement[Yield] : ... DestructuringAssignmentTarget 1. If DestructuringAssignmentTarget is neither an ObjectLiteral nor an ArrayLiteral, then a. Let lref be the result of evaluating DestructuringAssignmentTarget. b. ReturnIfAbrupt(lref). [...] --- 1843 -
dstr-array-rest-nested-array-invalid.js --- description: It is a Syntax Error if LeftHandSideExpression is either an ObjectLiteral or an ArrayLiteral and if the lexical token sequence matched by LeftHandSideExpression cannot be parsed with no tokens left over using AssignmentPattern as the goal symbol. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1047 -
dstr-array-rest-nested-array-iter-thrw-close-skip.js --- description: IteratorClose is not called when nested array pattern evaluation produces an abrupt completion (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ Elisionopt AssignmentRestElement ] [...] 5. Let result be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentRestElement with iteratorRecord as the argument 6. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, result). AssignmentRestElement[Yield] : ... DestructuringAssignmentTarget [...] 4. Repeat while iteratorRecord.[[done]] is false [...] d. If next is false, set iteratorRecord.[[done]] to true. [...] 7. Return the result of performing DestructuringAssignmentEvaluation of nestedAssignmentPattern with A as the argument. --- 1960 -
dstr-array-rest-nested-array-null.js --- description: When DestructuringAssignmentTarget is an array literal and the iterable emits `null` as the only value, an array with a single `null` element should be used as the value of the nested DestructuringAssignment. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1043 -
dstr-array-rest-nested-array-undefined-hole.js --- description: When DestructuringAssignmentTarget is an array literal and the iterable is an array with a "hole", an array with a single `undefined` element should be used as the value of the nested DestructuringAssignment. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1026 -
dstr-array-rest-nested-array-undefined-own.js --- description: When DestructuringAssignmentTarget is an array literal and the iterable emits `undefined` as the only value, an array with a single `undefined` element should be used as the value of the nested DestructuringAssignment. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1041 -
dstr-array-rest-nested-array-undefined.js --- description: When DestructuringAssignmentTarget is an array literal and the iterable is emits no values, an empty array should be used as the value of the nested DestructuringAssignment. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 983 -
dstr-array-rest-nested-array-yield-expr.js --- description: When a `yield` token appears within the DestructuringAssignmentTarget of a nested destructuring assignment and within a generator function body, it should behave as a YieldExpression. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [generators, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1393 -
dstr-array-rest-nested-array-yield-ident-invalid.js --- description: When a `yield` token appears within the DestructuringAssignmentTarget of a nested destructuring assignment and outside of a generator function body, it should behave as an IdentifierExpression. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1018 -
dstr-array-rest-nested-array-yield-ident-valid.js --- description: When a `yield` token appears within the DestructuringAssignmentTarget of a nested destructuring assignment and outside of a generator function body, it should behave as an IdentifierExpression. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, noStrict] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1046 -
dstr-array-rest-nested-array.js --- description: When DestructuringAssignmentTarget is an array literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 955 -
dstr-array-rest-nested-obj-invalid.js --- description: It is a Syntax Error if LeftHandSideExpression is either an ObjectLiteral or an ArrayLiteral and if the lexical token sequence matched by LeftHandSideExpression cannot be parsed with no tokens left over using AssignmentPattern as the goal symbol. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1051 -
dstr-array-rest-nested-obj-null.js --- description: When DestructuringAssignmentTarget is an object literal and the iterable emits `null` as the only value, an array with a single `null` element should be used as the value of the nested DestructuringAssignment. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1054 -
dstr-array-rest-nested-obj-undefined-hole.js --- description: When DestructuringAssignmentTarget is an array literal and the iterable is an array with a "hole", an array with a single `undefined` element should be used as the value of the nested DestructuringAssignment. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1224 -
dstr-array-rest-nested-obj-undefined-own.js --- description: When DestructuringAssignmentTarget is an array literal and the iterable emits `undefined` as the only value, an array with a single `undefined` element should be used as the value of the nested DestructuringAssignment. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1239 -
dstr-array-rest-nested-obj-undefined.js --- description: When DestructuringAssignmentTarget is an obect literal and the iterable is emits no values, an empty array should be used as the value of the nested DestructuringAssignment. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1181 -
dstr-array-rest-nested-obj-yield-expr.js --- description: When a `yield` token appears within the Initializer of a nested destructuring assignment and within a generator function body, it should behave as a YieldExpression. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [generators, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1333 -
dstr-array-rest-nested-obj-yield-ident-invalid.js --- description: When a `yield` token appears within the Initializer of a nested destructuring assignment and outside of a generator function body, it should behave as an IdentifierExpression. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1003 -
dstr-array-rest-nested-obj-yield-ident-valid.js --- description: When a `yield` token appears within the Initializer of a nested destructuring assignment and outside of a generator function body, it should behave as an IdentifierExpression. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, noStrict] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1013 -
dstr-array-rest-nested-obj.js --- description: When DestructuringAssignmentTarget is an object literal, it should be parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 952 -
dstr-array-rest-put-const.js --- description: The assignment target should obey `const` semantics. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [const, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 799 -
dstr-array-rest-put-let.js --- description: The assignment target should obey `let` semantics. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [let, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 789 -
dstr-array-rest-put-prop-ref-no-get.js --- description: If the DestructuringAssignmentTarget of an AssignmentElement is a PropertyReference, it should not be evaluated. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1161 -
dstr-array-rest-put-prop-ref-user-err-iter-close-skip.js --- description: IteratorClose is not called when value assignment produces an abrupt completion. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol.iterator, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. ArrayAssignmentPattern : [ Elisionopt AssignmentRestElement ] [...] 5. Let result be the result of performing IteratorDestructuringAssignmentEvaluation of AssignmentRestElement with iteratorRecord as the argument 6. If iteratorRecord.[[done]] is false, return IteratorClose(iterator, result). AssignmentRestElement[Yield] : ... DestructuringAssignmentTarget [...] 4. Repeat while iteratorRecord.[[done]] is false [...] d. If next is false, set iteratorRecord.[[done]] to true. [...] 5. If DestructuringAssignmentTarget is neither an ObjectLiteral nor an ArrayLiteral, then a. Return PutValue(lref, A). --- 2001 -
dstr-array-rest-put-prop-ref-user-err.js --- description: Any error raised as a result of setting the value should be forwarded to the runtime. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 887 -
dstr-array-rest-put-prop-ref.js --- description: The DestructuringAssignmentTarget of an AssignmentElement may be a PropertyReference. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 978 -
dstr-array-rest-put-unresolvable-no-strict.js --- description: Outside of strict mode, if the the assignment target is an unresolvable reference, a new `var` binding should be created in the environment record. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, noStrict] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 985 -
dstr-array-rest-put-unresolvable-strict.js --- description: In strict mode, if the the assignment target is an unresolvable reference, a ReferenceError should be thrown. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, onlyStrict] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 874 -
dstr-array-rest-yield-expr.js --- description: When a `yield` token appears within the DestructuringAssignmentTarget of an AssignmentRestElement and within the body of a generator function, it should behave as a YieldExpression. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [generators, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1471 -
dstr-array-rest-yield-ident-invalid.js --- description: When a `yield` token appears within the DestructuringAssignmentTarget of an AssignmentRestElement and outside of a generator function body, it should behave as an IdentifierReference. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1005 -
dstr-array-rest-yield-ident-valid.js --- description: When a `yield` token appears within the DestructuringAssignmentTarget of an AssignmentRestElement and outside of a generator function body, it should behave as an IdentifierReference. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, noStrict] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1134 -
dstr-obj-empty-bool.js --- description: An ObjectAssignmentPattern without an AssignmentPropertyList requires an object-coercible value (boolean value) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 854 -
dstr-obj-empty-null.js --- description: An ObjectAssignmentPattern without an AssignmentPropertyList requires an object-coercible value (null value) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 821 -
dstr-obj-empty-num.js --- description: An ObjectAssignmentPattern without an AssignmentPropertyList requires an object-coercible value (number value) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 848 -
dstr-obj-empty-obj.js --- description: An ObjectAssignmentPattern without an AssignmentPropertyList requires an object-coercible value (object value) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 849 -
dstr-obj-empty-string.js --- description: An ObjectAssignmentPattern without an AssignmentPropertyList requires an object-coercible value (string value) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 852 -
dstr-obj-empty-symbol.js --- description: An ObjectAssignmentPattern without an AssignmentPropertyList requires an object-coercible value (symbol value) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 877 -
dstr-obj-empty-undef.js --- description: An ObjectAssignmentPattern without an AssignmentPropertyList requires an object-coercible value (undefined value) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 832 -
dstr-obj-id-identifier-resolution-first.js --- description: Evaluation of DestructuringAssignmentTarget (first of many) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 875 -
dstr-obj-id-identifier-resolution-last.js --- description: Evaluation of DestructuringAssignmentTarget (last of many) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 873 -
dstr-obj-id-identifier-resolution-lone.js --- description: Evaluation of DestructuringAssignmentTarget (lone identifier) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 867 -
dstr-obj-id-identifier-resolution-middle.js --- description: Evaluation of DestructuringAssignmentTarget (within many) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 880 -
dstr-obj-id-identifier-resolution-trlng.js --- description: Evaluation of DestructuringAssignmentTarget (lone identifier with trailing comma) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 887 -
dstr-obj-id-identifier-yield-expr.js --- description: yield is not a valid IdentifierReference in an AssignmentProperty within generator function bodies. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [generators, destructuring-binding] flags: [generated, noStrict] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 933 -
dstr-obj-id-identifier-yield-ident-invalid.js --- description: yield is not a valid IdentifierReference in an AssignmentProperty within strict mode code. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 903 -
dstr-obj-id-identifier-yield-ident-valid.js --- description: yield is a valid IdentifierReference in an AssignmentProperty outside of strict mode and generator functions. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, noStrict] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 935 -
dstr-obj-id-init-assignment-missing.js --- description: If the Initializer is present and v is undefined, the Initializer should be evaluated and the result assigned to the target reference (no corresponding property defined). (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 963 -
dstr-obj-id-init-assignment-null.js --- description: If the Initializer is present and v is undefined, the Initializer should be evaluated and the result assigned to the target reference (null property value defined). (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 966 -
dstr-obj-id-init-assignment-truthy.js --- description: If the Initializer is present and v is undefined, the Initializer should be evaluated and the result assigned to the target reference (truthy property value defined). (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 964 -
dstr-obj-id-init-assignment-undef.js --- description: If the Initializer is present and v is undefined, the Initializer should be evaluated and the result assigned to the target reference ("undefined" property value defined). (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 976 -
dstr-obj-id-init-evaluation.js --- description: The Initializer should only be evaluated if v is undefined. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 959 -
dstr-obj-id-init-fn-name-arrow.js --- description: Assignment of function `name` attribute (ArrowFunction) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] includes: [propertyHelper.js] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. AssignmentProperty : IdentifierReference Initializeropt [...] 6. If Initializeropt 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, P). --- 1376 -
dstr-obj-id-init-fn-name-class.js --- description: Assignment of function `name` attribute (ClassExpression) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [class, destructuring-binding] flags: [generated] includes: [propertyHelper.js] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. AssignmentProperty : IdentifierReference Initializeropt [...] 6. If Initializeropt 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, P). --- 1528 -
dstr-obj-id-init-fn-name-cover.js --- description: Assignment of function `name` attribute (CoverParenthesizedExpression) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] includes: [propertyHelper.js] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. AssignmentProperty : IdentifierReference Initializeropt [...] 6. If Initializeropt 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, P). --- 1480 -
dstr-obj-id-init-fn-name-fn.js --- description: Assignment of function `name` attribute (FunctionExpression) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] includes: [propertyHelper.js] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. AssignmentProperty : IdentifierReference Initializeropt [...] 6. If Initializeropt 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, P). --- 1438 -
dstr-obj-id-init-fn-name-gen.js --- description: Assignment of function `name` attribute (GeneratorExpression) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [generators, destructuring-binding] flags: [generated] includes: [propertyHelper.js] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. AssignmentProperty : IdentifierReference Initializeropt [...] 6. If Initializeropt 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, P). --- 1462 -
dstr-obj-id-init-in.js --- description: The Initializer in an AssignmentProperty may be an `in` expression. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 865 -
dstr-obj-id-init-let.js --- description: Value retrieval of Initializer obeys `let` semantics. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [let, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 797 -
dstr-obj-id-init-order.js --- description: Initializer values should be assigned in left-to-right order. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 920 -
dstr-obj-id-init-simple-no-strict.js --- description: Evaluation of DestructuringAssignmentTarget. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, noStrict] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 912 -
dstr-obj-id-init-simple-strict.js --- description: It is a Syntax Error if IsValidSimpleAssignmentTarget of IdentifierReference is false. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 890 -
dstr-obj-id-init-yield-expr.js --- description: When a `yield` token appears within the Initializer of an AssignmentProperty and within a generator function body, it should behave as a YieldExpression. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [generators, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1304 -
dstr-obj-id-init-yield-ident-invalid.js --- description: When a `yield` token appears within the Initializer of an AssignmentProperty and outside of a generator function body, it should behave as an IdentifierReference. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 973 -
dstr-obj-id-init-yield-ident-valid.js --- description: When a `yield` token appears within the Initializer of an AssignmentProperty and outside of a generator function body, it should behave as an IdentifierReference. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, noStrict] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 983 -
dstr-obj-id-put-const.js --- description: The assignment target should obey `const` semantics. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [const, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 797 -
dstr-obj-id-put-let.js --- description: The assignment target should obey `let` semantics. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [let, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 782 -
dstr-obj-id-put-unresolvable-no-strict.js --- description: Outside of strict mode, if the the assignment target is an unresolvable reference, a new `var` binding should be created in the environment record. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, noStrict] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 979 -
dstr-obj-id-put-unresolvable-strict.js --- description: In strict mode, if the the assignment target is an unresolvable reference, a ReferenceError should be thrown. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, onlyStrict] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 867 -
dstr-obj-id-simple-no-strict.js --- description: Evaluation of DestructuringAssignmentTarget. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, noStrict] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 924 -
dstr-obj-id-simple-strict.js --- description: It is a Syntax Error if IsValidSimpleAssignmentTarget of IdentifierReference is false. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 881 -
dstr-obj-prop-elem-init-assignment-missing.js --- description: If the Initializer is present and v is undefined, the Initializer should be evaluated and the result assigned to the target reference (non-existent property) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 960 -
dstr-obj-prop-elem-init-assignment-null.js --- description: If the Initializer is present and v is not undefined, the Initializer should be evaluated and the result assigned to the target reference (null value) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 962 -
dstr-obj-prop-elem-init-assignment-truthy.js --- description: If the Initializer is present and v is not undefined, the Initializer should be evaluated and the result assigned to the target reference (truthy value) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 960 -
dstr-obj-prop-elem-init-assignment-undef.js --- description: If the Initializer is present and v is undefined, the Initializer should be evaluated and the result assigned to the target reference (undefined value) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 966 -
dstr-obj-prop-elem-init-evaluation.js --- description: The Initializer should only be evaluated if v is undefined. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1095 -
dstr-obj-prop-elem-init-fn-name-arrow.js --- description: Assignment of function `name` attribute (ArrowFunction) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] includes: [propertyHelper.js] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. AssignmentElement[Yield] : DestructuringAssignmentTarget Initializeropt [...] 7. If Initializer is present and v is undefined and IsAnonymousFunctionDefinition(Initializer) and IsIdentifierRef of DestructuringAssignmentTarget are both true, then a. Let hasNameProperty be HasOwnProperty(rhsValue, "name"). b. ReturnIfAbrupt(hasNameProperty). c. If hasNameProperty is false, perform SetFunctionName(rhsValue, GetReferencedName(lref)). --- 1478 -
dstr-obj-prop-elem-init-fn-name-class.js --- description: Assignment of function `name` attribute (ClassExpression) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [class, destructuring-binding] flags: [generated] includes: [propertyHelper.js] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. AssignmentElement[Yield] : DestructuringAssignmentTarget Initializeropt [...] 7. If Initializer is present and v is undefined and IsAnonymousFunctionDefinition(Initializer) and IsIdentifierRef of DestructuringAssignmentTarget are both true, then a. Let hasNameProperty be HasOwnProperty(rhsValue, "name"). b. ReturnIfAbrupt(hasNameProperty). c. If hasNameProperty is false, perform SetFunctionName(rhsValue, GetReferencedName(lref)). --- 1636 -
dstr-obj-prop-elem-init-fn-name-cover.js --- description: Assignment of function `name` attribute (CoverParenthesizedExpression) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] includes: [propertyHelper.js] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. AssignmentElement[Yield] : DestructuringAssignmentTarget Initializeropt [...] 7. If Initializer is present and v is undefined and IsAnonymousFunctionDefinition(Initializer) and IsIdentifierRef of DestructuringAssignmentTarget are both true, then a. Let hasNameProperty be HasOwnProperty(rhsValue, "name"). b. ReturnIfAbrupt(hasNameProperty). c. If hasNameProperty is false, perform SetFunctionName(rhsValue, GetReferencedName(lref)). --- 1585 -
dstr-obj-prop-elem-init-fn-name-fn.js --- description: Assignment of function `name` attribute (FunctionExpression) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] includes: [propertyHelper.js] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. AssignmentElement[Yield] : DestructuringAssignmentTarget Initializeropt [...] 7. If Initializer is present and v is undefined and IsAnonymousFunctionDefinition(Initializer) and IsIdentifierRef of DestructuringAssignmentTarget are both true, then a. Let hasNameProperty be HasOwnProperty(rhsValue, "name"). b. ReturnIfAbrupt(hasNameProperty). c. If hasNameProperty is false, perform SetFunctionName(rhsValue, GetReferencedName(lref)). --- 1543 -
dstr-obj-prop-elem-init-fn-name-gen.js --- description: Assignment of function `name` attribute (GeneratorExpression) (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [generators, destructuring-binding] flags: [generated] includes: [propertyHelper.js] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. AssignmentElement[Yield] : DestructuringAssignmentTarget Initializeropt [...] 7. If Initializer is present and v is undefined and IsAnonymousFunctionDefinition(Initializer) and IsIdentifierRef of DestructuringAssignmentTarget are both true, then a. Let hasNameProperty be HasOwnProperty(rhsValue, "name"). b. ReturnIfAbrupt(hasNameProperty). c. If hasNameProperty is false, perform SetFunctionName(rhsValue, GetReferencedName(lref)). --- 1567 -
dstr-obj-prop-elem-init-in.js --- description: The Initializer in an AssignmentElement may be an `in` expression. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 874 -
dstr-obj-prop-elem-init-let.js --- description: Value retrieval of Initializer obeys `let` semantics. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [let, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 807 -
dstr-obj-prop-elem-init-yield-expr.js --- description: When a `yield` token appears within the Initializer of an AssignmentElement and within a generator function body, it should behave as a YieldExpression. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [generators, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1314 -
dstr-obj-prop-elem-init-yield-ident-invalid.js --- description: When a `yield` token appears within the Initializer of an AssignmentElement and outside of a generator function body, it should behave as an IdentifierReference. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 982 -
dstr-obj-prop-elem-init-yield-ident-valid.js --- description: When a `yield` token appears within the Initializer of an AssignmentElement and outside of a generator function body, it should behave as an IdentifierReference. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, noStrict] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 992 -
dstr-obj-prop-elem-target-yield-expr.js --- description: When a `yield` token appears within the DestructuringAssignmentTarget of an AssignmentElement and within a generator function body, it should behave as a YieldExpression. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [generators, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1364 -
dstr-obj-prop-elem-target-yield-ident-invalid.js --- description: When a `yield` token appears within the DestructuringAssignmentTarget of an AssignmentElement and outside of a generator function body, it should behave as an IdentifierReference. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1001 -
dstr-obj-prop-elem-target-yield-ident-valid.js --- description: When a `yield` token appears within the DestructuringAssignmentTarget of an AssignmentElement and outside of a generator function body, it should behave as an IdentifierReference. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, noStrict] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1034 -
dstr-obj-prop-identifier-resolution-first.js --- description: Evaluation of DestructuringAssignmentTarget (first of many). (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 881 -
dstr-obj-prop-identifier-resolution-last.js --- description: Evaluation of DestructuringAssignmentTarget (last of many). (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 879 -
dstr-obj-prop-identifier-resolution-lone.js --- description: Evaluation of DestructuringAssignmentTarget (lone element). (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 869 -
dstr-obj-prop-identifier-resolution-middle.js --- description: Evaluation of DestructuringAssignmentTarget (within many). (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 886 -
dstr-obj-prop-identifier-resolution-trlng.js --- description: Evaluation of DestructuringAssignmentTarget (lone element with trailing comma). (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 891 -
dstr-obj-prop-name-evaluation-error.js --- description: Any error raised as a result of evaluating PropertyName should be forwarded to the runtime. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 838 -
dstr-obj-prop-name-evaluation.js --- description: PropertyName of an AssignmentProperty may be a ComputedPropertyName. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 957 -
dstr-obj-prop-nested-array-invalid.js --- description: It is a Syntax Error if LeftHandSideExpression is either an ObjectLiteral or an ArrayLiteral and if the lexical token sequence matched by LeftHandSideExpression cannot be parsed with no tokens left over using AssignmentPattern as the goal symbol. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1052 -
dstr-obj-prop-nested-array-null.js --- description: When DestructuringAssignmentTarget is an array literal and the value is `null`, a TypeError should be thrown. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 858 -
dstr-obj-prop-nested-array-undefined-own.js --- description: When DestructuringAssignmentTarget is an array literal and the value is `undefined`, a TypeError should be thrown. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 877 -
dstr-obj-prop-nested-array-undefined.js --- description: When DestructuringAssignmentTarget is an array literal and the value is not defined, a TypeError should be thrown. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 859 -
dstr-obj-prop-nested-array-yield-expr.js --- description: When a `yield` token appears within the Initializer of a nested destructuring assignment and within a generator function body, it should behave as a YieldExpression. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [generators, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1346 -
dstr-obj-prop-nested-array-yield-ident-invalid.js --- description: When a `yield` token appears within the Initializer of a nested destructuring assignment and outside of a generator function body, it should behave as an IdentifierReference. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1007 -
dstr-obj-prop-nested-array-yield-ident-valid.js --- description: When a `yield` token appears within the Initializer of a nested destructuring assignment and outside of a generator function body, it should behave as an IdentifierReference. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, noStrict] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1019 -
dstr-obj-prop-nested-array.js --- description: When DestructuringAssignmentTarget is an array literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 960 -
dstr-obj-prop-nested-obj-invalid.js --- description: It is a Syntax Error if LeftHandSideExpression is either an ObjectLiteral or an ArrayLiteral and if the lexical token sequence matched by LeftHandSideExpression cannot be parsed with no tokens left over using AssignmentPattern as the goal symbol. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1056 -
dstr-obj-prop-nested-obj-null.js --- description: When DestructuringAssignmentTarget is an object literal and the value is `null`, a TypeError should be thrown. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 857 -
dstr-obj-prop-nested-obj-undefined-own.js --- description: When DestructuringAssignmentTarget is an object literal and the value is `undefined`, a TypeError should be thrown. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 876 -
dstr-obj-prop-nested-obj-undefined.js --- description: When DestructuringAssignmentTarget is an object literal and the value is not defined, a TypeError should be thrown. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 858 -
dstr-obj-prop-nested-obj-yield-expr.js --- description: When a `yield` token appears within the Initializer of a nested destructuring assignment and within a generator function body, it should behave as a YieldExpression. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [generators, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1350 -
dstr-obj-prop-nested-obj-yield-ident-invalid.js --- description: When a `yield` token appears within the Initializer of a nested destructuring assignment and outside of a generator function body, it should behave as an IdentifierReference. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1007 -
dstr-obj-prop-nested-obj-yield-ident-valid.js --- description: When a `yield` token appears within the Initializer of a nested destructuring assignment and outside of a generator function body, it should behave as an IdentifierReference. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, noStrict] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1025 -
dstr-obj-prop-nested-obj.js --- description: When DestructuringAssignmentTarget is an object literal, it should be parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 963 -
dstr-obj-prop-put-const.js --- description: The assignment target should obey `const` semantics. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [const, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 799 -
dstr-obj-prop-put-let.js --- description: The assignment target should obey `let` semantics. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [let, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 787 -
dstr-obj-prop-put-order.js --- description: The AssignmentElements in an AssignmentElementList are evaluated in left- to-right order. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 887 -
dstr-obj-prop-put-prop-ref-no-get.js --- description: If the DestructuringAssignmentTarget of an AssignmentElement is a PropertyReference, it should not be evaluated. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1047 -
dstr-obj-prop-put-prop-ref-user-err.js --- description: Any error raised as a result of setting the value should be forwarded to the runtime. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 892 -
dstr-obj-prop-put-prop-ref.js --- description: The DestructuringAssignmentTarget of an AssignmentElement may be a PropertyReference. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 885 -
dstr-obj-prop-put-unresolvable-no-strict.js --- description: Outside of strict mode, if the the assignment target is an unresolvable reference, a new `var` binding should be created in the environment record. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, noStrict] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 984 -
dstr-obj-prop-put-unresolvable-strict.js --- description: In strict mode, if the the assignment target is an unresolvable reference, a ReferenceError should be thrown. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [destructuring-binding] flags: [generated, onlyStrict] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 872 -
dstr-obj-rest-computed-property-no-strict.js --- description: Destructuring field can be a computed property, i.e it can be defined only at runtime. Rest operantion needs to skip these properties as well. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [object-rest, destructuring-binding] flags: [generated, noStrict] includes: [propertyHelper.js] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1360 -
dstr-obj-rest-computed-property.js --- description: Destructuring field can be a computed property, i.e it can be defined only at runtime. Rest operantion needs to skip these properties as well. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [object-rest, destructuring-binding] flags: [generated] includes: [propertyHelper.js] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1353 -
dstr-obj-rest-descriptors.js --- description: Object created from rest deconstruction doesn't copy source object property descriptors. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [object-rest, destructuring-binding] flags: [generated] includes: [propertyHelper.js] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1284 -
dstr-obj-rest-empty-obj.js --- description: RestBindingInitialization creates a new object even if lhs is an empty object (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [object-rest, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 964 -
dstr-obj-rest-getter-abrupt-get-error.js --- description: Rest deconstruction doesn't happen if getter return is abrupt (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [object-rest, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 910 -
dstr-obj-rest-getter.js --- description: Getter is called when obj is being deconstructed to a rest Object (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [object-rest, destructuring-binding] flags: [generated] includes: [propertyHelper.js] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1035 -
dstr-obj-rest-not-last-element-invalid.js --- description: Object rest element needs to be the last AssignmenProperty in ObjectAssignmentPattern. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [object-rest, destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 913 -
dstr-obj-rest-number.js --- description: RestBindingInitialization creates a new object even if lhs is a Number (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [object-rest, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 945 -
dstr-obj-rest-order.js --- description: Rest operation follows [[OwnPropertyKeys]] order (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol, object-rest, destructuring-binding] flags: [generated] includes: [compareArray.js] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1230 -
dstr-obj-rest-put-const.js --- description: The object rest deconstruction assignment target should obey `const` semantics. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [object-rest, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 834 -
dstr-obj-rest-same-name.js --- description: Proper setting in the values for rest name equal to a property name. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [object-rest, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1152 -
dstr-obj-rest-skip-non-enumerable.js --- description: Rest object doesn't contain non-enumerable properties (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [object-rest, destructuring-binding] flags: [generated] includes: [propertyHelper.js] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1238 -
dstr-obj-rest-str-val.js --- description: RestBindingInitialization creats an object with indexes as property name (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [object-rest, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 982 -
dstr-obj-rest-symbol-val.js --- description: RestBindingInitialization creates a new object if lhs is a Symbol (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [Symbol, object-rest, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 963 -
dstr-obj-rest-to-property-with-setter.js --- description: When DestructuringAssignmentTarget is an object property setter, its value should be binded as rest object. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [object-rest, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1197 -
dstr-obj-rest-to-property.js --- description: When DestructuringAssignmentTarget is an object property, its value should be binded as rest object. (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [object-rest, destructuring-binding] flags: [generated] includes: [propertyHelper.js] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1072 -
dstr-obj-rest-val-null.js --- description: TypeError is thrown when rhs is null because of 7.1.13 ToObject ( argument ) used by CopyDataProperties (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [object-rest, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 850 -
dstr-obj-rest-val-undefined.js --- description: TypeError is thrown when rhs is ```undefined``` because of 7.1.13 ToObject ( argument ) used by CopyDataProperties (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [object-rest, destructuring-binding] flags: [generated] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 871 -
dstr-obj-rest-valid-object.js --- description: Rest object contains just unextracted data (AssignmentExpression) esid: sec-variable-statement-runtime-semantics-evaluation es6id: 13.3.2.4 features: [object-rest, destructuring-binding] flags: [generated] includes: [propertyHelper.js] info: | VariableDeclaration : BindingPattern Initializer 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). 4. Return the result of performing BindingInitialization for BindingPattern passing rval and undefined as arguments. --- 1165 -
fn-name-arrow.js --- es6id: 12.14.4 description: Assignment of function `name` attribute (ArrowFunction) info: | AssignmentExpression[In, Yield] : LeftHandSideExpression[?Yield] = AssignmentExpression[?In, ?Yield] 1. If LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral, then [...] e. If IsAnonymousFunctionDefinition(AssignmentExpression) and IsIdentifierRef of LeftHandSideExpression are both true, then i. Let hasNameProperty be HasOwnProperty(rval, "name"). ii. ReturnIfAbrupt(hasNameProperty). iii. If hasNameProperty is false, perform SetFunctionName(rval, GetReferencedName(lref)). includes: [propertyHelper.js] --- 1040 -
fn-name-class.js --- es6id: 12.14.4 description: Assignment of function `name` attribute (ClassExpression) info: | AssignmentExpression[In, Yield] : LeftHandSideExpression[?Yield] = AssignmentExpression[?In, ?Yield] 1. If LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral, then [...] e. If IsAnonymousFunctionDefinition(AssignmentExpression) and IsIdentifierRef of LeftHandSideExpression are both true, then i. Let hasNameProperty be HasOwnProperty(rval, "name"). ii. ReturnIfAbrupt(hasNameProperty). iii. If hasNameProperty is false, perform SetFunctionName(rval, GetReferencedName(lref)). includes: [propertyHelper.js] features: [class] --- 1197 -
fn-name-cover.js --- es6id: 12.14.4 description: > Assignment of function `name` attribute (CoverParenthesizedExpression) info: | AssignmentExpression[In, Yield] : LeftHandSideExpression[?Yield] = AssignmentExpression[?In, ?Yield] 1. If LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral, then [...] e. If IsAnonymousFunctionDefinition(AssignmentExpression) and IsIdentifierRef of LeftHandSideExpression are both true, then i. Let hasNameProperty be HasOwnProperty(rval, "name"). ii. ReturnIfAbrupt(hasNameProperty). iii. If hasNameProperty is false, perform SetFunctionName(rval, GetReferencedName(lref)). includes: [propertyHelper.js] --- 1140 -
fn-name-fn.js --- es6id: 12.14.4 description: Assignment of function `name` attribute (FunctionExpression) info: | AssignmentExpression[In, Yield] : LeftHandSideExpression[?Yield] = AssignmentExpression[?In, ?Yield] 1. If LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral, then [...] e. If IsAnonymousFunctionDefinition(AssignmentExpression) and IsIdentifierRef of LeftHandSideExpression are both true, then i. Let hasNameProperty be HasOwnProperty(rval, "name"). ii. ReturnIfAbrupt(hasNameProperty). iii. If hasNameProperty is false, perform SetFunctionName(rval, GetReferencedName(lref)). includes: [propertyHelper.js] --- 1086 -
fn-name-gen.js --- es6id: 12.14.4 description: Assignment of function `name` attribute (GeneratorExpression) info: | AssignmentExpression[In, Yield] : LeftHandSideExpression[?Yield] = AssignmentExpression[?In, ?Yield] 1. If LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral, then [...] e. If IsAnonymousFunctionDefinition(AssignmentExpression) and IsIdentifierRef of LeftHandSideExpression are both true, then i. Let hasNameProperty be HasOwnProperty(rval, "name"). ii. ReturnIfAbrupt(hasNameProperty). iii. If hasNameProperty is false, perform SetFunctionName(rval, GetReferencedName(lref)). includes: [propertyHelper.js] features: [generators] --- 1123 -
fn-name-lhs-cover.js --- es6id: 12.14.4 description: Left-hand side as a CoverParenthesizedExpression info: | AssignmentExpression[In, Yield] : LeftHandSideExpression[?Yield] = AssignmentExpression[?In, ?Yield] 1. If LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral, then [...] e. If IsAnonymousFunctionDefinition(AssignmentExpression) and IsIdentifierRef of LeftHandSideExpression are both true, then i. Let hasNameProperty be HasOwnProperty(rval, "name"). ii. ReturnIfAbrupt(hasNameProperty). iii. If hasNameProperty is false, perform SetFunctionName(rval, GetReferencedName(lref)). --- 925 -
fn-name-lhs-member.js --- es6id: 12.14.4 description: Left-hand side as a MemberExpression info: | AssignmentExpression[In, Yield] : LeftHandSideExpression[?Yield] = AssignmentExpression[?In, ?Yield] 1. If LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral, then [...] e. If IsAnonymousFunctionDefinition(AssignmentExpression) and IsIdentifierRef of LeftHandSideExpression are both true, then i. Let hasNameProperty be HasOwnProperty(rval, "name"). ii. ReturnIfAbrupt(hasNameProperty). iii. If hasNameProperty is false, perform SetFunctionName(rval, GetReferencedName(lref)). --- 923 -
id-arguments-strict.js --- es5id: 11.13.1-4-30-s description: > Strict Mode - SyntaxError is thrown if the identifier 'arguments' appears as the LeftHandSideExpression (PrimaryExpression) of simple assignment(=). negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 480 -
id-eval-strict.js --- es5id: 11.13.1-4-30-s description: > Strict Mode - SyntaxError is thrown if the identifier 'eval' appears as the LeftHandSideExpression (PrimaryExpression) of simple assignment(=). negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 470 -
line-terminator.js --- description: > White Space between LeftHandSideExpression and "=" or between "=" and AssignmentExpression is allowed es5id: 11.13.1_A1 --- 376 -
non-simple-target.js --- info: | It is an early Reference Error if LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral and IsValidSimpleAssignmentTarget of LeftHandSideExpression is false. es6id: 12.14.1 description: Assignment with non-simple target negative: phase: parse type: ReferenceError --- 517 -
S8.12.4_A1.js --- info: If the property has the ReadOnly attribute, [[CanPut]](P) return false es5id: 8.12.4_A1 description: Try put other value for Math.E property flags: [noStrict] --- 443 -
S8.12.5_A1.js --- info: | When the [[Put]] method of O is called with property P and value V, and If O doesn't have a property with name P, then creates a property with name P, set its value to V and give it empty attributes es5id: 8.12.5_A1 description: Put to not existent properties --- 1466 -
S8.12.5_A2.js --- info: | When the [[Put]] method of O is called with property P and value V, then set the value of the property to V. The attributes of the property are not changed es5id: 8.12.5_A2 description: Put to existent properties --- 1752 -
S11.13.1_A2.1_T1.js --- info: Operator x = y uses GetValue and PutValue es5id: 11.13.1_A2.1_T1 description: Either AssigmentExpression is not Reference or GetBase is not null --- 1197 -
S11.13.1_A2.1_T2.js --- info: Operator x = y uses GetValue and PutValue es5id: 11.13.1_A2.1_T2 description: If GetBase(AssigmentExpression) is null, throw ReferenceError --- 519 -
S11.13.1_A3.1.js --- info: Operator x = y PutValue(x, y) es5id: 11.13.1_A3.1 description: Checking Expression and Variable statements --- 432 -
S11.13.1_A3.2.js --- info: Operator x = y returns GetValue(y) es5id: 11.13.1_A3.2 description: Checking Expression and Variable statements --- 473 -
S11.13.1_A4_T1.js --- info: "AssignmentExpression : LeftHandSideExpression = AssignmentExpression" es5id: 11.13.1_A4_T1 description: Syntax check --- 414 -
S11.13.1_A4_T2.js --- info: "AssignmentExpression : LeftHandSideExpression = AssignmentExpression" es5id: 11.13.1_A4_T2 description: Syntax check if "x = x" throws ReferenceError --- 527 -
S11.13.1_A5_T1.js --- info: Assignment Operator calls PutValue(lref, rval) es5id: S11.13.1_A5_T1 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, rval) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding function environment record is not changed. flags: [noStrict] --- 895 -
S11.13.1_A5_T2.js --- info: Assignment Operator calls PutValue(lref, rval) es5id: S11.13.1_A5_T2 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, rval) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding global environment record is not changed. flags: [noStrict] --- 827 -
S11.13.1_A5_T3.js --- info: Assignment Operator calls PutValue(lref, rval) es5id: S11.13.1_A5_T3 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, rval) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding object environment record is not changed. flags: [noStrict] --- 932 -
S11.13.1_A5_T4.js --- info: Assignment Operator calls PutValue(lref, rval) es5id: S11.13.1_A5_T4 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, rval) uses the initially created Reference even if the environment binding is no longer present. No ReferenceError is thrown when assignment is in strict-mode code and the original binding is no longer present. flags: [noStrict] --- 855 -
S11.13.1_A5_T5.js --- info: Assignment Operator calls PutValue(lref, rval) es5id: S11.13.1_A5_T5 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, rval) uses the initially created Reference even if the environment binding is no longer present. No ReferenceError is thrown when assignment is in strict-mode code and the original binding is no longer present. --- 881 -
S11.13.1_A6_T1.js --- info: Assignment Operator calls PutValue(lref, rval) es5id: S11.13.1_A6_T1 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is declarative environment record. PutValue(lref, rval) uses the initially created Reference even if a more local binding is available. flags: [noStrict] --- 842 -
S11.13.1_A6_T2.js --- info: Assignment Operator calls PutValue(lref, rval) es5id: S11.13.1_A6_T2 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is declarative environment record. PutValue(lref, rval) uses the initially created Reference even if a more local binding is available. flags: [noStrict] --- 830 -
S11.13.1_A6_T3.js --- info: Assignment Operator calls PutValue(lref, rval) es5id: S11.13.1_A6_T3 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is declarative environment record. PutValue(lref, rval) uses the initially created Reference even if a more local binding is available. flags: [noStrict] --- 815 -
S11.13.1_A7_T1.js --- info: Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. base is the null value. --- 913 -
S11.13.1_A7_T2.js --- info: Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. base is the undefined value. --- 928 -
S11.13.1_A7_T3.js --- info: Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. Evaluating ToPropertyKey(prop) throws an error. --- 695 -
S11.13.1_A7_T4.js --- info: Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. ToPropertyKey(prop) is only called once. --- 637 -
target-boolean.js --- esid: sec-assignment-operators-static-semantics-early-errors es5id: 11.13.1-1-3 description: > simple assignment throws ReferenceError if LeftHandSide is not a reference (boolean) info: | AssignmentExpression : LeftHandSideExpression = AssignmentExpression It is an early Reference Error if LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral and IsValidSimpleAssignmentTarget of LeftHandSideExpression is false. negative: phase: parse type: ReferenceError --- 724 -
target-cover-id.js --- esid: sec-assignment-operators-static-semantics-early-errors es6id: 12.14.1 es5id: 11.1.6_A3_T5 description: Applied to a "covered" IdentifierReference info: | AssignmentExpression : LeftHandSideExpression = AssignmentExpression - It is an early Reference Error if LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral and IsValidSimpleAssignmentTarget of LeftHandSideExpression is false. Static Semantics: IsValidSimpleAssignmentTarget IdentifierReference : Identifier 1. If this IdentifierReference is contained in strict mode code and StringValue of Identifier is "eval" or "arguments", return false. 2. Return true. --- 853 -
target-cover-newtarget.js --- esid: sec-assignment-operators-static-semantics-early-errors es6id: 12.14.1 description: Applied to a "covered" new.target info: | AssignmentExpression : LeftHandSideExpression = AssignmentExpression - It is an early Reference Error if LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral and IsValidSimpleAssignmentTarget of LeftHandSideExpression is false. 12.3.1.5 Static Semantics: IsValidSimpleAssignmentTarget NewTarget: new.target 1. Return false. negative: phase: parse type: ReferenceError --- 793 -
target-cover-yieldexpr.js --- esid: sec-assignment-operators-static-semantics-early-errors es6id: 12.14.1 description: Applied to a "covered" YieldExpression info: | AssignmentExpression : LeftHandSideExpression = AssignmentExpression - It is an early Reference Error if LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral and IsValidSimpleAssignmentTarget of LeftHandSideExpression is false. 12.15.3 Static Semantics: IsValidSimpleAssignmentTarget AssignmentExpression: YieldExpression ArrowFunction LeftHandSideExpression = AssignmentExpression LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Return false. features: [generators] negative: phase: parse type: ReferenceError --- 968 -
target-newtarget.js --- esid: sec-assignment-operators-static-semantics-early-errors es6id: 12.14.1 description: Applied to new.target info: | AssignmentExpression : LeftHandSideExpression = AssignmentExpression - It is an early Reference Error if LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral and IsValidSimpleAssignmentTarget of LeftHandSideExpression is false. 12.3.1.5 Static Semantics: IsValidSimpleAssignmentTarget NewTarget: new.target 1. Return false. negative: phase: parse type: ReferenceError --- 779 -
target-null.js --- esid: sec-assignment-operators-static-semantics-early-errors es5id: 11.13.1-1-4 description: > simple assignment throws ReferenceError if LeftHandSide is not a reference (null) info: | AssignmentExpression : LeftHandSideExpression = AssignmentExpression It is an early Reference Error if LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral and IsValidSimpleAssignmentTarget of LeftHandSideExpression is false. negative: phase: parse type: ReferenceError --- 721 -
target-number.js --- esid: sec-assignment-operators-static-semantics-early-errors es5id: 11.13.1-1-1 description: > simple assignment throws ReferenceError if LeftHandSide is not a reference (number) info: | AssignmentExpression : LeftHandSideExpression = AssignmentExpression It is an early Reference Error if LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral and IsValidSimpleAssignmentTarget of LeftHandSideExpression is false. negative: phase: parse type: ReferenceError --- 721 -
target-string.js --- esid: sec-assignment-operators-static-semantics-early-errors es5id: 11.13.1-1-2 description: > simple assignment throws ReferenceError if LeftHandSide is not a reference (string) info: | AssignmentExpression : LeftHandSideExpression = AssignmentExpression It is an early Reference Error if LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral and IsValidSimpleAssignmentTarget of LeftHandSideExpression is false. negative: phase: parse type: ReferenceError --- 722 -
white-space.js --- description: > White Space between LeftHandSideExpression and "=" or between "=" and AssignmentExpression is allowed es5id: 11.13.1_A1 --- 1304 -