fix generation of graph files
[repair.git] / Repair / RepairCompiler / MCC / IR / ForQuantifier.java
index e4150d246cd4be234ea7198945280a529f64b4a5..20a0356fb0f3f0c25c9f408557d1ee7a7c999b96 100755 (executable)
@@ -14,17 +14,24 @@ public class ForQuantifier extends Quantifier {
         this.var = vd;
     }
 
+    public VarDescriptor getVar() {
+       return var;
+    }
+
     public void setBounds(Expr lower, Expr upper) {
         this.lower = lower;
         this.upper = upper;
     }
 
     public Set getRequiredDescriptors() {
-        return new HashSet();
+        HashSet set=new HashSet();
+       set.addAll(lower.getRequiredDescriptors());
+       set.addAll(upper.getRequiredDescriptors());
+       return set;
     }
 
     public String toString() {
-        return "for quantifier " + var.getSymbol() + " = " + lower + " to " + upper;
+        return "for quantifier " + var.getSymbol() + " = " + lower.name() + " to " + upper.name();
     }
 
     public void generate_open(CodeWriter writer) {
@@ -32,14 +39,20 @@ public class ForQuantifier extends Quantifier {
         VarDescriptor ud = VarDescriptor.makeNew();
         lower.generate(writer, ld);
         upper.generate(writer, ud);
-        
-        writer.outputline("for (int " + var.getSafeSymbol() + " = " + ld.getSafeSymbol() + "; " + var.getSafeSymbol() + " <= " + ud.getSafeSymbol() + "; " + var.getSafeSymbol() + "++)");
+        writer.addDeclaration("int",var.getSafeSymbol());
+        writer.outputline("for (" + var.getSafeSymbol() + " = " + ld.getSafeSymbol() + "; " + var.getSafeSymbol() + " <= " + ud.getSafeSymbol() + "; " + var.getSafeSymbol() + "++)");
         writer.startblock();
     }
 
+    public void generate_open(CodeWriter writer, String type,int number, String
+left,String right) {
+       generate_open(writer);
+    }
+
     public int generate_worklistload(CodeWriter writer, int offset) {        
         String varname = var.getSafeSymbol();
-        writer.outputline("int " + varname + " = wi->word" + offset + ";"); 
+       writer.addDeclaration("int",varname);
+        writer.outputline(varname + " = wi->word" + offset + ";"); 
         return offset + 1;       
     }