Newer
Older
DesignCraft / src / main / java / ast / ParenthesizedExpression.java
package ast;

/**
 * Represents a parenthesized expression in AST (Abstract Syntax Tree)
 * This class is used to save the priority of each expression
 *
 * @author s-yamagiwa
 */
public class ParenthesizedExpression extends Expression {
	private Expression expression;
	
	public ParenthesizedExpression(Expression expression) {
		this.expression = expression;
	}
	
	@Override
	public Expression replace(Variable variable, Expression expression) {
		return new ParenthesizedExpression(this.expression.replace(variable, expression));
	}
	
	public Expression getExpression() {
		return expression;
	}
	
	public void setExpression(Expression expression) {
		this.expression = expression;
	}
	
	@Override
	public String toString() {
		return "(" + expression.toString() + ")";
	}
}