+ public void setReturnFlowNode(NTuple<Descriptor> tuple) {
+
+ if (!mapDescTupleToInferNode.containsKey(tuple)) {
+ createNewFlowNode(tuple);
+ }
+
+ FlowNode node = mapDescTupleToInferNode.get(tuple);
+ node.setReturn(true);
+
+ returnNodeSet.add(node);
+ }
+
+ public Set<FlowNode> getReturnNodeSet() {
+ return returnNodeSet;
+ }
+
+ public boolean isParamter(NTuple<Descriptor> tuple) {
+ // return true if a descriptor tuple is started with a parameter descriptor
+ Descriptor firstIdxDesc = tuple.get(0);
+ return mapParamDescToIdx.containsKey(firstIdxDesc);
+ }
+
+ public int getParamIdx(NTuple<Descriptor> tuple) {
+ Descriptor firstDesc = tuple.get(0);
+ return mapParamDescToIdx.get(firstDesc).intValue();
+ }
+