X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=Robust%2Fsrc%2FAnalysis%2FSSJava%2FHierarchyGraph.java;h=d51e6107d41705113b6d3f0bc682f153e30c8e12;hb=16c9b68be88b7753b0b2a8b5766983ce06d0c2ad;hp=720be2dc4cc1baac827a43836f9a68aad3f7ba18;hpb=d77839806b116bae81d35232998b6c1ac3ddf23d;p=IRC.git diff --git a/Robust/src/Analysis/SSJava/HierarchyGraph.java b/Robust/src/Analysis/SSJava/HierarchyGraph.java index 720be2dc..d51e6107 100644 --- a/Robust/src/Analysis/SSJava/HierarchyGraph.java +++ b/Robust/src/Analysis/SSJava/HierarchyGraph.java @@ -141,10 +141,13 @@ public class HierarchyGraph { if (possibleCycleSet.size() > 0) { if (possibleCycleSet.size() == 1) { + System.out.println("possibleCycleSet=" + possibleCycleSet + " from src=" + srcHNode + + " dstHNode=" + dstHNode); if (dstHNode.isSharedNode()) { // it has already been assigned shared node. } else { dstHNode.setSharedNode(true); + System.out.println("$$$setShared=" + dstHNode); } return; } @@ -398,7 +401,7 @@ public class HierarchyGraph { private void addEdgeWithNoCycleCheck(HNode srcHNode, HNode dstHNode) { getIncomingNodeSet(dstHNode).add(srcHNode); getOutgoingNodeSet(srcHNode).add(dstHNode); - System.out.println("addEdgeWithNoCycleCheck src=" + srcHNode + " -> " + dstHNode); + // System.out.println("addEdgeWithNoCycleCheck src=" + srcHNode + " -> " + dstHNode); } private HNode mergeNodes(Set set, boolean onlyCombinationNodes) { @@ -774,9 +777,9 @@ public class HierarchyGraph { Set> keySet = simpleHierarchyGraph.getCombineNodeSet(); for (Iterator iterator = keySet.iterator(); iterator.hasNext();) { Set combineSet = (Set) iterator.next(); - System.out.println("--combineSet=" + combineSet); + // System.out.println("--combineSet=" + combineSet); HNode combinationNode = getCombinationNode(combineSet); - System.out.println("--combinationNode=" + combinationNode); + // System.out.println("--combinationNode=" + combinationNode); // add an edge from a skeleton node to a combination node for (Iterator iterator2 = combineSet.iterator(); iterator2.hasNext();) { HNode inSkeletonNode = (HNode) iterator2.next(); @@ -847,10 +850,10 @@ public class HierarchyGraph { Set visited = new HashSet(); recurSkeletonReachTo(node, reachToSet, visited); + // obsolete! // if a node reaches to one of elements in the reachToSet, we do not need to keep it // because the node is not directly connected to the combination node - - removeRedundantReachToNodes(reachToSet); + // removeRedundantReachToNodes(reachToSet); return reachToSet; } @@ -964,6 +967,7 @@ public class HierarchyGraph { HNode node = (HNode) iterator.next(); if (!node.isSkeleton()) { Set reachToSet = getSkeleteNodeSetReachTo(node); + System.out.println("$node=" + node + " reachToNodeSet=" + reachToSet); if (reachToSet.size() > 1) { // if (countSkeletonNodes(reachToSet) > 1) { System.out.println("-node=" + node + " reachToSet=" + reachToSet); @@ -1071,7 +1075,7 @@ public class HierarchyGraph { public void assignUniqueIndexToNode() { int idx = 1; - System.out.println("nodeSet=" + nodeSet); + // System.out.println("nodeSet=" + nodeSet); for (Iterator iterator = nodeSet.iterator(); iterator.hasNext();) { HNode node = (HNode) iterator.next(); mapHNodeToUniqueIndex.put(node, idx); @@ -1101,17 +1105,17 @@ public class HierarchyGraph { basis.addAll(BASISTOPELEMENT); Set reachableNodeSet = getReachableNodeSetFrom(node); - System.out.println("node=" + node + " reachableNodeSet=" + reachableNodeSet); - System.out.println("mapHNodeToUniqueIndex.get(node)=" + mapHNodeToUniqueIndex.get(node)); + // System.out.println("node=" + node + " reachableNodeSet=" + reachableNodeSet); + // System.out.println("mapHNodeToUniqueIndex.get(node)=" + mapHNodeToUniqueIndex.get(node)); // if a node is reachable from the current node // need to remove the index of the reachable node from the basis basis.remove(getHNodeIndex(node)); for (Iterator iterator2 = reachableNodeSet.iterator(); iterator2.hasNext();) { HNode reachableNode = (HNode) iterator2.next(); - System.out.println("reachableNode=" + reachableNode); - System.out.println("getHNodeIndex(reachableNode))=" - + mapHNodeToUniqueIndex.get(reachableNode)); + // System.out.println("reachableNode=" + reachableNode); + // System.out.println("getHNodeIndex(reachableNode))=" + // + mapHNodeToUniqueIndex.get(reachableNode)); int idx = getHNodeIndex(reachableNode); basis.remove(idx); }