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

LibJS: Change PropertyName(Symbol*) => PropertyName(Symbol&)

Requires a bunch of find-and-replace updates across LibJS, but
constructing a PropertyName from a nullptr Symbol* should not be
possible - let's enforce this at the compiler level instead of using
VERIFY() (and already dereference Symbol pointers at the call site).
This commit is contained in:
Linus Groh 2021-06-25 18:37:14 +01:00
parent 3d5340d033
commit f4867572b7
40 changed files with 59 additions and 57 deletions

View file

@ -30,7 +30,7 @@ public:
if (value.is_empty())
return {};
if (value.is_symbol())
return &value.as_symbol();
return value.as_symbol();
if (value.is_integral_number() && value.as_i32() >= 0)
return value.as_i32();
auto string = value.to_string(global_object);
@ -69,11 +69,10 @@ public:
VERIFY(!string.is_null());
}
PropertyName(Symbol* symbol)
PropertyName(Symbol& symbol)
: m_type(Type::Symbol)
, m_symbol(symbol)
, m_symbol(&symbol)
{
VERIFY(symbol);
}
PropertyName(StringOrSymbol const& string_or_symbol)