+
+ if (needToGenerateInterLoc(tupleSet)) {
+ System.out.println("20");
+ FlowGraph fg = getFlowGraph(mdCaller);
+ NTuple<Descriptor> interTuple = fg.createIntermediateNode().getDescTuple();
+
+ for (Iterator iterator = tupleSet.iterator(); iterator.hasNext();) {
+ NTuple<Descriptor> tuple = (NTuple<Descriptor>) iterator.next();
+
+ Set<NTuple<Descriptor>> addSet = new HashSet<NTuple<Descriptor>>();
+ FlowNode node = fg.getFlowNode(tuple);
+ if (node instanceof FlowReturnNode) {
+ addSet.addAll(fg.getReturnTupleSet(((FlowReturnNode) node).getReturnTupleSet()));
+ } else {
+ addSet.add(tuple);
+ }
+ for (Iterator iterator2 = addSet.iterator(); iterator2.hasNext();) {
+ NTuple<Descriptor> higher = (NTuple<Descriptor>) iterator2.next();
+ addFlowGraphEdge(mdCaller, higher, interTuple);
+ }
+ }
+
+ setNode.addTuple(interTuple);
+ } else {
+ setNode.addTupleSet(tupleSet);
+ }
+