262Object.h 895 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. /*
  2. * Copyright (c) 2021, Linus Groh <linusg@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <LibJS/Contrib/Test262/AgentObject.h>
  8. #include <LibJS/Contrib/Test262/IsHTMLDDA.h>
  9. #include <LibJS/Runtime/GlobalObject.h>
  10. #include <LibJS/Runtime/Object.h>
  11. namespace JS::Test262 {
  12. class $262Object final : public Object {
  13. JS_OBJECT($262Object, Object);
  14. JS_DECLARE_ALLOCATOR($262Object);
  15. public:
  16. virtual void initialize(Realm&) override;
  17. virtual ~$262Object() override = default;
  18. private:
  19. explicit $262Object(Realm&);
  20. virtual void visit_edges(Visitor&) override;
  21. GCPtr<AgentObject> m_agent;
  22. GCPtr<IsHTMLDDA> m_is_htmldda;
  23. JS_DECLARE_NATIVE_FUNCTION(clear_kept_objects);
  24. JS_DECLARE_NATIVE_FUNCTION(create_realm);
  25. JS_DECLARE_NATIVE_FUNCTION(detach_array_buffer);
  26. JS_DECLARE_NATIVE_FUNCTION(eval_script);
  27. };
  28. }