LiteralCell.java
package edu.udel.cis.vsl.tass.dynamic.impl.cell;
import edu.udel.cis.vsl.tass.dynamic.IF.cell.LiteralCellIF;
import edu.udel.cis.vsl.tass.model.IF.ModelIF;
import edu.udel.cis.vsl.tass.model.IF.expression.ObjectLiteralExpressionIF;
public class LiteralCell extends Cell implements LiteralCellIF {
private ObjectLiteralExpressionIF expression;
private ModelIF model;
/**
* A literal cell represents the memory region used to store literal values
* that occur in program code.
*/
public LiteralCell(ObjectLiteralExpressionIF expression) {
super(DynamicScope.LITERAL);
this.expression = expression;
}
@Override
public String toString() {
return expression.toString();
}
@Override
public boolean equals(Object object) {
if (object instanceof LiteralCell) {
LiteralCell that = (LiteralCell) object;
return super.equals(that) && expression == that.expression;
}
return false;
}
@Override
public int hashCode() {
return super.hashCode() + expression.hashCode();
}
public ModelIF model() {
return model;
}
@Override
public ObjectLiteralExpressionIF expression() {
return expression;
}
}