comparison dmd/ForeachStatement.d @ 12:832f71e6f96c

*Exp and *AssignExp arrayOp implementation added (might be a bit incomplete) Some unittest-specific functions implemented
author korDen
date Mon, 12 Apr 2010 15:13:00 +0400
parents 10317f0c89a5
children a8b50ff7f201
comparison
equal deleted inserted replaced
11:3356c90e9aac 12:832f71e6f96c
652 case TY.Tchar: flag += 0; break; 652 case TY.Tchar: flag += 0; break;
653 case TY.Twchar: flag += 1; break; 653 case TY.Twchar: flag += 1; break;
654 case TY.Tdchar: flag += 2; break; 654 case TY.Tdchar: flag += 2; break;
655 } 655 }
656 string r = (op == TOK.TOKforeach_reverse) ? "R" : ""; 656 string r = (op == TOK.TOKforeach_reverse) ? "R" : "";
657 int j = sprintf(fdname.ptr, "_aApply%*.s%.*s%ld".ptr, r, 2, fntab[flag].ptr, dim); 657 int j = sprintf(fdname.ptr, "_aApply%.*s%.*s%ld".ptr, r, 2, fntab[flag].ptr, dim);
658 assert(j < fdname.sizeof); 658 assert(j < fdname.sizeof);
659 fdapply = FuncDeclaration.genCfunc(Type.tindex, fdname[0..j].idup); 659 fdapply = FuncDeclaration.genCfunc(Type.tindex, fdname[0..j].idup);
660 660
661 ec = new VarExp(Loc(0), fdapply); 661 ec = new VarExp(Loc(0), fdapply);
662 Expressions exps = new Expressions(); 662 Expressions exps = new Expressions();