browser.js |
|
0 |
default-expr-throws-iterator-return-get-throws.js |
---
esid: sec-runtime-semantics-destructuringassignmentevaluation
description: >
Input throw-completion forwarded when IteratorClose returns abruptly because GetV in GetMethod throws.
info: |
13.15.5.2 Runtime Semantics: DestructuringAssignmentEvaluation
ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ]
...
2. Let status be Completion(IteratorDestructuringAssignmentEvaluation of AssignmentElementList with argument iteratorRecord).
3. If status is an abrupt completion, then
a. If iteratorRecord.[[Done]] is false, return ? IteratorClose(iteratorRecord, status).
b. Return ? status.
...
7.4.11 IteratorClose ( iteratorRecord, completion )
...
3. Let innerResult be Completion(GetMethod(iterator, "return")).
...
5. If completion is a throw completion, return ? completion.
...
7.3.10 GetMethod ( V, P )
1. Let func be ? GetV(V, P).
...
--- |
1507 |
default-expr-throws-iterator-return-is-not-callable.js |
---
esid: sec-runtime-semantics-destructuringassignmentevaluation
description: >
Input throw-completion forwarded when IteratorClose returns abruptly because GetMethod throws.
info: |
13.15.5.2 Runtime Semantics: DestructuringAssignmentEvaluation
ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ]
...
2. Let status be Completion(IteratorDestructuringAssignmentEvaluation of AssignmentElementList with argument iteratorRecord).
3. If status is an abrupt completion, then
a. If iteratorRecord.[[Done]] is false, return ? IteratorClose(iteratorRecord, status).
b. Return ? status.
...
7.4.11 IteratorClose ( iteratorRecord, completion )
...
3. Let innerResult be Completion(GetMethod(iterator, "return")).
...
5. If completion is a throw completion, return ? completion.
...
7.3.10 GetMethod ( V, P )
1. Let func be ? GetV(V, P).
2. If func is either undefined or null, return undefined.
3. If IsCallable(func) is false, throw a TypeError exception.
...
--- |
1607 |
iterator-destructuring-property-reference-target-evaluation-order.js |
---
esid: sec-runtime-semantics-iteratordestructuringassignmentevaluation
description: >
Ensure correct evaluation order when destructuring target is property reference.
info: |
12.15.5.3 Runtime Semantics: IteratorDestructuringAssignmentEvaluation
AssignmentElement : DestructuringAssignmentTarget Initializer
1. If DestructuringAssignmentTarget is neither an ObjectLiteral nor an ArrayLiteral, then
a. Let lref be the result of evaluating DestructuringAssignmentTarget.
b. ReturnIfAbrupt(lref).
2. If iteratorRecord.[[Done]] is false, then
a. Let next be IteratorStep(iteratorRecord.[[Iterator]]).
...
3. If iteratorRecord.[[Done]] is true, let value be undefined.
...
5. Else, let v be value.
...
8. Return ? PutValue(lref, v).
features: [Symbol.iterator]
includes: [compareArray.js]
--- |
2169 |
keyed-destructuring-property-reference-target-evaluation-order-with-bindings.js |
---
esid: sec-runtime-semantics-propertydestructuringassignmentevaluation
description: >
Ensure correct evaluation order for binding lookups when destructuring target is var-binding.
info: |
13.15.5.3 Runtime Semantics: PropertyDestructuringAssignmentEvaluation
AssignmentProperty : PropertyName : AssignmentElement
1. Let name be ? Evaluation of PropertyName.
2. Perform ? KeyedDestructuringAssignmentEvaluation of AssignmentElement with arguments value and name.
...
13.15.5.6 Runtime Semantics: KeyedDestructuringAssignmentEvaluation
AssignmentElement : DestructuringAssignmentTarget Initializer_opt
1. If DestructuringAssignmentTarget is neither an ObjectLiteral nor an ArrayLiteral, then
a. Let lRef be ? Evaluation of DestructuringAssignmentTarget.
2. Let v be ? GetV(value, propertyName).
3. If Initializer is present and v is undefined, then
...
b. Else,
i. Let defaultValue be ? Evaluation of Initializer.
ii. Let rhsValue be ? GetValue(defaultValue).
...
6. Return ? PutValue(lRef, rhsValue).
includes: [compareArray.js]
features: [Proxy]
flags: [noStrict]
--- |
2059 |
keyed-destructuring-property-reference-target-evaluation-order.js |
---
esid: sec-runtime-semantics-keyeddestructuringassignmentevaluation
description: >
Ensure correct evaluation order when destructuring target is property reference.
info: |
12.15.5.2 Runtime Semantics: DestructuringAssignmentEvaluation
AssignmentProperty : PropertyName : AssignmentElement
1. Let name be the result of evaluating PropertyName.
2. ReturnIfAbrupt(name).
3. Return the result of performing KeyedDestructuringAssignmentEvaluation of
AssignmentElement with value and name as the arguments.
12.15.5.4 Runtime Semantics: KeyedDestructuringAssignmentEvaluation
1. If DestructuringAssignmentTarget is neither an ObjectLiteral nor an ArrayLiteral, then
a. Let lref be the result of evaluating DestructuringAssignmentTarget.
b. ReturnIfAbrupt(lref).
2. Let v be ? GetV(value, propertyName).
...
4. Else, let rhsValue be v.
...
7. Return ? PutValue(lref, rhsValue).
includes: [compareArray.js]
--- |
1978 |
obj-prop-__proto__dup.js |
---
esid: sec-destructuring-assignment
es6id: 12.14.5
description: Duplicate __proto__ property names
info: |
Annex B defines an early error for duplicate PropertyName of `__proto__`,
in object initializers, but this does not apply to Object Assignment
patterns
--- |
1185 |
shell.js |
|
0 |
target-assign-throws-iterator-return-get-throws.js |
---
esid: sec-runtime-semantics-destructuringassignmentevaluation
description: >
Input throw-completion forwarded when IteratorClose returns abruptly because GetV in GetMethod throws.
info: |
13.15.5.2 Runtime Semantics: DestructuringAssignmentEvaluation
ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ]
...
2. Let status be Completion(IteratorDestructuringAssignmentEvaluation of AssignmentElementList with argument iteratorRecord).
3. If status is an abrupt completion, then
a. If iteratorRecord.[[Done]] is false, return ? IteratorClose(iteratorRecord, status).
b. Return ? status.
...
7.4.11 IteratorClose ( iteratorRecord, completion )
...
3. Let innerResult be Completion(GetMethod(iterator, "return")).
...
5. If completion is a throw completion, return ? completion.
...
7.3.10 GetMethod ( V, P )
1. Let func be ? GetV(V, P).
...
--- |
1507 |
target-assign-throws-iterator-return-is-not-callable.js |
---
esid: sec-runtime-semantics-destructuringassignmentevaluation
description: >
Input throw-completion forwarded when IteratorClose returns abruptly because GetMethod throws.
info: |
13.15.5.2 Runtime Semantics: DestructuringAssignmentEvaluation
ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ]
...
2. Let status be Completion(IteratorDestructuringAssignmentEvaluation of AssignmentElementList with argument iteratorRecord).
3. If status is an abrupt completion, then
a. If iteratorRecord.[[Done]] is false, return ? IteratorClose(iteratorRecord, status).
b. Return ? status.
...
7.4.11 IteratorClose ( iteratorRecord, completion )
...
3. Let innerResult be Completion(GetMethod(iterator, "return")).
...
5. If completion is a throw completion, return ? completion.
...
7.3.10 GetMethod ( V, P )
1. Let func be ? GetV(V, P).
2. If func is either undefined or null, return undefined.
3. If IsCallable(func) is false, throw a TypeError exception.
...
--- |
1605 |