VariableExpression.java
package edu.udel.cis.vsl.tass.model.impl.expression;
import edu.udel.cis.vsl.tass.model.IF.ModelFactoryIF;
import edu.udel.cis.vsl.tass.model.IF.expression.VariableExpressionIF;
import edu.udel.cis.vsl.tass.model.IF.variable.VariableIF;
public class VariableExpression extends Expression implements
VariableExpressionIF {
private VariableIF variable;
public VariableExpression(ModelFactoryIF factory, VariableIF variable) {
super(factory, ExpressionKind.VARIABLE);
if (variable == null)
throw new NullPointerException("Variable is null");
this.variable = variable;
freeVariables.add(variable);
type = variable.type();
}
public VariableIF variable() {
return variable;
}
public int hashCode() {
return variable.hashCode() * 8192;
}
public boolean equals(Object object) {
if (!(object instanceof VariableExpression)) {
return false;
} else {
VariableExpression that = (VariableExpression) object;
return variable.equals(that.variable);
}
}
public String toString() {
return variable.toString();
}
public String atomString() {
return toString();
}
}