}
set.add(neighbor);
-// System.out.println("add a new neighbor " + neighbor + " to " + node);
+ // System.out.println("add a new neighbor " + neighbor + " to " + node);
}
public boolean hasEdge(NTuple<Descriptor> fromDescTuple, NTuple<Descriptor> toDescTuple) {
FlowEdge edge = new FlowEdge(fromNode, toNode, initTuple, endTuple);
fromNode.addOutEdge(edge);
-// System.out.println("add a new edge=" + edge);
+ // System.out.println("add a new edge=" + edge);
}
if (!mapDescTupleToInferNode.containsKey(tuple)) {
- FlowNode node = new FlowNode(tuple, isParamter(tuple));
+ FlowNode node = new FlowNode(tuple, isParameter(tuple));
mapDescTupleToInferNode.put(tuple, node);
nodeSet.add(node);
getFlowNode(baseTuple).addFieldNode(node);
}
-// System.out.println("Creating new node=" + node);
+ // System.out.println("Creating new node=" + node);
return node;
} else {
return mapDescTupleToInferNode.get(tuple);
return visited;
}
+ public NTuple<Location> getLocationTuple(NTuple<Descriptor> descTuple) {
+ return getLocationTuple(getFlowNode(descTuple));
+ }
+
public NTuple<Location> getLocationTuple(FlowNode fn) {
if (!mapFlowNodeToLocTuple.containsKey(fn)) {
Location loc;
if (i == 0) {
loc = new Location(md, curDesc.getSymbol());
- loc.setLocDescriptor(md);
+ loc.setLocDescriptor(curDesc);
cd = ((VarDescriptor) curDesc).getType().getClassDesc();
} else {
loc = new Location(cd, curDesc.getSymbol());
return set;
}
- public boolean isParamter(NTuple<Descriptor> tuple) {
+ public boolean isParameter(NTuple<Descriptor> tuple) {
// return true if a descriptor tuple is started with a parameter descriptor
Descriptor firstIdxDesc = tuple.get(0);
return mapParamDescToIdx.containsKey(firstIdxDesc);