def reach coming along
[IRC.git] / Robust / src / Analysis / Disjoint / ReachGraph.java
index 8d5038c07b003a2422f785bfe3b4b66f60b24d43..d231593bfdbac6bfa5007405bb5e8f641464c697 100644 (file)
@@ -426,7 +426,8 @@ public class ReachGraph {
                                    fdStringBytesField,
                                    tdStrLiteralBytes,
                                    null,
-                                   null);
+                                   null,
+                                   null );
   }
 
 
@@ -593,7 +594,8 @@ public class ReachGraph {
                                                FieldDescriptor f,
                                                TempDescriptor y,
                                                FlatNode currentProgramPoint,
-                                               Set<EdgeKey> edgeKeysRemoved
+                                               Set<EdgeKey> edgeKeysRemoved,
+                                               Set<EdgeKey> edgeKeysAdded
                                                ) {
 
     VariableNode lnX = getVariableNodeFromTemp(x);
@@ -716,6 +718,15 @@ public class ReachGraph {
           continue;
         }
 
+        // for definite reach analysis only
+        if( edgeKeysAdded != null ) {
+          assert f != null;
+          edgeKeysAdded.add( new EdgeKey( hrnX.getID(),
+                                          hrnY.getID(),
+                                          f )
+                             );
+        }
+
         // prepare the new reference edge hrnX.f -> hrnY
         TypeDescriptor tdNewEdge =
           mostSpecificType(y.getType(),