Serenity Operating System
at master 33 lines 813 B view raw
1/* 2 * Copyright (c) 2020, Linus Groh <linusg@serenityos.org> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#pragma once 8 9#include <LibJS/Runtime/NativeFunction.h> 10 11namespace JS { 12 13class ArrayBufferConstructor final : public NativeFunction { 14 JS_OBJECT(ArrayBufferConstructor, NativeFunction); 15 16public: 17 virtual ThrowCompletionOr<void> initialize(Realm&) override; 18 virtual ~ArrayBufferConstructor() override = default; 19 20 virtual ThrowCompletionOr<Value> call() override; 21 virtual ThrowCompletionOr<NonnullGCPtr<Object>> construct(FunctionObject& new_target) override; 22 23private: 24 explicit ArrayBufferConstructor(Realm&); 25 26 virtual bool has_constructor() const override { return true; } 27 28 JS_DECLARE_NATIVE_FUNCTION(is_view); 29 30 JS_DECLARE_NATIVE_FUNCTION(symbol_species_getter); 31}; 32 33}