1 package Analysis.SSJava;
3 import java.util.HashSet;
7 import IR.NameDescriptor;
8 import IR.Tree.MethodInvokeNode;
10 public class FlowReturnNode extends FlowNode {
12 Set<NTuple<Descriptor>> returnTupleSet;
15 public FlowReturnNode(NTuple<Descriptor> t, MethodInvokeNode min) {
17 this.returnTupleSet = new HashSet<NTuple<Descriptor>>();
21 public void setNewTuple(NTuple<Descriptor> in) {
22 returnTupleSet.clear();
23 returnTupleSet.add(in);
26 public void addTupleSet(NodeTupleSet in) {
27 returnTupleSet.addAll(in.getSet());
30 public void addTupleSet(Set<NTuple<Descriptor>> in) {
31 returnTupleSet.addAll(in);
34 public void addTuple(NTuple<Descriptor> in) {
35 returnTupleSet.add(in);
38 public Set<NTuple<Descriptor>> getReturnTupleSet() {
39 return returnTupleSet;
42 public String toString() {
43 String rtr = "[RNODE]:" + descTuple + ":" + min.getMethodName();
44 rtr += ":" + returnTupleSet;
48 public String getPrettyID() {
49 String id = min.getMethodName() + "<";
51 for (int i = 0; i < descTuple.size(); i++) {
55 id += descTuple.get(i).getSymbol();
59 id += " " + returnTupleSet;