More changes
authorbdemsky <bdemsky>
Tue, 6 Jan 2004 03:24:20 +0000 (03:24 +0000)
committerbdemsky <bdemsky>
Tue, 6 Jan 2004 03:24:20 +0000 (03:24 +0000)
Repair/RepairCompiler/MCC/IR/BooleanLiteralExpr.java
Repair/RepairCompiler/MCC/IR/CastExpr.java
Repair/RepairCompiler/MCC/IR/ConcreteInterferes.java
Repair/RepairCompiler/MCC/IR/Expr.java
Repair/RepairCompiler/MCC/IR/IntegerLiteralExpr.java
Repair/RepairCompiler/MCC/IR/Termination.java
Repair/RepairCompiler/MCC/IR/TokenLiteralExpr.java

index d0729e6d77fd2c54c1525a626535cb940be0d242..be7eb889ef9f6dbdeb35b351e77bb34e7ce360d7 100755 (executable)
@@ -11,6 +11,14 @@ public class BooleanLiteralExpr extends LiteralExpr {
         td = ReservedTypeDescriptor.INT;
     }
 
+    public abstract boolean equals(Map remap, Expr e) {
+       if (e==null)
+           return false;
+       else if (!e instanceof BooleanLiteralExpr)
+           return false;
+       else return (((BooleanLiteralExpr)e).value==value);
+    }
+
     public boolean getValue() {
         return value;
     }
index 83a1ddb2f18203bd280fd0f7c91917f5dbc7fdbe..dc9c543c329412865f8a22d675aea5920d6d06ec 100755 (executable)
@@ -12,6 +12,14 @@ public class CastExpr extends Expr {
         this.expr = expr;
     }
 
+    public abstract boolean equals(Map remap, Expr e) {
+       if (e==null)
+           return false;
+       else if (!e instanceof CastExpr)
+           return false;
+       else return ((this.type==((CastExpr)e).type)&&equals(remap,expr,((CastExpr)e).expr));
+    }
+
     public Set getRequiredDescriptors() {
         return expr.getRequiredDescriptors();
     }
index d7280628880401f4f6e79af24470f8de55bc9c47..e6718a69eefbf4f6b975b9cd1780709ff38a9328 100755 (executable)
@@ -6,12 +6,13 @@ class ConcreteInterferes {
            UpdateNode un=mun.getUpdate(i);
            for (int j=0;j<un.numUpdates();j++) {
                Updates update=un.getUpdate(j);
-               Descriptor des=update.getDescriptor();
                DNFRule drule=r.getDNFGuardExpr();
                for(int k=0;k<drule.size();k++) {
                    RuleConjunction rconj=drule.get(k);
                    for(int l=0;l<rconj.size();l++) {
                        DNFExpr dexpr=rconj.get(l);
+                       /* See if update interfers w/ dexpr */
+                       Descriptor updatedes=update.getDescriptor();
                        
                    }
                }
@@ -19,6 +20,4 @@ class ConcreteInterferes {
        }
        return false;
     }
-
-
 }
index 310e5ae96c2b06ef9148c0535869e9db6dd07a95..77ccbc630b44c46b305fa550207ef35207f36a13 100755 (executable)
@@ -8,6 +8,8 @@ public abstract class Expr {
 
     public Expr() {}
 
+    public abstract boolean equals(Map remap, Expr e);
+
     public abstract Set getRequiredDescriptors();
 
     public abstract void generate(CodeWriter writer, VarDescriptor dest);
index 46a8111690f0d30027df72d3ce91e90086425d33..49f52b581d04f9e554e9d9272022cb48f43fd655 100755 (executable)
@@ -9,6 +9,14 @@ public class IntegerLiteralExpr extends LiteralExpr {
         td = ReservedTypeDescriptor.INT;
     }
 
+    public abstract boolean equals(Map remap, Expr e) {
+       if (e==null)
+           return false;
+       else if (!e instanceof IntegerLiteralExpr)
+           return false;
+       else return (((IntegerLiteralExpr)e).value==value);
+    }
+
     public int getValue() {
         return value;
     }
index 351f468a4a4ed49ea5348c07f809df5c52a91ff8..4d34f0054c8ebf2d5468e01ce56682695a23391f 100755 (executable)
@@ -254,9 +254,10 @@ public class Termination {
                            boolean foundall=true;
                            if ((q instanceof SetQuantifier)||(q instanceof ForQuantifier)) {
                                VarDescriptor vd=null;
-                               if (q instanceof SetQuantifier)
+                               SetDescriptor set=null;
+                               if (q instanceof SetQuantifier) {
                                    vd=((SetQuantifier)q).getVar();
-                               else
+                               else
                                    vd=((ForQuantifier)q).getVar();
                                if(inc instanceof SetInclusion) {
                                    SetInclusion si=(SetInclusion)inc;
index 0a7c6f24aa39c9ac058dfbbc38101e023fce0fc1..71b2ae07668584987af531da8ce8fa173424f3a4 100755 (executable)
@@ -22,6 +22,14 @@ public class TokenLiteralExpr extends LiteralExpr {
         }           
     }
 
+    public abstract boolean equals(Map remap, Expr e) {
+       if (e==null)
+           return false;
+       else if (!e instanceof TokenLiteralExpr)
+           return false;
+       else return ((BooleanLiteralExpr)e).num.equals(num);
+    }
+
     public String getValue() {
         return token;
     }