mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 02:48:11 +00:00
LibJS: Remove some more use of Interpreter::global_object()
Let's do some more work towards supporting multiple global objects.
This commit is contained in:
parent
ed0740d73c
commit
4aa98052ca
2 changed files with 8 additions and 8 deletions
|
@ -103,7 +103,7 @@ CallExpression::ThisAndCallee CallExpression::compute_this_and_callee(Interprete
|
||||||
auto callee = this_value->get(member_expression.computed_property_name(interpreter, global_object)).value_or(js_undefined());
|
auto callee = this_value->get(member_expression.computed_property_name(interpreter, global_object)).value_or(js_undefined());
|
||||||
return { this_value, callee };
|
return { this_value, callee };
|
||||||
}
|
}
|
||||||
return { &interpreter.global_object(), m_callee->execute(interpreter, global_object) };
|
return { &global_object, m_callee->execute(interpreter, global_object) };
|
||||||
}
|
}
|
||||||
|
|
||||||
Value CallExpression::execute(Interpreter& interpreter, GlobalObject& global_object) const
|
Value CallExpression::execute(Interpreter& interpreter, GlobalObject& global_object) const
|
||||||
|
@ -171,7 +171,7 @@ Value CallExpression::execute(Interpreter& interpreter, GlobalObject& global_obj
|
||||||
Object* new_object = nullptr;
|
Object* new_object = nullptr;
|
||||||
Value result;
|
Value result;
|
||||||
if (is_new_expression()) {
|
if (is_new_expression()) {
|
||||||
new_object = Object::create_empty(interpreter, interpreter.global_object());
|
new_object = Object::create_empty(interpreter, global_object);
|
||||||
auto prototype = function.get("prototype");
|
auto prototype = function.get("prototype");
|
||||||
if (interpreter.exception())
|
if (interpreter.exception())
|
||||||
return {};
|
return {};
|
||||||
|
@ -586,7 +586,7 @@ Value UnaryExpression::execute(Interpreter& interpreter, GlobalObject& global_ob
|
||||||
// FIXME: Support deleting locals
|
// FIXME: Support deleting locals
|
||||||
ASSERT(!reference.is_local_variable());
|
ASSERT(!reference.is_local_variable());
|
||||||
if (reference.is_global_variable())
|
if (reference.is_global_variable())
|
||||||
return interpreter.global_object().delete_property(reference.name());
|
return global_object.delete_property(reference.name());
|
||||||
auto* base_object = reference.base().to_object(interpreter);
|
auto* base_object = reference.base().to_object(interpreter);
|
||||||
if (!base_object)
|
if (!base_object)
|
||||||
return {};
|
return {};
|
||||||
|
@ -1492,7 +1492,7 @@ void ArrayExpression::dump(int indent) const
|
||||||
|
|
||||||
Value ArrayExpression::execute(Interpreter& interpreter, GlobalObject& global_object) const
|
Value ArrayExpression::execute(Interpreter& interpreter, GlobalObject& global_object) const
|
||||||
{
|
{
|
||||||
auto* array = Array::create(interpreter.global_object());
|
auto* array = Array::create(global_object);
|
||||||
for (auto& element : m_elements) {
|
for (auto& element : m_elements) {
|
||||||
auto value = Value();
|
auto value = Value();
|
||||||
if (element) {
|
if (element) {
|
||||||
|
@ -1578,7 +1578,7 @@ Value TaggedTemplateLiteral::execute(Interpreter& interpreter, GlobalObject& glo
|
||||||
}
|
}
|
||||||
auto& tag_function = tag.as_function();
|
auto& tag_function = tag.as_function();
|
||||||
auto& expressions = m_template_literal->expressions();
|
auto& expressions = m_template_literal->expressions();
|
||||||
auto* strings = Array::create(interpreter.global_object());
|
auto* strings = Array::create(global_object);
|
||||||
MarkedValueList arguments(interpreter.heap());
|
MarkedValueList arguments(interpreter.heap());
|
||||||
arguments.append(strings);
|
arguments.append(strings);
|
||||||
for (size_t i = 0; i < expressions.size(); ++i) {
|
for (size_t i = 0; i < expressions.size(); ++i) {
|
||||||
|
|
|
@ -54,7 +54,7 @@ ArrayConstructor::~ArrayConstructor()
|
||||||
Value ArrayConstructor::call(Interpreter& interpreter)
|
Value ArrayConstructor::call(Interpreter& interpreter)
|
||||||
{
|
{
|
||||||
if (interpreter.argument_count() <= 0)
|
if (interpreter.argument_count() <= 0)
|
||||||
return Array::create(interpreter.global_object());
|
return Array::create(global_object());
|
||||||
|
|
||||||
if (interpreter.argument_count() == 1 && interpreter.argument(0).is_number()) {
|
if (interpreter.argument_count() == 1 && interpreter.argument(0).is_number()) {
|
||||||
auto array_length_value = interpreter.argument(0);
|
auto array_length_value = interpreter.argument(0);
|
||||||
|
@ -62,12 +62,12 @@ Value ArrayConstructor::call(Interpreter& interpreter)
|
||||||
interpreter.throw_exception<TypeError>(ErrorType::ArrayInvalidLength);
|
interpreter.throw_exception<TypeError>(ErrorType::ArrayInvalidLength);
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
auto* array = Array::create(interpreter.global_object());
|
auto* array = Array::create(global_object());
|
||||||
array->indexed_properties().set_array_like_size(array_length_value.as_i32());
|
array->indexed_properties().set_array_like_size(array_length_value.as_i32());
|
||||||
return array;
|
return array;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto* array = Array::create(interpreter.global_object());
|
auto* array = Array::create(global_object());
|
||||||
for (size_t i = 0; i < interpreter.argument_count(); ++i)
|
for (size_t i = 0; i < interpreter.argument_count(); ++i)
|
||||||
array->indexed_properties().append(interpreter.argument(i));
|
array->indexed_properties().append(interpreter.argument(i));
|
||||||
return array;
|
return array;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue