-class StageVisitor: public TraversingVisitor
-{
-public:
- typedef void ResultType;
-
-protected:
- Stage *stage;
-
- StageVisitor();
-
-public:
- virtual void apply(Stage &);
- void get_result() const { }
-};
-
-class BlockModifier: public StageVisitor
-{
-protected:
- bool remove_node;
- std::vector<RefPtr<Statement> > insert_nodes;
-
- BlockModifier();
-
- void flatten_block(Block &);
- void apply_and_increment(Block &, NodeList<Statement>::iterator &);
-
-public:
- using StageVisitor::visit;
- virtual void visit(Block &);
-};
-