bug fix on the Loop terminate analysis: as long as a field is not appeared in a flat...
authoryeom <yeom>
Tue, 20 Sep 2011 23:13:09 +0000 (23:13 +0000)
committeryeom <yeom>
Tue, 20 Sep 2011 23:13:09 +0000 (23:13 +0000)
Robust/src/Analysis/Loops/LoopTerminate.java

index 6344ecec4e5337d351c6d1c9c8f25f714b970e80..004e471210fdf9edccd8a190eab8769927a870f6 100644 (file)
@@ -138,7 +138,6 @@ public class LoopTerminate {
     tovisit.add(loopEntrance);
 
     int numMustTerminateGuardCondtion = 0;
-    int numLoop = 0;
     while (!tovisit.isEmpty()) {
       FlatNode fnvisit = tovisit.iterator().next();
       tovisit.remove(fnvisit);
@@ -456,7 +455,7 @@ public class LoopTerminate {
   private boolean hasFieldAccessInLoopElements(FlatFieldNode guardNode, Set loopElements) {
     for (Iterator iterator = loopElements.iterator(); iterator.hasNext();) {
       FlatNode fn = (FlatNode) iterator.next();
-      if (fn.kind() == FKind.FlatFieldNode) {
+      if (fn.kind() == FKind.FlatSetFieldNode) {
         FlatFieldNode ffn = (FlatFieldNode) fn;
         if (!ffn.equals(guardNode) && ffn.getField().equals(guardNode.getField())) {
           return true;