xo-reader2: + SyntaxStateMachine.forward_children method
Support gc traversal with goal of making ParserStateMachine a gc root
This commit is contained in:
parent
ed3e26e718
commit
3af72fec64
91 changed files with 626 additions and 39 deletions
|
|
@ -29,8 +29,7 @@ namespace xo {
|
|||
class DSequenceSsm : public DSyntaxStateMachine<DSequenceSsm> {
|
||||
public:
|
||||
using Super = DSyntaxStateMachine<DSequenceSsm>;
|
||||
//using Sequence = xo::scm::Sequence;
|
||||
//using Lambda = xo::scm::Lambda;
|
||||
using ACollector = xo::mm::ACollector;
|
||||
using AAllocator = xo::mm::AAllocator;
|
||||
using DArena = xo::mm::DArena;
|
||||
using ppindentinfo = xo::print::ppindentinfo;
|
||||
|
|
@ -87,13 +86,20 @@ namespace xo {
|
|||
ParserStateMachine * p_psm);
|
||||
|
||||
///@}
|
||||
/** @defgroup scm-sequencessm-printable-facet printable facet **/
|
||||
/** @defgroup scm-sequencessm-printable-facet printable facet methods **/
|
||||
///@{
|
||||
|
||||
/** pretty printing support **/
|
||||
bool pretty(const ppindentinfo & ppii) const;
|
||||
|
||||
///@}
|
||||
/** @defgroup scm-sequencessm-gcobject-facet gcobject facet methods **/
|
||||
///@{
|
||||
|
||||
/** gc support: visit gc-aware child pointers **/
|
||||
void forward_children(obj<ACollector> gc) noexcept;
|
||||
|
||||
///@}
|
||||
|
||||
private:
|
||||
explicit DSequenceSsm(DSequenceExpr * seq_expr);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue