AWESOME. Used just the R relation of definite reach to successfully improve the...
[IRC.git] / Robust / src / Analysis / Disjoint / DefiniteReachState.java
index 70711b19e7bb0251562896df46836d35e13eb6bb..d9b0af12527a239fefd7700d9b03b6983b769940 100644 (file)
@@ -52,8 +52,6 @@ public class DefiniteReachState {
 
 
 
-
-
   // call before instantiating this class
   static public void initBuilders() {
     RBuilder =
@@ -96,6 +94,15 @@ public class DefiniteReachState {
   }
 
 
+
+  public boolean isAlreadyReachable( TempDescriptor a,
+                                     TempDescriptor b ) {
+    return !R.get( viewR01, MultiKey.factory( a, b ) ).isEmpty();
+  }
+
+
+
+
   public void methodEntry( Set<TempDescriptor> parameters ) {
     methodEntryR( parameters );
 
@@ -286,6 +293,10 @@ public class DefiniteReachState {
     for( MultiKey key : this.R.get().keySet() ) {
       if( that.R.get( viewRfull, key ).isEmpty() ) {
         this.R.remove( viewRfull, key );
+      } else {
+        // if the key is in this and that, we should join the
+        // values using the R.joinOp which is currently has no
+        // public interface
       }
     }
   }