package jayhorn.solver.spacer; import com.microsoft.z3.ArraySort; import jayhorn.solver.ArrayType; import jayhorn.solver.ProverType; public class SpacerArrayType extends ArrayType { private final ProverType indexType, valueType; private final ArraySort sort; public SpacerArrayType(ArraySort s, ProverType idx, ProverType val) { //TODO: super(2); this.indexType = idx; this.valueType = val; this.sort = s; } public ArraySort getSort() { return this.sort; } public ProverType getIndexType() { return this.indexType; } public ProverType getValueType() { return this.valueType; } public int hashCode() { // final int prime = 31; // int result = 1; // result = prime * result + arity; // return result; throw new RuntimeException("not implemented"); } public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; SpacerArrayType other = (SpacerArrayType) obj; if (sort != other.getSort()) return false; return true; } public String toString() { return "Array(" + this.indexType + " " + this.valueType + ")"; } }