On Saturday, 10 December 2011 at 11:17:19 UTC, Timon Gehr wrote:
On 12/10/2011 10:54 AM, Bernard Helyer wrote:
On Saturday, 10 December 2011 at 09:47:14 UTC, Timon Gehr wrote:
How is that an 'omission'?

Just my lame attempt at humour. :P

Should have thought of that. =)
Do you already have a working design? I think what Don suggested (process static if and mixins in sequence...<snip>

Nothing so elegant, I'm afraid. Each module has all top level declarations added to a list, SDC then iterates over the list trying to resolve them appropriately. If it can, it marks it as done and moves to the next. If it can't it increments the "can't resolve" counter and keeps going. If on a given loop the can't resolve counter is zero, then a source of top level declarations (static if, import statements, version blocks, etc) is added to the list. This keeps going until the entire list is handled, or we've hit an impossible situation.

Rather simplistic, but we haven't had any trouble with it yet.

Reply via email to