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

LibJS: Make Environment::put_into_environment() return a success bool

This code is non-conforming and will eventually get cleaned out once
we implement proper variable bindings. However, this will aid us in
improving other parts of the code right now.
This commit is contained in:
Andreas Kling 2021-07-02 00:14:38 +02:00
parent 57db058652
commit 80170887db
7 changed files with 10 additions and 9 deletions

View file

@ -47,9 +47,10 @@ Optional<Variable> DeclarativeEnvironment::get_from_environment(FlyString const&
return m_variables.get(name);
}
void DeclarativeEnvironment::put_into_environment(FlyString const& name, Variable variable)
bool DeclarativeEnvironment::put_into_environment(FlyString const& name, Variable variable)
{
m_variables.set(name, variable);
return true;
}
bool DeclarativeEnvironment::delete_from_environment(FlyString const& name)

View file

@ -24,7 +24,7 @@ public:
// ^Environment
virtual Optional<Variable> get_from_environment(FlyString const&) const override;
virtual void put_into_environment(FlyString const&, Variable) override;
virtual bool put_into_environment(FlyString const&, Variable) override;
virtual bool delete_from_environment(FlyString const&) override;
HashMap<FlyString, Variable> const& variables() const { return m_variables; }

View file

@ -28,7 +28,7 @@ public:
virtual void initialize(GlobalObject&) override;
virtual Optional<Variable> get_from_environment(FlyString const&) const = 0;
virtual void put_into_environment(FlyString const&, Variable) = 0;
virtual bool put_into_environment(FlyString const&, Variable) = 0;
virtual bool delete_from_environment(FlyString const&) = 0;
virtual bool has_this_binding() const { return false; }

View file

@ -32,10 +32,10 @@ Optional<Variable> GlobalEnvironment::get_from_environment(FlyString const& name
return m_object_record->get_from_environment(name);
}
void GlobalEnvironment::put_into_environment(FlyString const& name, Variable variable)
bool GlobalEnvironment::put_into_environment(FlyString const& name, Variable variable)
{
// FIXME: This should be a "composite" of the object record and the declarative record.
m_object_record->put_into_environment(name, variable);
return m_object_record->put_into_environment(name, variable);
}
bool GlobalEnvironment::delete_from_environment(FlyString const& name)

View file

@ -17,7 +17,7 @@ public:
explicit GlobalEnvironment(GlobalObject&);
virtual Optional<Variable> get_from_environment(FlyString const&) const override;
virtual void put_into_environment(FlyString const&, Variable) override;
virtual bool put_into_environment(FlyString const&, Variable) override;
virtual bool delete_from_environment(FlyString const&) override;
virtual bool has_this_binding() const final { return true; }
virtual Value get_this_binding(GlobalObject&) const final;

View file

@ -31,9 +31,9 @@ Optional<Variable> ObjectEnvironment::get_from_environment(FlyString const& name
return Variable { value, DeclarationKind::Var };
}
void ObjectEnvironment::put_into_environment(FlyString const& name, Variable variable)
bool ObjectEnvironment::put_into_environment(FlyString const& name, Variable variable)
{
m_binding_object.put(name, variable.value);
return m_binding_object.put(name, variable.value);
}
bool ObjectEnvironment::delete_from_environment(FlyString const& name)

View file

@ -21,7 +21,7 @@ public:
ObjectEnvironment(Object& binding_object, IsWithEnvironment, Environment* outer_environment);
virtual Optional<Variable> get_from_environment(FlyString const&) const override;
virtual void put_into_environment(FlyString const&, Variable) override;
virtual bool put_into_environment(FlyString const&, Variable) override;
virtual bool delete_from_environment(FlyString const&) override;
virtual bool has_binding(FlyString const& name) const override;