mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2026-04-18 09:50:27 +00:00
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.
23 lines
606 B
C++
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) {});
|
|
}
|
|
|
|
}
|