1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 00:27:43 +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

@ -19,9 +19,6 @@ class PrimitiveString final : public Cell {
JS_CELL(PrimitiveString, Cell);
public:
explicit PrimitiveString(PrimitiveString&, PrimitiveString&);
explicit PrimitiveString(String);
explicit PrimitiveString(Utf16String);
virtual ~PrimitiveString();
PrimitiveString(PrimitiveString const&) = delete;
@ -39,6 +36,10 @@ public:
Optional<Value> get(VM&, PropertyKey const&) const;
private:
explicit PrimitiveString(PrimitiveString&, PrimitiveString&);
explicit PrimitiveString(String);
explicit PrimitiveString(Utf16String);
virtual void visit_edges(Cell::Visitor&) override;
void resolve_rope_if_needed() const;