Jelajahi Sumber

LibJS: Move ConsoleObject construction from GlobalObject to Intrinsics

This will allow us to move the underlying console from GlobalObject to
ConsoleObject without still having to do a 'console' property lookup on
the GlobalObject.
Linus Groh 2 tahun lalu
induk
melakukan
78eca3ae64

+ 2 - 0
Userland/Libraries/LibJS/Forward.h

@@ -95,6 +95,7 @@
 
 #define JS_ENUMERATE_BUILTIN_NAMESPACE_OBJECTS \
     __JS_ENUMERATE(AtomicsObject, atomics)     \
+    __JS_ENUMERATE(ConsoleObject, console)     \
     __JS_ENUMERATE(Intl::Intl, intl)           \
     __JS_ENUMERATE(JSONObject, json)           \
     __JS_ENUMERATE(MathObject, math)           \
@@ -216,6 +217,7 @@ class TypedArrayConstructor;
 class TypedArrayPrototype;
 
 class AtomicsObject;
+class ConsoleObject;
 class JSONObject;
 class MathObject;
 class ReflectObject;

+ 1 - 1
Userland/Libraries/LibJS/Runtime/GlobalObject.cpp

@@ -172,7 +172,7 @@ void GlobalObject::initialize_global_object(Realm& realm)
 
     // Non-standard
     define_direct_property(vm.names.InternalError, realm.intrinsics().internal_error_constructor(), attr);
-    define_direct_property(vm.names.console, heap().allocate<ConsoleObject>(realm, realm), attr);
+    define_direct_property(vm.names.console, realm.intrinsics().console_object(), attr);
     define_native_function(realm, vm.names.gc, gc, 0, attr);
 
     // Assign intrinsics and functions that depend on the GlobalObject's native functions

+ 1 - 0
Userland/Libraries/LibJS/Runtime/Intrinsics.cpp

@@ -23,6 +23,7 @@
 #include <LibJS/Runtime/BigIntPrototype.h>
 #include <LibJS/Runtime/BooleanConstructor.h>
 #include <LibJS/Runtime/BooleanPrototype.h>
+#include <LibJS/Runtime/ConsoleObject.h>
 #include <LibJS/Runtime/DataViewConstructor.h>
 #include <LibJS/Runtime/DataViewPrototype.h>
 #include <LibJS/Runtime/DateConstructor.h>