00001
00005 package edu.mit.csail.sdg.squander.examples.partitioning;
00006
00007 import java.util.HashSet;
00008 import java.util.Set;
00009
00010 import edu.mit.csail.sdg.annotations.Invariant;
00011
00012 @Invariant("null !in this.insts.elts")
00013 public class Domain {
00014
00015 private static int cnt = 0;
00016 private final int idx = cnt++;
00017
00018 private final Set<Literal> insts = new HashSet<Literal>();
00019
00020
00021 public int getIdx() { return idx; }
00022 public Set<Literal> getInsts() { return insts; }
00023
00024 @Override
00025 public int hashCode() {
00026 final int prime = 31;
00027 int result = 1;
00028 result = prime * result + idx;
00029 return result;
00030 }
00031
00032 @Override
00033 public boolean equals(Object obj) {
00034 if (this == obj)
00035 return true;
00036 if (obj == null)
00037 return false;
00038 if (getClass() != obj.getClass())
00039 return false;
00040 Domain other = (Domain) obj;
00041 if (idx != other.idx)
00042 return false;
00043 return true;
00044 }
00045
00046 @Override
00047 public String toString() {
00048 return "Dom" + idx;
00049 }
00050
00051
00052 }