def reach has to use PointerMethod to detect CFG edges that the analysis cares about
[IRC.git] / Robust / src / Analysis / Disjoint / DisjointAnalysis.java
index c5d03684280c9e3a6aa926e132a6ea1a43114b46..a27d1df90a6bbadbf1d5b4271344251856ac0834 100644 (file)
@@ -726,8 +726,6 @@ public class DisjointAnalysis implements HeapAnalysis {
     mapDescriptorToReachGraph =
       new Hashtable<Descriptor, ReachGraph>();
 
-    pm = new PointerMethod();
-
     fc2enclosing = new Hashtable<FlatCall, Descriptor>();
   }
 
@@ -849,8 +847,11 @@ public class DisjointAnalysis implements HeapAnalysis {
     ReachGraph.debugCallSiteVisitCounter
       = 0; // count visits from 1, is incremented before first visit    
 
+    pm = new PointerMethod();
+
     if( state.DO_DEFINITE_REACH_ANALYSIS ) {
       doDefiniteReachAnalysis = true;
+      DefiniteReachAnalysis.setPointerMethod( pm );
       definiteReachAnalysis = new DefiniteReachAnalysis();
     }