LibGC: Teach Swift bindings about Cell and Cell::Visitor

Add the proper annotations for the Cell and Cell::Visitor classes to be
visible in Swift. This lets us remove some OpaquePointer shinangians in
the Swift bindings.
This commit is contained in:
Andrew Kaster 2025-03-22 19:01:41 -06:00 committed by Andrew Kaster
commit 8554ee386e
Notes: github-actions[bot] 2025-04-03 22:49:27 +00:00
7 changed files with 43 additions and 48 deletions

View file

@ -72,17 +72,17 @@ public:
visit_impl(*cell);
}
void visit(Cell& cell)
void visit(Cell& cell) SWIFT_NAME(visitRef(_:))
{
visit_impl(cell);
}
void visit(Cell const* cell)
void visit(Cell const* cell) SWIFT_NAME(visitConst(_:))
{
visit(const_cast<Cell*>(cell));
}
void visit(Cell const& cell)
void visit(Cell const& cell) SWIFT_NAME(visitConstRef(_:))
{
visit(const_cast<Cell&>(cell));
}
@ -157,7 +157,7 @@ public:
}
}
void visit(NanBoxedValue const& value);
void visit(NanBoxedValue const& value) SWIFT_NAME(visitValue(_:));
// Allow explicitly ignoring a GC-allocated member in a visit_edges implementation instead
// of just not using it.