Mercurial > projects > ddmd
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 |