Mercurial > projects > ddmd
comparison dmd/CompoundStatement.d @ 63:cab4c37afb89
A bunch of implementations
author | korDen |
---|---|
date | Mon, 23 Aug 2010 16:52:24 +0400 |
parents | 0613413fa94c |
children | 2e2a5c3f943a |
comparison
equal
deleted
inserted
replaced
62:6557375aff35 | 63:cab4c37afb89 |
---|---|
266 } | 266 } |
267 } | 267 } |
268 return rs; | 268 return rs; |
269 } | 269 } |
270 | 270 |
271 Expression interpret(InterState* istate) | 271 Expression interpret(InterState istate) |
272 { | 272 { |
273 assert(false); | 273 Expression e = null; |
274 | |
275 version (LOG) { | |
276 printf("CompoundStatement.interpret()\n"); | |
277 } | |
278 if (istate.start == this) | |
279 istate.start = null; | |
280 if (statements) | |
281 { | |
282 for (size_t i = 0; i < statements.dim; i++) | |
283 { | |
284 Statement s = cast(Statement)statements.data[i]; | |
285 | |
286 if (s) | |
287 { | |
288 e = s.interpret(istate); | |
289 if (e) | |
290 break; | |
291 } | |
292 } | |
293 } | |
294 version (LOG) { | |
295 printf("-CompoundStatement.interpret() %p\n", e); | |
296 } | |
297 return e; | |
274 } | 298 } |
275 | 299 |
276 int inlineCost(InlineCostState* ics) | 300 int inlineCost(InlineCostState* ics) |
277 { | 301 { |
278 int cost = 0; | 302 int cost = 0; |