arguments-realm.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
Arguments array is created in the Realm of the current execution context
info: |
[...]
7. Let argArray be CreateArrayFromList(argumentsList).
8. Let newObj be ? Call(trap, handler, « target, argArray, newTarget »).
[...]
features: [cross-realm]
--- |
708 |
browser.js |
|
0 |
call-parameters-new-target.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
trap is called with handler object as its context, and parameters are:
target, an array list with the called arguments and the NewTarget
info: |
[[Construct]] (argumentsList, newTarget)
9. Let newObj be Call(trap, handler, «target, argArray, newTarget»).
features: [Proxy, Reflect, Reflect.construct]
--- |
1397 |
call-parameters.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
trap is called with handler object as its context, and parameters are:
target, an array list with the called arguments and the new target, and the
constructor new.target.
info: |
[[Construct]] ( argumentsList, newTarget)
9. Let newObj be Call(trap, handler, «target, argArray, newTarget »).
features: [Proxy]
--- |
1350 |
call-result.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
Return the result from the trap method.
info: |
[[Construct]] ( argumentsList, newTarget)
12. Return newObj
features: [Proxy]
--- |
633 |
null-handler-realm.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
[[Construct]] (argumentsList, newTarget)
1. Let handler be O.[[ProxyHandler]].
2. If handler is null, throw a TypeError exception.
features: [cross-realm, Proxy]
--- |
607 |
null-handler.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
[[Construct]] ( argumentsList, newTarget)
2. If handler is null, throw a TypeError exception.
features: [Proxy]
--- |
520 |
return-is-abrupt.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
Return abrupt from constructor call.
info: |
[[Construct]] ( argumentsList, newTarget)
9. Let newObj be Call(trap, handler, «target, argArray, newTarget »).
10. ReturnIfAbrupt(newObj).
features: [Proxy]
--- |
673 |
return-not-object-throws-boolean-realm.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
Throws a TypeError if trap result is not an Object: Boolean
(honoring the Realm of the current execution context)
info: |
[[Construct]] (argumentsList, newTarget)
[...]
11. If Type(newObj) is not Object, throw a TypeError exception.
features: [cross-realm, Proxy]
--- |
795 |
return-not-object-throws-boolean.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
Throws a TypeError if trap result is not an Object: Boolean
info: |
[[Construct]] ( argumentsList, newTarget)
11. If Type(newObj) is not Object, throw a TypeError exception.
features: [Proxy]
--- |
684 |
return-not-object-throws-null-realm.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
Throws a TypeError if trap result is not an Object: null
(honoring the Realm of the current execution context)
info: |
[[Construct]] (argumentsList, newTarget)
[...]
11. If Type(newObj) is not Object, throw a TypeError exception.
features: [cross-realm, Proxy]
--- |
792 |
return-not-object-throws-null.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
Throws a TypeError if trap result is not an Object: null
info: |
[[Construct]] (argumentsList, newTarget)
[...]
11. If Type(newObj) is not Object, throw a TypeError exception.
features: [Proxy]
--- |
676 |
return-not-object-throws-number-realm.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
Throws a TypeError if trap result is not an Object: Number
(honoring the Realm of the current execution context)
info: |
[[Construct]] (argumentsList, newTarget)
[...]
11. If Type(newObj) is not Object, throw a TypeError exception.
features: [cross-realm, Proxy]
--- |
791 |
return-not-object-throws-number.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
Throws a TypeError if trap result is not an Object: Number
info: |
[[Construct]] ( argumentsList, newTarget)
11. If Type(newObj) is not Object, throw a TypeError exception.
features: [Proxy]
--- |
680 |
return-not-object-throws-string-realm.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
Throws a TypeError if trap result is not an Object: String
(honoring the Realm of the current execution context)
info: |
[[Construct]] (argumentsList, newTarget)
[...]
11. If Type(newObj) is not Object, throw a TypeError exception.
features: [cross-realm, Proxy]
--- |
792 |
return-not-object-throws-string.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
Throws a TypeError if trap result is not an Object: String
info: |
[[Construct]] ( argumentsList, newTarget)
11. If Type(newObj) is not Object, throw a TypeError exception.
features: [Proxy]
--- |
681 |
return-not-object-throws-symbol-realm.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
Throws a TypeError if trap result is not an Object: Symbol
(honoring the Realm of the current execution context)
info: |
[[Construct]] (argumentsList, newTarget)
[...]
11. If Type(newObj) is not Object, throw a TypeError exception.
features: [cross-realm, Proxy]
--- |
798 |
return-not-object-throws-symbol.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
Throws a TypeError if trap result is not an Object: Symbol
info: |
[[Construct]] ( argumentsList, newTarget)
11. If Type(newObj) is not Object, throw a TypeError exception.
features: [Proxy, Symbol]
--- |
695 |
return-not-object-throws-undefined-realm.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
Throws a TypeError if trap result is not an Object: undefined
(honoring the Realm of the current execution context)
info: |
[[Construct]] (argumentsList, newTarget)
[...]
11. If Type(newObj) is not Object, throw a TypeError exception.
features: [cross-realm, Proxy]
--- |
777 |
return-not-object-throws-undefined.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
Throws a TypeError if trap result is not an Object: undefined
info: |
[[Construct]] ( argumentsList, newTarget)
11. If Type(newObj) is not Object, throw a TypeError exception.
features: [Proxy]
--- |
666 |
shell.js |
|
0 |
trap-is-missing-target-is-proxy.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
If "construct" trap is null or undefined, [[Construct]] call is
properly forwarded to [[ProxyTarget]] (which is also a Proxy object).
info: |
[[Construct]] ( argumentsList, newTarget )
[...]
4. Let target be O.[[ProxyTarget]].
5. Assert: IsConstructor(target) is true.
6. Let trap be ? GetMethod(handler, "construct").
7. If trap is undefined, then
a. Return ? Construct(target, argumentsList, newTarget).
features: [class, Proxy, Reflect, Reflect.construct]
includes: [compareArray.js]
--- |
1202 |
trap-is-not-callable-realm.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
Throws if trap is not callable (honoring the Realm of the current execution
context)
features: [cross-realm, Proxy]
--- |
557 |
trap-is-not-callable.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
Throws if trap is not callable.
features: [Proxy]
--- |
458 |
trap-is-null-target-is-proxy.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
If "construct" trap is null or undefined, [[Construct]] call is
properly forwarded to [[ProxyTarget]] (which is also a Proxy object).
info: |
[[Construct]] ( argumentsList, newTarget )
[...]
4. Let target be O.[[ProxyTarget]].
5. Assert: IsConstructor(target) is true.
6. Let trap be ? GetMethod(handler, "construct").
7. If trap is undefined, then
a. Return ? Construct(target, argumentsList, newTarget).
features: [class, Proxy, Reflect, Reflect.construct]
--- |
1189 |
trap-is-null.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
If the construct trap value is null, propagate the construct to the target object.
info: |
[[Construct]] (argumentsList, newTarget)
...
5. Let trap be ? GetMethod(handler, "construct").
6. If trap is undefined, then
a. Assert: target has a [[Construct]] internal method.
b. Return ? Construct(target, argumentsList, newTarget).
...
GetMethod ( V, P )
...
3. If func is either undefined or null, return undefined.
...
features: [Proxy, Reflect, Reflect.construct]
--- |
1483 |
trap-is-undefined-no-property.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
If the construct trap is not set, propagate the construct to the target object.
info: |
[[Construct]] (argumentsList, newTarget)
...
5. Let trap be ? GetMethod(handler, "construct").
6. If trap is undefined, then
a. Assert: target has a [[Construct]] internal method.
b. Return ? Construct(target, argumentsList, newTarget).
...
GetMethod ( V, P )
...
3. If func is either undefined or null, return undefined.
...
features: [Proxy, Reflect, Reflect.construct]
--- |
1468 |
trap-is-undefined-proto-from-cross-realm-newtarget.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
If trap is undefined, propagate [[Construct]] to target,
passing correct newTarget parameter
info: |
[[Construct]] ( argumentsList, newTarget )
[...]
7. If trap is undefined, then
b. Return ? Construct(target, argumentsList, newTarget).
Construct ( F [ , argumentsList [ , newTarget ] ] )
[...]
5. Return ? F.[[Construct]](argumentsList, newTarget).
[[Construct]] ( argumentsList, newTarget )
[...]
5. If kind is "base", then
a. Let thisArgument be ? OrdinaryCreateFromConstructor(newTarget, "%ObjectPrototype%").
OrdinaryCreateFromConstructor ( constructor, intrinsicDefaultProto [ , internalSlotsList ] )
[...]
2. Let proto be ? GetPrototypeFromConstructor(constructor, intrinsicDefaultProto).
3. Return ObjectCreate(proto, internalSlotsList).
GetPrototypeFromConstructor ( constructor, intrinsicDefaultProto )
[...]
3. Let proto be ? Get(constructor, "prototype").
[...]
5. Return proto.
features: [cross-realm, Proxy, Reflect, Reflect.construct]
--- |
1491 |
trap-is-undefined-proto-from-newtarget-realm.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
If trap is undefined, propagate [[Construct]] to target,
passing correct newTarget parameter
info: |
[[Construct]] ( argumentsList, newTarget )
[...]
7. If trap is undefined, then
b. Return ? Construct(target, argumentsList, newTarget).
Construct ( F [ , argumentsList [ , newTarget ] ] )
[...]
5. Return ? F.[[Construct]](argumentsList, newTarget).
[[Construct]] ( argumentsList, newTarget )
[...]
5. If kind is "base", then
a. Let thisArgument be ? OrdinaryCreateFromConstructor(newTarget, "%ObjectPrototype%").
OrdinaryCreateFromConstructor ( constructor, intrinsicDefaultProto [ , internalSlotsList ] )
[...]
2. Let proto be ? GetPrototypeFromConstructor(constructor, intrinsicDefaultProto).
3. Return ObjectCreate(proto, internalSlotsList).
GetPrototypeFromConstructor ( constructor, intrinsicDefaultProto )
[...]
3. Let proto be ? Get(constructor, "prototype").
4. If Type(proto) is not Object, then
a. Let realm be ? GetFunctionRealm(constructor).
b. Set proto to realm's intrinsic object named intrinsicDefaultProto.
5. Return proto.
GetFunctionRealm ( obj )
[...]
2. If obj has a [[Realm]] internal slot, then
a. Return obj.[[Realm]].
features: [cross-realm, Proxy, Reflect, Reflect.construct]
--- |
1795 |
trap-is-undefined-target-is-proxy.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
If "construct" trap is null or undefined, [[Construct]] call is
properly forwarded to [[ProxyTarget]] (which is also a Proxy object).
info: |
[[Construct]] ( argumentsList, newTarget )
[...]
4. Let target be O.[[ProxyTarget]].
5. Assert: IsConstructor(target) is true.
6. Let trap be ? GetMethod(handler, "construct").
7. If trap is undefined, then
a. Return ? Construct(target, argumentsList, newTarget).
features: [class, Proxy, Reflect, Reflect.construct]
--- |
1235 |
trap-is-undefined.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget
description: >
If the construct trap value is undefined, propagate the construct to the target object.
info: |
[[Construct]] (argumentsList, newTarget)
...
5. Let trap be ? GetMethod(handler, "construct").
6. If trap is undefined, then
a. Assert: target has a [[Construct]] internal method.
b. Return ? Construct(target, argumentsList, newTarget).
...
GetMethod ( V, P )
...
3. If func is either undefined or null, return undefined.
...
features: [Proxy, Reflect, Reflect.construct]
--- |
1510 |