Newer
Older
AlgebraicDataflowArchitectureModel / AlgebraicDataflowArchitectureModel / src / code / ast / Assignment.java
package code.ast;

/**
 * Represents an assignment expression node in AST (Abstract Syntax Tree)
 *
 * @author s-yamagiwa
 */
public class Assignment extends Expression {
	private Expression left;
	private Expression right;
	
	public Assignment(Expression left, Expression right) {
		this.left = left;
		this.right = right;
	}
	
	@Override
	public Expression replace(Variable variable, Expression expression) {
		return new Assignment(left.replace(variable, expression), right.replace(variable, expression));
	}
	
	public Expression getLeft() {
		return left;
	}
	
	public void setLeft(Expression left) {
		this.left = left;
	}
	
	public Expression getRight() {
		return right;
	}
	
	public void setRight(Expression right) {
		this.right = right;
	}
	
	@Override
	public String toString() {
		return left.toString() + " " + "+" + " " + right.toString();
	}
}