virtual void visit(Block &);
virtual void visit(UnaryExpression &);
virtual void visit(BinaryExpression &);
+ virtual void visit(Assignment &a) { visit(static_cast<BinaryExpression &>(a)); }
virtual void visit(MemberAccess &);
virtual void visit(FunctionCall &);
virtual void visit(ExpressionStatement &);