boolean-trap-result-is-false-boolean-return-false.js |
---
es6id: 9.5.9
description: >
[[Set]] ( P, V, Receiver)
11. If booleanTrapResult is false, return false.
features: [Proxy, Reflect, Reflect.set]
--- |
520 |
boolean-trap-result-is-false-null-return-false.js |
---
es6id: 9.5.9
description: >
[[Set]] ( P, V, Receiver)
11. If booleanTrapResult is false, return false.
features: [Proxy, Reflect, Reflect.set]
--- |
519 |
boolean-trap-result-is-false-number-return-false.js |
---
es6id: 9.5.9
description: >
[[Set]] ( P, V, Receiver)
11. If booleanTrapResult is false, return false.
features: [Proxy, Reflect, Reflect.set]
--- |
516 |
boolean-trap-result-is-false-string-return-false.js |
---
es6id: 9.5.9
description: >
[[Set]] ( P, V, Receiver)
11. If booleanTrapResult is false, return false.
features: [Proxy, Reflect, Reflect.set]
--- |
517 |
boolean-trap-result-is-false-undefined-return-false.js |
---
es6id: 9.5.9
description: >
[[Set]] ( P, V, Receiver)
11. If booleanTrapResult is false, return false.
features: [Proxy, Reflect, Reflect.set]
--- |
524 |
browser.js |
|
0 |
call-parameters-prototype-dunder-proto.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver
description: >
Ordinary [[Set]] forwards call to Proxy "set" trap with correct arguments.
Property name is "__proto__".
info: |
OrdinarySet ( O, P, V, Receiver )
...
3. Return OrdinarySetWithOwnDescriptor(O, P, V, Receiver, ownDesc).
OrdinarySetWithOwnDescriptor ( O, P, V, Receiver, ownDesc )
...
2. If ownDesc is undefined, then
a. Let parent be ? O.[[GetPrototypeOf]]().
b. If parent is not null, then
i. Return ? parent.[[Set]](P, V, Receiver).
[[Set]] ( P, V, Receiver )
...
8. Let booleanTrapResult be ! ToBoolean(? Call(trap, handler, « target, P, V, Receiver »)).
...
12. Return true.
includes: [proxyTrapsHelper.js]
features: [Proxy, __proto__]
--- |
1735 |
call-parameters-prototype-index.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver
description: >
Ordinary [[Set]] forwards call to Proxy "set" trap with correct arguments.
(integer index property name)
info: |
OrdinarySet ( O, P, V, Receiver )
...
3. Return OrdinarySetWithOwnDescriptor(O, P, V, Receiver, ownDesc).
OrdinarySetWithOwnDescriptor ( O, P, V, Receiver, ownDesc )
...
2. If ownDesc is undefined, then
a. Let parent be ? O.[[GetPrototypeOf]]().
b. If parent is not null, then
i. Return ? parent.[[Set]](P, V, Receiver).
[[Set]] ( P, V, Receiver )
...
8. Let booleanTrapResult be ! ToBoolean(? Call(trap, handler, « target, P, V, Receiver »)).
...
12. Return true.
includes: [proxyTrapsHelper.js]
features: [Proxy]
--- |
1692 |
call-parameters-prototype.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver
description: >
Ordinary [[Set]] forwards call to Proxy "set" trap with correct arguments.
info: |
OrdinarySet ( O, P, V, Receiver )
...
3. Return OrdinarySetWithOwnDescriptor(O, P, V, Receiver, ownDesc).
OrdinarySetWithOwnDescriptor ( O, P, V, Receiver, ownDesc )
...
2. If ownDesc is undefined, then
a. Let parent be ? O.[[GetPrototypeOf]]().
b. If parent is not null, then
i. Return ? parent.[[Set]](P, V, Receiver).
[[Set]] ( P, V, Receiver )
...
8. Let booleanTrapResult be ! ToBoolean(? Call(trap, handler, « target, P, V, Receiver »)).
...
12. Return true.
includes: [proxyTrapsHelper.js]
features: [Proxy]
--- |
1657 |
call-parameters.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver
description: >
Proxy "set" trap is called with correct arguments.
info: |
[[Set]] ( P, V, Receiver )
...
8. Let booleanTrapResult be ! ToBoolean(? Call(trap, handler, « target, P, V, Receiver »)).
...
12. Return true.
features: [Proxy]
--- |
1166 |
null-handler.js |
---
es6id: 9.5.9
description: >
[[Set]] ( P, V, Receiver)
3. If handler is null, throw a TypeError exception.
features: [Proxy]
--- |
481 |
return-is-abrupt.js |
---
es6id: 9.5.9
description: >
Trap returns abrupt.
info: |
[[Set]] ( P, V, Receiver)
...
9. Let booleanTrapResult be ToBoolean(Call(trap, handler, «target, P, V, Receiver»)).
10. ReturnIfAbrupt(booleanTrapResult).
...
features: [Proxy]
--- |
671 |
return-true-target-property-accessor-is-configurable-set-is-undefined.js |
---
es6id: 9.5.9
description: >
[[Set]] ( P, V, Receiver)
Returns true if trap returns true and target property accessor is
configurable and set is undefined.
features: [Proxy, Reflect, Reflect.set]
--- |
642 |
return-true-target-property-accessor-is-not-configurable.js |
---
es6id: 9.5.9
description: >
[[Set]] ( P, V, Receiver)
Returns true if trap returns true and target property accessor is not
configurable and set is not undefined.
features: [Proxy, Reflect, Reflect.set]
--- |
677 |
return-true-target-property-is-not-configurable.js |
---
es6id: 9.5.9
description: >
[[Set]] ( P, V, Receiver)
Returns true if trap returns true and target property is not configurable
but writable.
features: [Proxy, Reflect, Reflect.set]
--- |
642 |
return-true-target-property-is-not-writable.js |
---
es6id: 9.5.9
description: >
[[Set]] ( P, V, Receiver)
Returns true if trap returns true and target property is configurable
but not writable.
features: [Proxy, Reflect, Reflect.set]
--- |
646 |
shell.js |
---
description: |
Used to assert the correctness of object behavior in the presence
and context of Proxy objects.
defines: [allowProxyTraps]
--- |
1810 |
target-property-is-accessor-not-configurable-set-is-undefined.js |
---
es6id: 9.5.9
description: >
[[Set]] ( P, V, Receiver)
Throws a TypeError when target property is an accessor not configurable and
and set is undefined.
info: |
14. If targetDesc is not undefined, then
b. If IsAccessorDescriptor(targetDesc) and targetDesc.[[Configurable]] is false, then
i. If targetDesc.[[Set]] is undefined, throw a TypeError exception.
features: [Proxy]
--- |
931 |
target-property-is-not-configurable-not-writable-not-equal-to-v.js |
---
es6id: 9.5.9
description: >
[[Set]] ( P, V, Receiver)
Throws a TypeError when target property is not configurable neither writable
and its value is not strictly equal to V.
info: |
14. If targetDesc is not undefined, then
a. If IsDataDescriptor(targetDesc) and targetDesc.[[Configurable]] is
false and targetDesc.[[Writable]] is false, then
i. If SameValue(V, targetDesc.[[Value]]) is false, throw a TypeError
exception.
features: [Proxy]
--- |
1033 |
trap-is-missing-receiver-multiple-calls-index.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver
description: >
If "set" trap is missing, the call is properly forwarded to ordinary
[[Set]] that invokes [[GetOwnProperty]] and [[DefineOwnProperty]] methods
on receiver (that is a Proxy itself) every time it is called.
(integer index property name)
info: |
[[Set]] ( P, V, Receiver )
[...]
6. Let trap be ? GetMethod(handler, "set").
7. If trap is undefined, then
a. Return ? target.[[Set]](P, V, Receiver).
OrdinarySetWithOwnDescriptor ( O, P, V, Receiver, ownDesc )
[...]
3. If IsDataDescriptor(ownDesc) is true, then
[...]
c. Let existingDescriptor be ? Receiver.[[GetOwnProperty]](P).
d. If existingDescriptor is not undefined, then
[...]
iii. Let valueDesc be the PropertyDescriptor { [[Value]]: V }.
iv. Return ? Receiver.[[DefineOwnProperty]](P, valueDesc).
e. Else,
i. Assert: Receiver does not currently have a property P.
ii. Return ? CreateDataProperty(Receiver, P, V).
[...]
[[DefineOwnProperty]] ( P, Desc )
[...]
9. Let booleanTrapResult be ! ToBoolean(? Call(trap, handler, « target, P, descObj »)).
[...]
17. Return true.
features: [Proxy, Reflect]
includes: [compareArray.js]
--- |
2425 |
trap-is-missing-receiver-multiple-calls.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver
description: >
If "set" trap is missing, the call is properly forwarded to ordinary
[[Set]] that invokes [[GetOwnProperty]] and [[DefineOwnProperty]] methods
on receiver (that is a Proxy itself) every time it is called.
info: |
[[Set]] ( P, V, Receiver )
[...]
6. Let trap be ? GetMethod(handler, "set").
7. If trap is undefined, then
a. Return ? target.[[Set]](P, V, Receiver).
OrdinarySetWithOwnDescriptor ( O, P, V, Receiver, ownDesc )
[...]
3. If IsDataDescriptor(ownDesc) is true, then
[...]
c. Let existingDescriptor be ? Receiver.[[GetOwnProperty]](P).
d. If existingDescriptor is not undefined, then
[...]
iii. Let valueDesc be the PropertyDescriptor { [[Value]]: V }.
iv. Return ? Receiver.[[DefineOwnProperty]](P, valueDesc).
e. Else,
i. Assert: Receiver does not currently have a property P.
ii. Return ? CreateDataProperty(Receiver, P, V).
[...]
[[DefineOwnProperty]] ( P, Desc )
[...]
9. Let booleanTrapResult be ! ToBoolean(? Call(trap, handler, « target, P, descObj »)).
[...]
17. Return true.
features: [Proxy, Reflect]
includes: [compareArray.js]
--- |
2392 |
trap-is-missing-target-is-proxy.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver
description: >
If "set" trap is null or undefined, [[Set]] call is properly
forwarded to [[ProxyTarget]] (which is also a Proxy object).
info: |
[[Set]] ( P, V, Receiver )
[...]
5. Let target be O.[[ProxyTarget]].
6. Let trap be ? GetMethod(handler, "set").
7. If trap is undefined, then
a. Return ? target.[[Set]](P, V, Receiver).
features: [Proxy, Reflect]
--- |
1206 |
trap-is-not-callable-realm.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver
description: >
Throws if trap is not callable (honoring the Realm of the current execution
context)
info: |
[[Set]] ( P, V, Receiver)
6. Let trap be GetMethod(handler, "set").
...
7.3.9 GetMethod (O, P)
5. If IsCallable(func) is false, throw a TypeError exception.
features: [cross-realm, Proxy]
--- |
774 |
trap-is-not-callable.js |
---
es6id: 9.5.9
description: >
Trap is not callable.
info: |
[[Set]] ( P, V, Receiver)
6. Let trap be GetMethod(handler, "set").
...
7.3.9 GetMethod (O, P)
5. If IsCallable(func) is false, throw a TypeError exception.
features: [Proxy]
--- |
588 |
trap-is-null-receiver.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver
description: >
Pass to target's [[Set]] correct receiver if trap is missing
info: |
[[Set]] (P, V, Receiver)
7. If trap is undefined, then
a. Return ? target.[[Set]](P, V, Receiver).
features: [Proxy]
--- |
731 |
trap-is-null-target-is-proxy.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver
description: >
If "set" trap is null or undefined, [[Set]] call is properly
forwarded to [[ProxyTarget]] (which is also a Proxy object).
info: |
[[Set]] ( P, V, Receiver )
[...]
5. Let target be O.[[ProxyTarget]].
6. Let trap be ? GetMethod(handler, "set").
7. If trap is undefined, then
a. Return ? target.[[Set]](P, V, Receiver).
features: [Proxy, Reflect]
includes: [compareArray.js]
--- |
1268 |
trap-is-undefined-no-property.js |
---
es6id: 9.5.9
description: >
[[Set]] ( P, V, Receiver)
8. If trap is undefined, then return target.[[Set]](P, V, Receiver).
features: [Proxy]
--- |
431 |
trap-is-undefined-target-is-proxy.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver
description: >
If "set" trap is null or undefined, [[Set]] call is properly
forwarded to [[ProxyTarget]] (which is also a Proxy object).
info: |
[[Set]] ( P, V, Receiver )
[...]
5. Let target be O.[[ProxyTarget]].
6. Let trap be ? GetMethod(handler, "set").
7. If trap is undefined, then
a. Return ? target.[[Set]](P, V, Receiver).
features: [Proxy, Reflect]
--- |
1316 |
trap-is-undefined.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver
description: >
[[Set]] ( P, V, Receiver)
7. If trap is undefined, then
a. Return ? target.[[Set]](P, V, Receiver)
features: [Proxy]
--- |
522 |