Improved precision of computation of maximum set sizes. Removed generation of
[repair.git] / Repair / RepairCompiler / MCC / IR / Expr.java
index 766ae20ebd4e02b7b9e7d240eddc942a9ed2ff2a..51ae61360906a92f2568787aa8f795f8e38ec5cf 100755 (executable)
@@ -40,7 +40,7 @@ public abstract class Expr {
        return null;
     }
 
-    public boolean isValue() {
+    public boolean isValue(TypeDescriptor td) {
        return false;
     }
 
@@ -82,6 +82,13 @@ public abstract class Expr {
        return null; /* unknown value */
     }
 
+    public Expr stripCastExpr() {
+       Expr ptr=this;
+       while (ptr instanceof CastExpr)
+           ptr=((CastExpr)ptr).getExpr();
+       return ptr;
+    }
+
     public boolean isSafe() {
        return true;
     }
@@ -93,4 +100,10 @@ public abstract class Expr {
     public Expr getUpper() {
        return null;
     }
+    public boolean isInvariant(Set vars) {
+       return false;
+    }
+    public Set findInvariants(Set vars) {
+       return new HashSet();
+    }
 }