ladybird/Libraries/LibJS/Runtime/ClassFieldDefinition.cpp
Andreas Kling a9cc425cde LibJS+LibWeb: Add missing GC marking visits
This adds visit_edges(Cell::Visitor&) methods to various helper structs
that contain GC pointers, and makes sure they are called from owning
GC-heap-allocated objects as needed.

These were found by our Clang plugin after expanding its capabilities.
The added rules will be enforced by CI going forward.
2026-01-07 12:48:58 +01:00

23 lines
606 B
C++

/*
* Copyright (c) 2026, Andreas Kling <andreas@ladybird.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibJS/Runtime/ClassFieldDefinition.h>
#include <LibJS/Runtime/ECMAScriptFunctionObject.h>
namespace JS {
void ClassFieldDefinition::visit_edges(Cell::Visitor& visitor)
{
name.visit(
[&](PropertyKey const& key) { key.visit_edges(visitor); },
[&](PrivateName const&) {});
initializer.visit(
[&](GC::Ref<ECMAScriptFunctionObject>& function) { visitor.visit(function); },
[&](Value& value) { visitor.visit(value); },
[&](Empty) {});
}
}