std::string oper;
NodePtr<Expression> right;
std::string after;
- bool assignment;
-
- BinaryExpression();
virtual BinaryExpression *clone() const { return new BinaryExpression(*this); }
virtual void visit(NodeVisitor &);
};
+struct Assignment: BinaryExpression
+{
+ bool self_referencing;
+ VariableDeclaration *target_declaration;
+
+ Assignment();
+
+ virtual Assignment *clone() const { return new Assignment(*this); }
+ virtual void visit(NodeVisitor &);
+};
+
struct FunctionCall: Expression
{
std::string name;
virtual void visit(MemberAccess &) { }
virtual void visit(UnaryExpression &) { }
virtual void visit(BinaryExpression &) { }
+ virtual void visit(Assignment &);
virtual void visit(FunctionCall &) { }
virtual void visit(ExpressionStatement &) { }
virtual void visit(Layout &) { }