LocalCell.java
package edu.udel.cis.vsl.tass.dynamic.impl.cell;
import edu.udel.cis.vsl.tass.dynamic.IF.cell.LocalCellIF;
import edu.udel.cis.vsl.tass.model.IF.ModelIF;
import edu.udel.cis.vsl.tass.model.IF.variable.LocalVariableIF;
public class LocalCell extends Cell implements LocalCellIF {
private LocalVariableIF variable;
private int stackIndex;
private int localID;
public LocalCell(LocalVariableIF variable, int stackIndex) {
super(DynamicScope.LOCAL);
this.variable = variable;
this.stackIndex = stackIndex;
this.localID = variable.idInScope();
}
public int stackIndex() {
return stackIndex;
}
public LocalVariableIF variable() {
return variable;
}
public int localID() {
return localID;
}
public String toString() {
String result = variable.name();
return result;
}
public boolean equals(Object object) {
if (object instanceof LocalCell) {
LocalCell that = (LocalCell) object;
return super.equals(that) && variable.equals(that.variable)
&& stackIndex == that.stackIndex;
}
return false;
}
public int hashCode() {
return super.hashCode() + variable.hashCode() + stackIndex;
}
public ModelIF model() {
return variable.model();
}
}