1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 01:07:35 +00:00

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. :^)
This commit is contained in:
Andreas Kling 2022-08-28 23:51:28 +02:00
parent d54ba587f3
commit 35c9aa7c05
196 changed files with 456 additions and 242 deletions

View file

@ -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*);