/* * Copyright (c) 2021, Idan Horowitz * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include namespace JS { class WeakMapPrototype final : public PrototypeObject { JS_PROTOTYPE_OBJECT(WeakMapPrototype, WeakMap, WeakMap); GC_DECLARE_ALLOCATOR(WeakMapPrototype); public: virtual void initialize(Realm&) override; virtual ~WeakMapPrototype() override = default; private: explicit WeakMapPrototype(Realm&); JS_DECLARE_NATIVE_FUNCTION(delete_); JS_DECLARE_NATIVE_FUNCTION(get); JS_DECLARE_NATIVE_FUNCTION(has); JS_DECLARE_NATIVE_FUNCTION(set); }; }