LibJS: Convert SymbolObject::create() to NonnullGCPtr
This commit is contained in:
parent
049e99b5f0
commit
dd3d133968
Notes:
sideshowbarker
2024-07-17 03:16:33 +09:00
Author: https://github.com/linusg Commit: https://github.com/SerenityOS/serenity/commit/dd3d133968 Pull-request: https://github.com/SerenityOS/serenity/pull/16479 Reviewed-by: https://github.com/davidot ✅
3 changed files with 4 additions and 4 deletions
|
@ -10,9 +10,9 @@
|
||||||
|
|
||||||
namespace JS {
|
namespace JS {
|
||||||
|
|
||||||
SymbolObject* SymbolObject::create(Realm& realm, Symbol& primitive_symbol)
|
NonnullGCPtr<SymbolObject> SymbolObject::create(Realm& realm, Symbol& primitive_symbol)
|
||||||
{
|
{
|
||||||
return realm.heap().allocate<SymbolObject>(realm, primitive_symbol, *realm.intrinsics().symbol_prototype());
|
return *realm.heap().allocate<SymbolObject>(realm, primitive_symbol, *realm.intrinsics().symbol_prototype());
|
||||||
}
|
}
|
||||||
|
|
||||||
SymbolObject::SymbolObject(Symbol& symbol, Object& prototype)
|
SymbolObject::SymbolObject(Symbol& symbol, Object& prototype)
|
||||||
|
|
|
@ -15,7 +15,7 @@ class SymbolObject : public Object {
|
||||||
JS_OBJECT(SymbolObject, Object);
|
JS_OBJECT(SymbolObject, Object);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static SymbolObject* create(Realm&, Symbol&);
|
static NonnullGCPtr<SymbolObject> create(Realm&, Symbol&);
|
||||||
|
|
||||||
virtual ~SymbolObject() override = default;
|
virtual ~SymbolObject() override = default;
|
||||||
|
|
||||||
|
|
|
@ -544,7 +544,7 @@ ThrowCompletionOr<Object*> Value::to_object(VM& vm) const
|
||||||
// Symbol
|
// Symbol
|
||||||
case SYMBOL_TAG:
|
case SYMBOL_TAG:
|
||||||
// Return a new Symbol object whose [[SymbolData]] internal slot is set to argument. See 20.4 for a description of Symbol objects.
|
// Return a new Symbol object whose [[SymbolData]] internal slot is set to argument. See 20.4 for a description of Symbol objects.
|
||||||
return SymbolObject::create(realm, const_cast<JS::Symbol&>(as_symbol()));
|
return SymbolObject::create(realm, const_cast<JS::Symbol&>(as_symbol())).ptr();
|
||||||
// BigInt
|
// BigInt
|
||||||
case BIGINT_TAG:
|
case BIGINT_TAG:
|
||||||
// Return a new BigInt object whose [[BigIntData]] internal slot is set to argument. See 21.2 for a description of BigInt objects.
|
// Return a new BigInt object whose [[BigIntData]] internal slot is set to argument. See 21.2 for a description of BigInt objects.
|
||||||
|
|
Loading…
Add table
Reference in a new issue