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

@ -29,9 +29,6 @@ class DeclarativeEnvironment : public Environment {
public:
static DeclarativeEnvironment* create_for_per_iteration_bindings(Badge<ForStatement>, DeclarativeEnvironment& other, size_t bindings_size);
DeclarativeEnvironment();
explicit DeclarativeEnvironment(Environment* parent_environment);
explicit DeclarativeEnvironment(Environment* parent_environment, Span<Binding const> bindings);
virtual ~DeclarativeEnvironment() override = default;
virtual ThrowCompletionOr<bool> has_binding(FlyString const& name, Optional<size_t>* = nullptr) const override;
@ -62,6 +59,10 @@ public:
ThrowCompletionOr<void> set_mutable_binding_direct(VM&, size_t index, Value, bool strict);
protected:
DeclarativeEnvironment();
explicit DeclarativeEnvironment(Environment* parent_environment);
DeclarativeEnvironment(Environment* parent_environment, Span<Binding const> bindings);
virtual void visit_edges(Visitor&) override;
private: