Mercurial > projects > ddmd
view dmd/InlineDoState.d @ 84:be2ab491772e
Expressions -> Vector!Expression
author | Eldar Insafutdinov <e.insafutdinov@gmail.com> |
---|---|
date | Mon, 30 Aug 2010 16:12:19 +0100 |
parents | 10317f0c89a5 |
children | 39648eb578f6 |
line wrap: on
line source
module dmd.InlineDoState; import dmd.Array; import dmd.Dsymbol; import dmd.VarDeclaration; import dmd.Expression; import dmd.ArrayTypes; class InlineDoState { VarDeclaration vthis; Array from; // old Dsymbols Array to; // parallel array of new Dsymbols Dsymbol parent; // new parent this() { from = new Array(); to = new Array(); } } /****************************** * Perform doInline() on an array of Expressions. */ Expressions arrayExpressiondoInline(Expressions a, InlineDoState ids) { Expressions newa = null; if (a) { newa = new Expressions(); newa.setDim(a.dim); for (int i = 0; i < a.dim; i++) { Expression e = cast(Expression)a.data[i]; if (e) { e = e.doInline(ids); newa[i] = e; } } } return newa; }