1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 14:17:36 +00:00

LibJS: Pass prototype to StringObject constructor

This commit is contained in:
Andreas Kling 2020-04-17 19:01:31 +02:00
parent cf702a13b9
commit 298c606200
5 changed files with 23 additions and 12 deletions

View file

@ -32,21 +32,24 @@ namespace JS {
class StringObject : public Object {
public:
explicit StringObject(PrimitiveString*);
static StringObject* create(GlobalObject&, PrimitiveString&);
StringObject(PrimitiveString&, Object& prototype);
virtual ~StringObject() override;
virtual void visit_children(Visitor&) override;
const PrimitiveString* primitive_string() const { return m_string; }
// FIXME: Return const PrimitiveString&
const PrimitiveString* primitive_string() const { return &m_string; }
virtual Value value_of() const override
{
return Value(m_string);
return Value(&m_string);
}
private:
virtual void visit_children(Visitor&) override;
virtual const char* class_name() const override { return "StringObject"; }
virtual bool is_string_object() const override { return true; }
PrimitiveString* m_string { nullptr };
PrimitiveString& m_string;
};
}