void apply(Stage &s) { s.content.visit(*this); }
private:
- virtual void visit(Block &);
+ virtual void enter(Block &);
virtual void visit(InterfaceBlock &);
};
private:
Block *next_block(Block &);
- virtual void visit(Block &);
+ virtual void enter(Block &);
virtual void visit(VariableReference &);
virtual void visit(MemberAccess &);
virtual void visit(BinaryExpression &);
virtual void visit(StructDeclaration &);
virtual void visit(VariableDeclaration &);
virtual void visit(InterfaceBlock &);
- virtual void visit(FunctionDeclaration &);
- virtual void visit(Iteration &);
};
class FunctionResolver: private TraversingVisitor