1 package Analysis.SSJava;
3 import IR.TypeExtension;
5 public class CompositeLocation implements TypeExtension {
7 protected NTuple<Location> locTuple;
9 public CompositeLocation() {
10 locTuple = new NTuple<Location>();
13 public CompositeLocation(Location loc) {
14 locTuple = new NTuple<Location>();
18 public NTuple<Location> getTuple() {
22 public int getSize() {
23 return locTuple.size();
26 public void addLocation(Location loc) {
30 public Location get(int idx) {
31 return locTuple.get(idx);
34 public boolean isEmpty() {
35 return locTuple.size() == 0;
38 public String toString() {
40 String rtr = "CompLoc[";
42 int tupleSize = locTuple.size();
43 for (int i = 0; i < tupleSize; i++) {
44 Location locElement = locTuple.get(i);
55 public boolean equals(Object o) {
57 if (!(o instanceof CompositeLocation)) {
61 CompositeLocation compLoc = (CompositeLocation) o;
63 if (compLoc.getTuple().equals(getTuple())) {
71 public int hashCode() {
73 return locTuple.hashCode();
77 public CompositeLocation clone() {
78 CompositeLocation clone = new CompositeLocation();
79 clone.getTuple().addAll(locTuple);