Sfoglia il codice sorgente

LibWeb: Convert WebAssemblyInstancePrototype funcs to ThrowCompletionOr

Idan Horowitz 3 anni fa
parent
commit
c7c914800c

+ 5 - 7
Userland/Libraries/LibWeb/WebAssembly/WebAssemblyInstanceObjectPrototype.cpp

@@ -13,17 +13,15 @@ namespace Web::Bindings {
 void WebAssemblyInstancePrototype::initialize(JS::GlobalObject& global_object)
 {
     Object::initialize(global_object);
-    define_old_native_accessor("exports", exports_getter, {}, JS::Attribute::Enumerable | JS::Attribute::Configurable);
+    define_native_accessor("exports", exports_getter, {}, JS::Attribute::Enumerable | JS::Attribute::Configurable);
 }
 
-JS_DEFINE_OLD_NATIVE_FUNCTION(WebAssemblyInstancePrototype::exports_getter)
+JS_DEFINE_NATIVE_FUNCTION(WebAssemblyInstancePrototype::exports_getter)
 {
     auto this_value = vm.this_value(global_object);
-    auto* this_object = TRY_OR_DISCARD(this_value.to_object(global_object));
-    if (!is<WebAssemblyInstanceObject>(this_object)) {
-        vm.throw_exception<JS::TypeError>(global_object, JS::ErrorType::NotAnObjectOfType, "WebAssembly.Instance");
-        return {};
-    }
+    auto* this_object = TRY(this_value.to_object(global_object));
+    if (!is<WebAssemblyInstanceObject>(this_object))
+        return vm.throw_completion<JS::TypeError>(global_object, JS::ErrorType::NotAnObjectOfType, "WebAssembly.Instance");
     auto object = static_cast<WebAssemblyInstanceObject*>(this_object);
     return object->m_exports_object;
 }

+ 1 - 1
Userland/Libraries/LibWeb/WebAssembly/WebAssemblyInstanceObjectPrototype.h

@@ -25,7 +25,7 @@ public:
     virtual void initialize(JS::GlobalObject&) override;
 
 private:
-    JS_DECLARE_OLD_NATIVE_FUNCTION(exports_getter);
+    JS_DECLARE_NATIVE_FUNCTION(exports_getter);
     static JS::Handle<WebAssemblyInstancePrototype> s_instance;
 };