writer.outputline(var.getType().getGenerateType() + " " + var.getSafeSymbol() + " = (" + var.getType().getGenerateType() + ") " + var.getSafeSymbol() + "_iterator->next();");
}
+ public void generate_open(CodeWriter writer, String type,int number, String left,String right) {
+ VarDescriptor tmp=VarDescriptor.makeNew("flag");
+ writer.outputline("SimpleIterator* " + var.getSafeSymbol() + "_iterator = " + set.getSafeSymbol() + "_hash->iterator();");
+ writer.outputline("int "+tmp.getSafeSymbol()+"=0;");
+ writer.outputline("if ("+type+"=="+number+")");
+ writer.outputline(tmp.getSafeSymbol()+"=1;");
+
+ writer.outputline("while("+tmp.getSafeSymbol()+"||(("+type+"!="+number+")&&"+var.getSafeSymbol() + "_iterator->hasNext()))");
+ writer.startblock();
+ writer.outputline(var.getType().getGenerateType() + " " + var.getSafeSymbol() + ";");
+ writer.outputline("if ("+type+"=="+number+")");
+ writer.startblock();
+ writer.outputline(tmp.getSafeSymbol()+"=0;");
+ writer.outputline(var.getSafeSymbol() + " = (" + var.getType().getGenerateType() + ") " + left + ";");
+ writer.endblock();
+ writer.outputline("else");
+ writer.outputline(var.getSafeSymbol() + " = (" + var.getType().getGenerateType() + ") " + var.getSafeSymbol() + "_iterator->next();");
+ }
+
public int generate_worklistload(CodeWriter writer, int offset) {
String varname = var.getSafeSymbol();
writer.outputline("int " + varname + " = wi->word" + offset + ";");