diff options
author | Linus Groh <mail@linusgroh.de> | 2022-12-13 20:49:50 +0000 |
---|---|---|
committer | Linus Groh <mail@linusgroh.de> | 2022-12-14 09:59:45 +0000 |
commit | b42e293ddda5810578b5e1f3f5d3eb2ef0a1864c (patch) | |
tree | 2fc5ef0a00cbfaa0efee58e05f5c1e24b26c1ac9 /Userland/Libraries/LibJS/Runtime/NativeFunction.cpp | |
parent | 9846d23c79f97d7a14a9ebc38483de1414941693 (diff) | |
download | serenity-b42e293ddda5810578b5e1f3f5d3eb2ef0a1864c.zip |
LibJS: Convert NativeFunction::create() to NonnullGCPtr
Diffstat (limited to 'Userland/Libraries/LibJS/Runtime/NativeFunction.cpp')
-rw-r--r-- | Userland/Libraries/LibJS/Runtime/NativeFunction.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Userland/Libraries/LibJS/Runtime/NativeFunction.cpp b/Userland/Libraries/LibJS/Runtime/NativeFunction.cpp index ddc0bed9b9..8a50e3ad3c 100644 --- a/Userland/Libraries/LibJS/Runtime/NativeFunction.cpp +++ b/Userland/Libraries/LibJS/Runtime/NativeFunction.cpp @@ -16,7 +16,7 @@ namespace JS { // 10.3.3 CreateBuiltinFunction ( behaviour, length, name, additionalInternalSlotsList [ , realm [ , prototype [ , prefix ] ] ] ), https://tc39.es/ecma262/#sec-createbuiltinfunction // NOTE: This doesn't consider additionalInternalSlotsList, which is rarely used, and can either be implemented using only the `function` lambda, or needs a NativeFunction subclass. -NativeFunction* NativeFunction::create(Realm& allocating_realm, SafeFunction<ThrowCompletionOr<Value>(VM&)> behaviour, i32 length, PropertyKey const& name, Optional<Realm*> realm, Optional<Object*> prototype, Optional<StringView> const& prefix) +NonnullGCPtr<NativeFunction> NativeFunction::create(Realm& allocating_realm, SafeFunction<ThrowCompletionOr<Value>(VM&)> behaviour, i32 length, PropertyKey const& name, Optional<Realm*> realm, Optional<Object*> prototype, Optional<StringView> const& prefix) { auto& vm = allocating_realm.vm(); @@ -48,12 +48,12 @@ NativeFunction* NativeFunction::create(Realm& allocating_realm, SafeFunction<Thr function->set_function_name(name, prefix); // 13. Return func. - return function; + return *function; } -NativeFunction* NativeFunction::create(Realm& realm, FlyString const& name, SafeFunction<ThrowCompletionOr<Value>(VM&)> function) +NonnullGCPtr<NativeFunction> NativeFunction::create(Realm& realm, FlyString const& name, SafeFunction<ThrowCompletionOr<Value>(VM&)> function) { - return realm.heap().allocate<NativeFunction>(realm, name, move(function), *realm.intrinsics().function_prototype()); + return *realm.heap().allocate<NativeFunction>(realm, name, move(function), *realm.intrinsics().function_prototype()); } NativeFunction::NativeFunction(SafeFunction<ThrowCompletionOr<Value>(VM&)> native_function, Object* prototype, Realm& realm) |