瀏覽代碼

LibJS: Make Interpreter::construct() take a GlobalObject&

Andreas Kling 5 年之前
父節點
當前提交
3ba17d8df7
共有 3 個文件被更改,包括 4 次插入4 次删除
  1. 2 2
      Libraries/LibJS/Interpreter.cpp
  2. 1 1
      Libraries/LibJS/Interpreter.h
  3. 1 1
      Libraries/LibJS/Runtime/ReflectObject.cpp

+ 2 - 2
Libraries/LibJS/Interpreter.cpp

@@ -231,7 +231,7 @@ Value Interpreter::call(Function& function, Value this_value, Optional<MarkedVal
     return result;
 }
 
-Value Interpreter::construct(Function& function, Function& new_target, Optional<MarkedValueList> arguments)
+Value Interpreter::construct(Function& function, Function& new_target, Optional<MarkedValueList> arguments, GlobalObject& global_object)
 {
     auto& call_frame = push_call_frame();
     call_frame.function_name = function.name();
@@ -239,7 +239,7 @@ Value Interpreter::construct(Function& function, Function& new_target, Optional<
         call_frame.arguments = arguments.value().values();
     call_frame.environment = function.create_environment();
 
-    auto* new_object = Object::create_empty(*this, global_object());
+    auto* new_object = Object::create_empty(*this, global_object);
     auto prototype = new_target.get("prototype");
     if (exception())
         return {};

+ 1 - 1
Libraries/LibJS/Interpreter.h

@@ -117,7 +117,7 @@ public:
     void exit_scope(const ScopeNode&);
 
     Value call(Function&, Value this_value, Optional<MarkedValueList> arguments = {});
-    Value construct(Function&, Function& new_target, Optional<MarkedValueList> arguments = {});
+    Value construct(Function&, Function& new_target, Optional<MarkedValueList> arguments, GlobalObject&);
 
     CallFrame& push_call_frame()
     {

+ 1 - 1
Libraries/LibJS/Runtime/ReflectObject.cpp

@@ -135,7 +135,7 @@ JS_DEFINE_NATIVE_FUNCTION(ReflectObject::construct)
         }
         new_target = &new_target_value.as_function();
     }
-    return interpreter.construct(*target, *new_target, move(arguments));
+    return interpreter.construct(*target, *new_target, move(arguments), global_object);
 }
 
 JS_DEFINE_NATIVE_FUNCTION(ReflectObject::define_property)