summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibJS/Runtime/Object.h
diff options
context:
space:
mode:
authorAndreas Kling <kling@serenityos.org>2022-08-28 23:51:28 +0200
committerAndreas Kling <kling@serenityos.org>2022-08-29 03:24:54 +0200
commit35c9aa7c05c7d2b012e86cc72945ade3440ab0bf (patch)
tree3ffb3539258c90fadd70f77fb0f189bd2be03165 /Userland/Libraries/LibJS/Runtime/Object.h
parentd54ba587f3d4c33b7bbe1a6c7bdc5da124a566c5 (diff)
downloadserenity-35c9aa7c05c7d2b012e86cc72945ade3440ab0bf.zip
LibJS: Hide all the constructors!
Now that the GC allocator is able to invoke Cell subclass constructors directly via friendship, we no longer need to keep them public. :^)
Diffstat (limited to 'Userland/Libraries/LibJS/Runtime/Object.h')
-rw-r--r--Userland/Libraries/LibJS/Runtime/Object.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/Userland/Libraries/LibJS/Runtime/Object.h b/Userland/Libraries/LibJS/Runtime/Object.h
index a2a1ebec7a..6498ca841a 100644
--- a/Userland/Libraries/LibJS/Runtime/Object.h
+++ b/Userland/Libraries/LibJS/Runtime/Object.h
@@ -45,9 +45,6 @@ class Object : public Cell {
public:
static Object* create(Realm&, Object* prototype);
- Object(Realm&, Object* prototype);
- explicit Object(Object& prototype);
- explicit Object(Shape&);
virtual void initialize(Realm&) override;
virtual ~Object() = default;
@@ -189,8 +186,12 @@ public:
protected:
enum class GlobalObjectTag { Tag };
enum class ConstructWithoutPrototypeTag { Tag };
+
Object(GlobalObjectTag, Realm&);
Object(ConstructWithoutPrototypeTag, Realm&);
+ Object(Realm&, Object* prototype);
+ explicit Object(Object& prototype);
+ explicit Object(Shape&);
void set_prototype(Object*);