Files
ladybird/Libraries/LibJS/Contrib/Test262/262Object.h
Timothy Flynn 12d9aaebb3 LibJS: Remove gc from the global object
No other engine defines this function, so it is an observable difference
of our engine. This traces back to the earliest days of LibJS.

We now define `gc` in just the test-js and test262 runners.
2026-04-24 18:36:23 +02:00

40 lines
948 B
C++

/*
* Copyright (c) 2021, Linus Groh <linusg@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <LibJS/Contrib/Test262/AgentObject.h>
#include <LibJS/Contrib/Test262/IsHTMLDDA.h>
#include <LibJS/Runtime/GlobalObject.h>
#include <LibJS/Runtime/Object.h>
namespace JS::Test262 {
class $262Object final : public Object {
JS_OBJECT($262Object, Object);
GC_DECLARE_ALLOCATOR($262Object);
public:
virtual void initialize(Realm&) override;
virtual ~$262Object() override = default;
private:
explicit $262Object(Realm&);
virtual void visit_edges(Visitor&) override;
GC::Ptr<AgentObject> m_agent;
GC::Ptr<IsHTMLDDA> m_is_htmldda;
JS_DECLARE_NATIVE_FUNCTION(clear_kept_objects);
JS_DECLARE_NATIVE_FUNCTION(collect_garbage);
JS_DECLARE_NATIVE_FUNCTION(create_realm);
JS_DECLARE_NATIVE_FUNCTION(detach_array_buffer);
JS_DECLARE_NATIVE_FUNCTION(eval_script);
};
}