1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-20 14:25:08 +00:00

LibJS: Interpreter::this_value() => this_value(GlobalObject&)

Once the Interpreter has no global object attached to it, we have to
provide it everywhere.
This commit is contained in:
Andreas Kling 2020-06-08 21:10:22 +02:00
parent 25f2a29d84
commit 053863f35e
25 changed files with 78 additions and 73 deletions

View file

@ -37,7 +37,7 @@ namespace JS {
static ScriptFunction* script_function_from(Interpreter& interpreter)
{
auto* this_object = interpreter.this_value().to_object(interpreter);
auto* this_object = interpreter.this_value(interpreter.global_object()).to_object(interpreter);
if (!this_object)
return nullptr;
if (!this_object->is_function()) {
@ -53,7 +53,7 @@ ScriptFunction* ScriptFunction::create(GlobalObject& global_object, const FlyStr
}
ScriptFunction::ScriptFunction(const FlyString& name, const Statement& body, Vector<FunctionNode::Parameter> parameters, i32 m_function_length, LexicalEnvironment* parent_environment, Object& prototype, bool is_arrow_function)
: Function(prototype, is_arrow_function ? interpreter().this_value() : Value(), {})
: Function(prototype, is_arrow_function ? interpreter().this_value(interpreter().global_object()) : Value(), {})
, m_name(name)
, m_body(body)
, m_parameters(move(parameters))