|
@@ -1164,6 +1164,12 @@ public:
|
|
|
)~~~");
|
|
|
}
|
|
|
|
|
|
+ if (interface.extended_attributes.contains("CustomVisit")) {
|
|
|
+ generator.append(R"~~~(
|
|
|
+ virtual void visit_edges(JS::Cell::Visitor&) override;
|
|
|
+)~~~");
|
|
|
+ }
|
|
|
+
|
|
|
if (interface.is_legacy_platform_object()) {
|
|
|
generator.append(R"~~~(
|
|
|
virtual Optional<JS::PropertyDescriptor> internal_get_own_property(JS::PropertyName const&) const override;
|
|
@@ -1326,6 +1332,16 @@ void @wrapper_class@::initialize(JS::GlobalObject& global_object)
|
|
|
)~~~");
|
|
|
}
|
|
|
|
|
|
+ if (interface.extended_attributes.contains("CustomVisit")) {
|
|
|
+ generator.append(R"~~~(
|
|
|
+void @wrapper_class@::visit_edges(JS::Cell::Visitor& visitor)
|
|
|
+{
|
|
|
+ @wrapper_base_class@::visit_edges(visitor);
|
|
|
+ impl().visit_edges(visitor);
|
|
|
+}
|
|
|
+)~~~");
|
|
|
+ }
|
|
|
+
|
|
|
if (interface.is_legacy_platform_object()) {
|
|
|
auto scoped_generator = generator.fork();
|
|
|
scoped_generator.set("class_name", interface.wrapper_class);
|