public class NodeTupleSet {
- private List<NTuple<Descriptor>> list;
+ private ArrayList<NTuple<Descriptor>> list;
+
+ private ArrayList<NTuple<Location>> globalLocTupleList;
+
+ private NTuple<Descriptor> baseDescTuple;
public NodeTupleSet() {
list = new ArrayList<NTuple<Descriptor>>();
+ globalLocTupleList = new ArrayList<NTuple<Location>>();
}
public void addTuple(NTuple<Descriptor> tuple) {
list.add(tuple);
}
+ public void setMethodInvokeBaseDescTuple(NTuple<Descriptor> in) {
+ baseDescTuple = in;
+ }
+
+ public NTuple<Descriptor> getBaseDesc() {
+ return baseDescTuple;
+ }
+
+ public void addGlobalFlowTuple(NTuple<Location> tuple) {
+ globalLocTupleList.add(tuple);
+ }
+
+ public void addGlobalFlowTupleSet(ArrayList<NTuple<Location>> in) {
+ globalLocTupleList.addAll(in);
+ }
+
+ public Iterator<NTuple<Location>> globalIterator() {
+ return globalLocTupleList.iterator();
+ }
+
public void removeTuple(NTuple<Descriptor> tuple) {
list.remove(tuple);
}
}
public String toString() {
- return list.toString();
+ String str = list.toString();
+
+ if (globalLocTupleList.size() > 0) {
+ str += " GlobalFlow=" + globalLocTupleList.toString();
+ }
+
+ return str;
}
public Set<NTuple<Descriptor>> getSet() {
public void clear() {
list.clear();
}
+
+ public int globalLocTupleSize() {
+ return globalLocTupleList.size();
+ }
+
+ private void setGlobalLocTupleList(ArrayList<NTuple<Location>> in) {
+ globalLocTupleList = in;
+ }
+
+ public ArrayList<NTuple<Location>> getGlobalLocTupleSet() {
+ return globalLocTupleList;
+ }
+
+ private void setDescTupleList(ArrayList<NTuple<Descriptor>> in) {
+ list = in;
+ }
+
+ public NodeTupleSet clone() {
+ NodeTupleSet set = new NodeTupleSet();
+ set.setDescTupleList((ArrayList<NTuple<Descriptor>>) list.clone());
+ set.setGlobalLocTupleList((ArrayList<NTuple<Location>>) globalLocTupleList.clone());
+ return set;
+ }
}