1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 10:28:10 +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

@ -16,8 +16,6 @@ class ModuleNamespaceObject final : public Object {
JS_OBJECT(ModuleNamespaceObject, Object);
public:
ModuleNamespaceObject(Realm&, Module* module, Vector<FlyString> exports);
// 10.4.6 Module Namespace Exotic Objects, https://tc39.es/ecma262/#sec-module-namespace-exotic-objects
virtual ThrowCompletionOr<Object*> internal_get_prototype_of() const override;
@ -34,6 +32,8 @@ public:
virtual void initialize(Realm&) override;
private:
ModuleNamespaceObject(Realm&, Module* module, Vector<FlyString> exports);
// FIXME: UHHH how do we want to store this to avoid cycles but be safe??
Module* m_module; // [[Module]]
Vector<FlyString> m_exports; // [[Exports]]