comparison dmd/BinExp.d @ 126:1765f3ef917d

ClassDeclarations, Arguments -> Vector
author Eldar Insafutdinov <e.insafutdinov@gmail.com>
date Fri, 03 Sep 2010 23:25:55 +0100
parents 9e39c7de8438
children 60bb0fe4563e
comparison
equal deleted inserted replaced
125:767a01c2a272 126:1765f3ef917d
1657 * return p; 1657 * return p;
1658 */ 1658 */
1659 1659
1660 Arguments fparams = new Arguments(); 1660 Arguments fparams = new Arguments();
1661 Expression loopbody = buildArrayLoop(fparams); 1661 Expression loopbody = buildArrayLoop(fparams);
1662 Argument p = cast(Argument)fparams.data[0 /*fparams.dim - 1*/]; 1662 auto p = fparams[0 /*fparams.dim - 1*/];
1663 version (DMDV1) { 1663 version (DMDV1) {
1664 // for (size_t i = 0; i < p.length; i++) 1664 // for (size_t i = 0; i < p.length; i++)
1665 Initializer init = new ExpInitializer(0, new IntegerExp(0, 0, Type.tsize_t)); 1665 Initializer init = new ExpInitializer(0, new IntegerExp(0, 0, Type.tsize_t));
1666 Dsymbol d = new VarDeclaration(0, Type.tsize_t, Id.p, init); 1666 Dsymbol d = new VarDeclaration(0, Type.tsize_t, Id.p, init);
1667 Statement s1 = new ForStatement(0, 1667 Statement s1 = new ForStatement(0,
2034 { 2034 {
2035 /* Evaluate assign expressions right to left 2035 /* Evaluate assign expressions right to left
2036 */ 2036 */
2037 Expression ex2 = e2.buildArrayLoop(fparams); 2037 Expression ex2 = e2.buildArrayLoop(fparams);
2038 Expression ex1 = e1.buildArrayLoop(fparams); 2038 Expression ex1 = e1.buildArrayLoop(fparams);
2039 Argument param = cast(Argument)fparams.data[0]; 2039 auto param = fparams[0];
2040 param.storageClass = STCundefined; 2040 param.storageClass = STCundefined;
2041 Expression e = new AssignExpType(Loc(0), ex1, ex2); 2041 Expression e = new AssignExpType(Loc(0), ex1, ex2);
2042 return e; 2042 return e;
2043 } 2043 }
2044 2044