refactor: + narrower interface for gc pointer forwarding

add AGCObjectVisitor, instead of requiring ACollector.
This commit is contained in:
Roland Conybeare 2026-04-05 23:53:02 -04:00
commit d740c94406
105 changed files with 260 additions and 416 deletions

View file

@ -21,9 +21,9 @@ namespace xo {
return self.shallow_move(gc);
}
auto
IGCObject_DGlobalEnv::forward_children(DGlobalEnv & self, obj<ACollector> gc) noexcept -> void
IGCObject_DGlobalEnv::visit_gco_children(DGlobalEnv & self, obj<AGCObjectVisitor> fn) noexcept -> void
{
self.forward_children(gc);
self.visit_gco_children(fn);
}
} /*namespace scm*/

View file

@ -21,9 +21,9 @@ namespace xo {
return self.shallow_move(gc);
}
auto
IGCObject_DSchematikaParser::forward_children(DSchematikaParser & self, obj<ACollector> gc) noexcept -> void
IGCObject_DSchematikaParser::visit_gco_children(DSchematikaParser & self, obj<AGCObjectVisitor> fn) noexcept -> void
{
self.forward_children(gc);
self.visit_gco_children(fn);
}
} /*namespace scm*/

View file

@ -78,9 +78,9 @@ namespace xo {
self.on_quoted_literal(lit, p_psm);
}
auto
ISyntaxStateMachine_DApplySsm::forward_children(DApplySsm & self, obj<ACollector> gc) -> void
ISyntaxStateMachine_DApplySsm::visit_gco_children(DApplySsm & self, obj<AGCObjectVisitor> gc) -> void
{
self.forward_children(gc);
self.visit_gco_children(gc);
}
} /*namespace scm*/

View file

@ -78,9 +78,9 @@ namespace xo {
self.on_quoted_literal(lit, p_psm);
}
auto
ISyntaxStateMachine_DDefineSsm::forward_children(DDefineSsm & self, obj<ACollector> gc) -> void
ISyntaxStateMachine_DDefineSsm::visit_gco_children(DDefineSsm & self, obj<AGCObjectVisitor> gc) -> void
{
self.forward_children(gc);
self.visit_gco_children(gc);
}
} /*namespace scm*/

View file

@ -78,9 +78,9 @@ namespace xo {
self.on_quoted_literal(lit, p_psm);
}
auto
ISyntaxStateMachine_DDeftypeSsm::forward_children(DDeftypeSsm & self, obj<ACollector> gc) -> void
ISyntaxStateMachine_DDeftypeSsm::visit_gco_children(DDeftypeSsm & self, obj<AGCObjectVisitor> gc) -> void
{
self.forward_children(gc);
self.visit_gco_children(gc);
}
} /*namespace scm*/

View file

@ -78,9 +78,9 @@ namespace xo {
self.on_quoted_literal(lit, p_psm);
}
auto
ISyntaxStateMachine_DExpectFormalArgSsm::forward_children(DExpectFormalArgSsm & self, obj<ACollector> gc) -> void
ISyntaxStateMachine_DExpectFormalArgSsm::visit_gco_children(DExpectFormalArgSsm & self, obj<AGCObjectVisitor> gc) -> void
{
self.forward_children(gc);
self.visit_gco_children(gc);
}
} /*namespace scm*/

View file

@ -78,9 +78,9 @@ namespace xo {
self.on_quoted_literal(lit, p_psm);
}
auto
ISyntaxStateMachine_DExpectListTypeSsm::forward_children(DExpectListTypeSsm & self, obj<ACollector> gc) -> void
ISyntaxStateMachine_DExpectListTypeSsm::visit_gco_children(DExpectListTypeSsm & self, obj<AGCObjectVisitor> gc) -> void
{
self.forward_children(gc);
self.visit_gco_children(gc);
}
} /*namespace scm*/

View file

@ -78,9 +78,9 @@ namespace xo {
self.on_quoted_literal(lit, p_psm);
}
auto
ISyntaxStateMachine_DExpectQDictSsm::forward_children(DExpectQDictSsm & self, obj<ACollector> gc) -> void
ISyntaxStateMachine_DExpectQDictSsm::visit_gco_children(DExpectQDictSsm & self, obj<AGCObjectVisitor> gc) -> void
{
self.forward_children(gc);
self.visit_gco_children(gc);
}
} /*namespace scm*/

View file

@ -78,9 +78,9 @@ namespace xo {
self.on_quoted_literal(lit, p_psm);
}
auto
ISyntaxStateMachine_DIfElseSsm::forward_children(DIfElseSsm & self, obj<ACollector> gc) -> void
ISyntaxStateMachine_DIfElseSsm::visit_gco_children(DIfElseSsm & self, obj<AGCObjectVisitor> gc) -> void
{
self.forward_children(gc);
self.visit_gco_children(gc);
}
} /*namespace scm*/

View file

@ -78,9 +78,9 @@ namespace xo {
self.on_quoted_literal(lit, p_psm);
}
auto
ISyntaxStateMachine_DLambdaSsm::forward_children(DLambdaSsm & self, obj<ACollector> gc) -> void
ISyntaxStateMachine_DLambdaSsm::visit_gco_children(DLambdaSsm & self, obj<AGCObjectVisitor> gc) -> void
{
self.forward_children(gc);
self.visit_gco_children(gc);
}
} /*namespace scm*/

View file

@ -78,9 +78,9 @@ namespace xo {
self.on_quoted_literal(lit, p_psm);
}
auto
ISyntaxStateMachine_DQuoteSsm::forward_children(DQuoteSsm & self, obj<ACollector> gc) -> void
ISyntaxStateMachine_DQuoteSsm::visit_gco_children(DQuoteSsm & self, obj<AGCObjectVisitor> gc) -> void
{
self.forward_children(gc);
self.visit_gco_children(gc);
}
} /*namespace scm*/