Name Description Size
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