xo-interpreter2 stack: + reason arg to visit_gco_children()
Helps streamline DX1Collector in xo-gc/. Want both forward and verify entry points for the same representation.
This commit is contained in:
parent
31df51ac8e
commit
d14f119a37
102 changed files with 258 additions and 167 deletions
|
|
@ -56,6 +56,7 @@ namespace xo {
|
|||
public:
|
||||
using Super = DSyntaxStateMachine<DIfElseSsm>;
|
||||
using AGCObjectVisitor = xo::mm::AGCObjectVisitor;
|
||||
using VisitReason = xo::mm::VisitReason;
|
||||
using AAllocator = xo::mm::AAllocator;
|
||||
using DArena = xo::mm::DArena;
|
||||
using TypeDescr = xo::reflect::TypeDescr;
|
||||
|
|
@ -171,7 +172,8 @@ namespace xo {
|
|||
/** @defgroup scm-ifelsessm-gc-support gc support methods **/
|
||||
///@{
|
||||
|
||||
void visit_gco_children(obj<AGCObjectVisitor> gc) noexcept;
|
||||
void visit_gco_children(VisitReason reason,
|
||||
obj<AGCObjectVisitor> gc) noexcept;
|
||||
|
||||
///@}
|
||||
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@ namespace xo {
|
|||
using TypeDescr = xo::scm::ASyntaxStateMachine::TypeDescr;
|
||||
using AGCObjectVisitor = xo::scm::ASyntaxStateMachine::AGCObjectVisitor;
|
||||
using AGCObject = xo::scm::ASyntaxStateMachine::AGCObject;
|
||||
using VisitReason = xo::scm::ASyntaxStateMachine::VisitReason;
|
||||
using Copaque = xo::scm::ASyntaxStateMachine::Copaque;
|
||||
using Opaque = xo::scm::ASyntaxStateMachine::Opaque;
|
||||
///@}
|
||||
|
|
@ -77,7 +78,7 @@ namespace xo {
|
|||
/** update state machine for nested quoted literal @p lit **/
|
||||
static void on_quoted_literal(DIfElseSsm & self, obj<AGCObject> lit, ParserStateMachine * p_psm);
|
||||
/** gc support: visit immediate gc-aware child pointers with @p gc. Call gc.visit_child() for each **/
|
||||
static void visit_gco_children(DIfElseSsm & self, obj<AGCObjectVisitor> gc);
|
||||
static void visit_gco_children(DIfElseSsm & self, VisitReason reason, obj<AGCObjectVisitor> gc);
|
||||
///@}
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue