From 6b556144679d19fb13c3c4c613e714a3da6ed0fc Mon Sep 17 00:00:00 2001 From: yeom Date: Tue, 30 Oct 2012 08:11:18 +0000 Subject: [PATCH] changes: missing nodes in SC graph --- Robust/src/Analysis/SSJava/BuildLattice.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Robust/src/Analysis/SSJava/BuildLattice.java b/Robust/src/Analysis/SSJava/BuildLattice.java index 931e865d..d1c631fd 100644 --- a/Robust/src/Analysis/SSJava/BuildLattice.java +++ b/Robust/src/Analysis/SSJava/BuildLattice.java @@ -81,6 +81,12 @@ public class BuildLattice { HNode higherNode = inputGraph.getHNode(higherName); + if (higherNode == null) { + NameDescriptor d = new NameDescriptor(higherName); + higherNode = inputGraph.getHNode(d); + higherNode.setSkeleton(true); + } + if (higherNode != null && higherNode.isSharedNode()) { lattice.addSharedLoc(higherName); } @@ -100,6 +106,16 @@ public class BuildLattice { String lowerName = generateElementName(basisSet, inputGraph, mapFToLocName, lower); HNode lowerNode = inputGraph.getHNode(lowerName); + if (lowerNode == null && !lowerName.equals(SSJavaAnalysis.BOTTOM)) { + NameDescriptor d = new NameDescriptor(lowerName); + lowerNode = inputGraph.getHNode(d); + lowerNode.setSkeleton(true); + } + + if (lowerNode != null && !inputGraph.isDirectlyConnectedTo(higherNode, lowerNode)) { + inputGraph.addEdge(higherNode, lowerNode); + } + if (lowerNode != null && lowerNode.isSharedNode()) { lattice.addSharedLoc(lowerName); } -- 2.34.1