X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=Robust%2Fsrc%2FAnalysis%2FSSJava%2FFlowDownCheck.java;h=a851b020e2125457c9b34f63f18e84fcda44d63a;hb=d396c42d2a86460c7e220d21e5219049c177c5cf;hp=86766e40154db8e3b2f6f76676a651c7765044c2;hpb=ebc28f40e1325f4f57b55dc1fd1a33aeb629c587;p=IRC.git diff --git a/Robust/src/Analysis/SSJava/FlowDownCheck.java b/Robust/src/Analysis/SSJava/FlowDownCheck.java index 86766e40..a851b020 100644 --- a/Robust/src/Analysis/SSJava/FlowDownCheck.java +++ b/Robust/src/Analysis/SSJava/FlowDownCheck.java @@ -227,7 +227,9 @@ public class FlowDownCheck { if (state.SSJAVADEBUG) { System.out.println("SSJAVA: Checking Flow-down Rules: " + md); } - checkMethodBody(cd, md, null); + CompositeLocation calleePCLOC = + new CompositeLocation(new Location(md, ssjava.getMethodLattice(md).getPCLoc())); + checkMethodBody(cd, md, calleePCLOC); } } } @@ -321,6 +323,12 @@ public class FlowDownCheck { } else if (an.getMarker().equals(ssjava.THISLOC)) { String thisLoc = an.getValue(); ssjava.getMethodLattice(md).setThisLoc(thisLoc); + } else if (an.getMarker().equals(ssjava.GLOBALLOC)) { + String globalLoc = an.getValue(); + ssjava.getMethodLattice(md).setGlobalLoc(globalLoc); + } else if (an.getMarker().equals(ssjava.PCLOC)) { + String pcLoc = an.getValue(); + ssjava.getMethodLattice(md).setPCLoc(pcLoc); } } } @@ -609,12 +617,12 @@ public class FlowDownCheck { BlockNode bn = ln.getInitializer(); bn.getVarTable().setParent(nametable); // need to check initialization node -// checkLocationFromBlockNode(md, bn.getVarTable(), bn, constraint); - for(int i=0; i