browser.js |
|
0 |
call-parameters.js |
---
es6id: 9.5.1
description: >
Trap is called with handler as context and target as the first parameter.
info: |
[[GetPrototypeOf]] ( )
...
8. Let handlerProto be Call(trap, handler, «target»).
...
features: [Proxy]
--- |
695 |
extensible-target-return-handlerproto.js |
---
es6id: 9.5.1
description: >
Return trap result if it's an Object and target is extensible.
info: |
[[GetPrototypeOf]] ( )
...
1. Let handler be the value of the [[ProxyHandler]] internal slot of O.
...
4. Let target be the value of the [[ProxyTarget]] internal slot of O.
5. Let trap be GetMethod(handler, "getPrototypeOf").
...
8. Let handlerProto be Call(trap, handler, «target»).
...
11. Let extensibleTarget be IsExtensible(target).
12. ReturnIfAbrupt(extensibleTarget).
13. If extensibleTarget is true, return handlerProto.
...
features: [Proxy]
--- |
940 |
instanceof-custom-return-accepted.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-getprototypeof
description: >
instanceof operator will return true if trap result is the prototype of the function.
info: |
Runtime Semantics: InstanceofOperator ( V, target )
5. Return ? OrdinaryHasInstance(target, V).
OrdinaryHasInstance ( C, O )
4. Let P be ? Get(C, "prototype").
...
6. Repeat,
a. Set O to ? O.[[GetPrototypeOf]]().
b. If O is null, return false.
c. If SameValue(P, O) is true, return true.
[[GetPrototypeOf]] ( )
7. Let handlerProto be ? Call(trap, handler, « target »).
8. If Type(handlerProto) is neither Object nor Null, throw a TypeError exception.
9. Let extensibleTarget be ? IsExtensible(target).
10. If extensibleTarget is true, return handlerProto.
features: [Proxy]
--- |
1093 |
instanceof-target-not-extensible-not-same-proto-throws.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-getprototypeof
description: >
instanceof operator observes the TypeError from a custom trap result that would return true if
the target were extensible.
info: |
Runtime Semantics: InstanceofOperator ( V, target )
5. Return ? OrdinaryHasInstance(target, V).
OrdinaryHasInstance ( C, O )
4. Let P be ? Get(C, "prototype").
...
6. Repeat,
a. Set O to ? O.[[GetPrototypeOf]]().
b. If O is null, return false.
c. If SameValue(P, O) is true, return true.
[[GetPrototypeOf]] ( )
7. Let handlerProto be ? Call(trap, handler, « target »).
8. If Type(handlerProto) is neither Object nor Null, throw a TypeError exception.
9. Let extensibleTarget be ? IsExtensible(target).
10. If extensibleTarget is true, return handlerProto.
11. Let targetProto be ? target.[[GetPrototypeOf]]().
12. If SameValue(handlerProto, targetProto) is false, throw a TypeError exception.
features: [Proxy]
--- |
1362 |
not-extensible-not-same-proto-throws.js |
---
es6id: 9.5.1
description: >
Throws a TypeError if the target is not extensible and the trap result is
not the same as the target.[[GetPrototypeOf]] result.
info: |
[[GetPrototypeOf]] ( )
...
1. Let handler be the value of the [[ProxyHandler]] internal slot of O.
...
4. Let target be the value of the [[ProxyTarget]] internal slot of O.
5. Let trap be GetMethod(handler, "getPrototypeOf").
...
8. Let handlerProto be Call(trap, handler, «target»).
...
11. Let extensibleTarget be IsExtensible(target).
...
14. Let targetProto be target.[[GetPrototypeOf]]().
15. ReturnIfAbrupt(targetProto).
16. If SameValue(handlerProto, targetProto) is false, throw a TypeError
exception.
...
features: [Proxy]
--- |
1175 |
not-extensible-same-proto.js |
---
es6id: 9.5.1
description: >
Return trap result is target is not extensible, but trap result has the same
value as target.[[GetPrototypeOf]] result.
info: |
[[GetPrototypeOf]] ( )
...
1. Let handler be the value of the [[ProxyHandler]] internal slot of O.
...
4. Let target be the value of the [[ProxyTarget]] internal slot of O.
5. Let trap be GetMethod(handler, "getPrototypeOf").
...
8. Let handlerProto be Call(trap, handler, «target»).
...
11. Let extensibleTarget be IsExtensible(target).
...
14. Let targetProto be target.[[GetPrototypeOf]]().
...
17. Return handlerProto.
features: [Proxy]
--- |
1076 |
null-handler.js |
---
es6id: 9.5.1
description: >
Throws a TypeError exception if handler is null.
features: [Proxy]
--- |
395 |
return-is-abrupt.js |
---
es6id: 9.5.1
description: >
Trap returns abrupt.
info: |
8. Let handlerProto be Call(trap, handler, «target»).
9. ReturnIfAbrupt(handlerProto).
features: [Proxy]
--- |
516 |
shell.js |
|
0 |
trap-is-missing-target-is-proxy.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-getprototypeof
description: >
If "getPrototypeOf" trap is null or undefined, [[GetPrototypeOf]] call
is properly forwarded to [[ProxyTarget]] (which is also a Proxy object).
info: |
[[GetPrototypeOf]] ( )
[...]
4. Let target be O.[[ProxyTarget]].
5. Let trap be ? GetMethod(handler, "getPrototypeOf").
6. If trap is undefined, then
a. Return ? target.[[GetPrototypeOf]]()
[[GetPrototypeOf]] ( )
[...]
7. Let handlerProto be ? Call(trap, handler, « target »).
[...]
13. Return handlerProto.
features: [Proxy]
--- |
998 |
trap-is-not-callable-realm.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-getprototypeof
description: >
Throws if trap is not callable (honoring the Realm of the current execution
context)
features: [cross-realm, Proxy]
--- |
549 |
trap-is-not-callable.js |
---
es6id: 9.5.1
description: >
Throws if trap is not callable.
features: [Proxy]
--- |
375 |
trap-is-null-target-is-proxy.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-getprototypeof
description: >
If "getPrototypeOf" trap is null or undefined, [[GetPrototypeOf]] call
is properly forwarded to [[ProxyTarget]] (which is also a Proxy object).
info: |
[[GetPrototypeOf]] ( )
[...]
4. Let target be O.[[ProxyTarget]].
5. Let trap be ? GetMethod(handler, "getPrototypeOf").
6. If trap is undefined, then
a. Return ? target.[[GetPrototypeOf]]()
features: [Proxy]
--- |
842 |
trap-is-undefined-target-is-proxy.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-getprototypeof
description: >
If "getPrototypeOf" trap is null or undefined, [[GetPrototypeOf]] call
is properly forwarded to [[ProxyTarget]] (which is also a Proxy object).
info: |
[[GetPrototypeOf]] ( )
[...]
4. Let target be O.[[ProxyTarget]].
5. Let trap be ? GetMethod(handler, "getPrototypeOf").
6. If trap is undefined, then
a. Return ? target.[[GetPrototypeOf]]()
features: [Proxy]
--- |
817 |
trap-is-undefined.js |
---
es6id: 9.5.1
description: >
Return target.[[GetPrototypeOf]]() if trap is undefined.
features: [Proxy]
--- |
418 |
trap-result-neither-object-nor-null-throws-boolean.js |
---
es6id: 9.5.1
description: >
Throw a TypeError exception if trap result is false.
features: [Proxy]
--- |
428 |
trap-result-neither-object-nor-null-throws-number.js |
---
es6id: 9.5.1
description: >
Throw a TypeError exception if trap result is a Number.
features: [Proxy]
--- |
427 |
trap-result-neither-object-nor-null-throws-string.js |
---
es6id: 9.5.1
description: >
throw a TypeError exception if trap result is a String.
features: [Proxy]
--- |
428 |
trap-result-neither-object-nor-null-throws-symbol.js |
---
es6id: 9.5.1
description: >
Throw a TypeError exception if trap result is a Symbol.
features: [Proxy, Symbol]
--- |
442 |
trap-result-neither-object-nor-null-throws-undefined.js |
---
es6id: 9.5.1
description: >
Throw a TypeError exception if trap result is undefined.
features: [Proxy]
--- |
436 |