Mercurial > projects > ddmd
diff dmd/MulAssignExp.d @ 130:60bb0fe4563e
dmdfe 2.037 first main iteration
author | Eldar Insafutdinov <e.insafutdinov@gmail.com> |
---|---|
date | Thu, 09 Sep 2010 22:51:44 +0100 |
parents | 9e39c7de8438 |
children | e3afd1303184 |
line wrap: on
line diff
--- a/dmd/MulAssignExp.d Sun Sep 05 15:32:22 2010 +0400 +++ b/dmd/MulAssignExp.d Thu Sep 09 22:51:44 2010 +0100 @@ -14,6 +14,7 @@ import dmd.TOK; import dmd.Type; import dmd.TY; +import dmd.ArrayLengthExp; import dmd.backend.elem; import dmd.backend.OPER; @@ -38,6 +39,15 @@ if (e) return e; +version(DMDV2) { + if (e1.op == TOK.TOKarraylength) + { + e = ArrayLengthExp.rewriteOpAssign(this); + e = e.semantic(sc); + return e; + } +} + if (e1.op == TOKslice) { // T[] -= ... typeCombine(sc); @@ -96,7 +106,7 @@ AssignExp_buildArrayIdent(buf, arguments, "Mul"); } - override Expression buildArrayLoop(Arguments fparams) + override Expression buildArrayLoop(Parameters fparams) { return AssignExp_buildArrayLoop!(typeof(this))(fparams); }