Completed support for generating C code.
[repair.git] / Repair / RepairCompiler / MCC / IR / SetQuantifier.java
index d17505eeb96620d141df54f4278b69bcf16fb47f..2aa7090ef6468d77d0ed65b5a6959854480ef0f5 100755 (executable)
@@ -38,23 +38,25 @@ public class SetQuantifier extends Quantifier {
     }
 
     public void generate_open(CodeWriter writer) {
-       writer.outputline("struct SimpleIterator "+var.getSafeSymbol()+"_iterator;");
+       writer.addDeclaration("struct SimpleIterator",var.getSafeSymbol()+"_iterator");
         writer.outputline("for (SimpleHashiterator("+set.getSafeSymbol()+"_hash, & "+ var.getSafeSymbol()+"_iterator); hasNext(&"+var.getSafeSymbol()+"_iterator); )");
         writer.startblock();
-        writer.outputline(var.getType().getGenerateType() + " " + var.getSafeSymbol() + " = (" + var.getType().getGenerateType() + ") next(&"+var.getSafeSymbol()+"_iterator);");
+        writer.addDeclaration(var.getType().getGenerateType().toString(), var.getSafeSymbol());
+        writer.outputline(var.getSafeSymbol() + " = (" + var.getType().getGenerateType() + ") next(&"+var.getSafeSymbol()+"_iterator);");
     }
 
     public void generate_open(CodeWriter writer, String type,int number, String left,String right) {
        VarDescriptor tmp=VarDescriptor.makeNew("flag");
-       writer.outputline("struct SimpleIterator "+var.getSafeSymbol()+"_iterator;");
+       writer.addDeclaration("struct SimpleIterator",var.getSafeSymbol()+"_iterator");
         writer.outputline("SimpleHashiterator("+set.getSafeSymbol()+"_hash, &"+var.getSafeSymbol()+"_iterator);");
-       writer.outputline("int "+tmp.getSafeSymbol()+"=0;");
+       writer.addDeclaration("int",tmp.getSafeSymbol());
+       writer.outputline(tmp.getSafeSymbol()+"=0;");
        writer.outputline("if ("+type+"=="+number+")");
        writer.outputline(tmp.getSafeSymbol()+"=1;");
 
        writer.outputline("while("+tmp.getSafeSymbol()+"||(("+type+"!="+number+")&&hasNext(&"+var.getSafeSymbol()+"_iterator)))");
         writer.startblock();
-        writer.outputline(var.getType().getGenerateType() + " " + var.getSafeSymbol() + ";");
+        writer.addDeclaration(var.getType().getGenerateType().toString(), var.getSafeSymbol());
        writer.outputline("if ("+type+"=="+number+")");
        writer.startblock();
        writer.outputline(tmp.getSafeSymbol()+"=0;");
@@ -66,7 +68,8 @@ public class SetQuantifier extends Quantifier {
 
     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;
     }