LibWeb: Convert WebAssemblyInstancePrototype funcs to ThrowCompletionOr

This commit is contained in:
Idan Horowitz 2021-10-31 16:56:21 +02:00
parent a8d39bc070
commit c7c914800c
Notes: sideshowbarker 2024-07-18 01:41:07 +09:00
2 changed files with 6 additions and 8 deletions

View file

@ -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;
}

View file

@ -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;
};