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 }