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 {
|
||||
|
||||
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)
|
||||
|
|
|
@ -15,7 +15,7 @@ class SymbolObject : public Object {
|
|||
JS_OBJECT(SymbolObject, Object);
|
||||
|
||||
public:
|
||||
static SymbolObject* create(Realm&, Symbol&);
|
||||
static NonnullGCPtr<SymbolObject> create(Realm&, Symbol&);
|
||||
|
||||
virtual ~SymbolObject() override = default;
|
||||
|
||||
|
|
|
@ -544,7 +544,7 @@ ThrowCompletionOr<Object*> Value::to_object(VM& vm) const
|
|||
// Symbol
|
||||
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 SymbolObject::create(realm, const_cast<JS::Symbol&>(as_symbol()));
|
||||
return SymbolObject::create(realm, const_cast<JS::Symbol&>(as_symbol())).ptr();
|
||||
// BigInt
|
||||
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.
|
||||
|
|
Loading…
Add table
Reference in a new issue