Bug fix, sometimes an edge matches except it has a different type of source node...
authorjjenista <jjenista>
Thu, 13 Oct 2011 02:34:32 +0000 (02:34 +0000)
committerjjenista <jjenista>
Thu, 13 Oct 2011 02:34:32 +0000 (02:34 +0000)
Robust/src/Analysis/Disjoint/RefEdge.java

index 1d0e349e646baffd843617bed017051c8a9ae220..157d7d53ab959f2d38e6d2258ed55fb68914ef9d 100644 (file)
@@ -104,11 +104,21 @@ public class RefEdge {
 
     if( src instanceof VariableNode ) {
       VariableNode vsrc = (VariableNode) src;
+      
+      if( !(edge.src instanceof VariableNode) ) {
+        return false;
+      }
+      
       if( !vsrc.equals( (VariableNode) edge.src ) ) {
         return false;
       }
     } else {
       HeapRegionNode hsrc = (HeapRegionNode) src;
+
+      if( !(edge.src instanceof HeapRegionNode) ) {
+        return false;
+      }
+
       if( !hsrc.equalsIncludingAlphaAndPreds( (HeapRegionNode) edge.src ) ) {
         return false;
       }