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

LibJS: Convert GeneratorObject::create() to NonnullGCPtr

This commit is contained in:
Linus Groh 2022-12-13 20:49:50 +00:00
parent d21ac9d820
commit 83de01043f
2 changed files with 3 additions and 3 deletions

View file

@ -14,7 +14,7 @@
namespace JS { namespace JS {
ThrowCompletionOr<GeneratorObject*> GeneratorObject::create(Realm& realm, Value initial_value, ECMAScriptFunctionObject* generating_function, ExecutionContext execution_context, Bytecode::RegisterWindow frame) ThrowCompletionOr<NonnullGCPtr<GeneratorObject>> GeneratorObject::create(Realm& realm, Value initial_value, ECMAScriptFunctionObject* generating_function, ExecutionContext execution_context, Bytecode::RegisterWindow frame)
{ {
auto& vm = realm.vm(); auto& vm = realm.vm();
// This is "g1.prototype" in figure-2 (https://tc39.es/ecma262/img/figure-2.png) // This is "g1.prototype" in figure-2 (https://tc39.es/ecma262/img/figure-2.png)
@ -32,7 +32,7 @@ ThrowCompletionOr<GeneratorObject*> GeneratorObject::create(Realm& realm, Value
object->m_generating_function = generating_function; object->m_generating_function = generating_function;
object->m_frame = move(frame); object->m_frame = move(frame);
object->m_previous_value = initial_value; object->m_previous_value = initial_value;
return object; return NonnullGCPtr { *object };
} }
GeneratorObject::GeneratorObject(Realm&, Object& prototype, ExecutionContext context) GeneratorObject::GeneratorObject(Realm&, Object& prototype, ExecutionContext context)

View file

@ -16,7 +16,7 @@ class GeneratorObject final : public Object {
JS_OBJECT(GeneratorObject, Object); JS_OBJECT(GeneratorObject, Object);
public: public:
static ThrowCompletionOr<GeneratorObject*> create(Realm&, Value, ECMAScriptFunctionObject*, ExecutionContext, Bytecode::RegisterWindow); static ThrowCompletionOr<NonnullGCPtr<GeneratorObject>> create(Realm&, Value, ECMAScriptFunctionObject*, ExecutionContext, Bytecode::RegisterWindow);
virtual void initialize(Realm&) override; virtual void initialize(Realm&) override;
virtual ~GeneratorObject() override = default; virtual ~GeneratorObject() override = default;
void visit_edges(Cell::Visitor&) override; void visit_edges(Cell::Visitor&) override;