Mercurial > projects > ddmd
view dmd/InlineCostState.d @ 187:b0d41ff5e0df
Added expandability scheme outlined in http://www.dsource.org/forums/viewtopic.php?t=5659&sid=6f2150ff5b0bffcd47512a6a7608d218
author | Abscissa |
---|---|
date | Tue, 07 Jun 2011 23:37:34 -0400 |
parents | e28b18c23469 |
children |
line wrap: on
line source
module dmd.InlineCostState; import dmd.common; import dmd.FuncDeclaration; import dmd.Expression; struct InlineCostState { int nested; int hasthis; int hdrscan; // !=0 if inline scan for 'header' content FuncDeclaration fd; } const int COST_MAX = 250; int arrayInlineCost(InlineCostState* ics, Expressions arguments) { int cost = 0; if (arguments) { foreach (e; arguments) { if (e) cost += e.inlineCost(ics); } } return cost; }