/* * Copyright (c) 2023, Shannon Booth * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include namespace JS { class SharedArrayBufferPrototype final : public PrototypeObject { JS_PROTOTYPE_OBJECT(SharedArrayBufferPrototype, ArrayBuffer, SharedArrayBuffer); GC_DECLARE_ALLOCATOR(SharedArrayBufferPrototype); public: virtual void initialize(Realm&) override; virtual ~SharedArrayBufferPrototype() override = default; private: explicit SharedArrayBufferPrototype(Realm&); JS_DECLARE_NATIVE_FUNCTION(byte_length_getter); JS_DECLARE_NATIVE_FUNCTION(slice); }; }