mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 10:48:11 +00:00
LibJS: Explicitly pass a "Function& new_target" to Function::construct
This allows the proxy handler to pass the proper new.target to construct handlers.
This commit is contained in:
parent
19411e22d0
commit
bda39ef7ab
38 changed files with 63 additions and 50 deletions
|
@ -49,10 +49,10 @@ ErrorConstructor::~ErrorConstructor()
|
|||
|
||||
Value ErrorConstructor::call(Interpreter& interpreter)
|
||||
{
|
||||
return construct(interpreter);
|
||||
return construct(interpreter, *this);
|
||||
}
|
||||
|
||||
Value ErrorConstructor::construct(Interpreter& interpreter)
|
||||
Value ErrorConstructor::construct(Interpreter& interpreter, Function&)
|
||||
{
|
||||
String message = "";
|
||||
if (!interpreter.call_frame().arguments.is_empty() && !interpreter.call_frame().arguments[0].is_undefined()) {
|
||||
|
@ -77,9 +77,9 @@ Value ErrorConstructor::construct(Interpreter& interpreter)
|
|||
ConstructorName::~ConstructorName() { } \
|
||||
Value ConstructorName::call(Interpreter& interpreter) \
|
||||
{ \
|
||||
return construct(interpreter); \
|
||||
return construct(interpreter, *this); \
|
||||
} \
|
||||
Value ConstructorName::construct(Interpreter& interpreter) \
|
||||
Value ConstructorName::construct(Interpreter& interpreter, Function&) \
|
||||
{ \
|
||||
String message = ""; \
|
||||
if (!interpreter.call_frame().arguments.is_empty() && !interpreter.call_frame().arguments[0].is_undefined()) { \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue