LibJS: Clarify Object (base class) construction somewhat

Divide the Object constructor into three variants:

- The regular one (takes an Object& prototype)
- One for use by GlobalObject
- One for use by objects without a prototype (e.g ObjectPrototype)
This commit is contained in:
Andreas Kling 2020-06-23 17:21:53 +02:00
commit ba641e97d9
Notes: sideshowbarker 2024-07-19 05:25:37 +09:00
33 changed files with 57 additions and 45 deletions

View file

@ -29,8 +29,8 @@
namespace JS {
NativeProperty::NativeProperty(AK::Function<Value(Interpreter&, GlobalObject&)> getter, AK::Function<void(Interpreter&, GlobalObject&, Value)> setter)
: Object(nullptr)
NativeProperty::NativeProperty(GlobalObject& global_object, AK::Function<Value(Interpreter&, GlobalObject&)> getter, AK::Function<void(Interpreter&, GlobalObject&, Value)> setter)
: Object(Object::ConstructWithoutPrototypeTag::Tag, global_object)
, m_getter(move(getter))
, m_setter(move(setter))
{