/* * Copyright (c) 2021, Linus Groh * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include namespace JS::Test262 { class $262Object final : public Object { JS_OBJECT($262Object, Object); public: virtual ThrowCompletionOr initialize(Realm&) override; virtual ~$262Object() override = default; private: explicit $262Object(Realm&); virtual void visit_edges(Visitor&) override; GCPtr m_agent; GCPtr m_is_htmldda; JS_DECLARE_NATIVE_FUNCTION(clear_kept_objects); JS_DECLARE_NATIVE_FUNCTION(create_realm); JS_DECLARE_NATIVE_FUNCTION(detach_array_buffer); JS_DECLARE_NATIVE_FUNCTION(eval_script); }; }