1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 03:17:34 +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,10 +19,12 @@ namespace JS {
class Map : public Object {
JS_OBJECT(Map, Object);
// NOTE: This awkwardness is due to Set using a Map internally.
friend class Set;
public:
static Map* create(Realm&);
explicit Map(Object& prototype);
virtual ~Map() override = default;
void map_clear();
@ -106,6 +108,7 @@ public:
EndIterator end() const { return {}; }
private:
explicit Map(Object& prototype);
virtual void visit_edges(Visitor& visitor) override;
size_t m_next_insertion_id { 0 };