Mercurial > projects > ddmd
comparison dmd/DotIdExp.d @ 109:ceda59b4d255
expression.c changes, now only ddoc should be left
author | Trass3r |
---|---|
date | Tue, 31 Aug 2010 22:08:52 +0200 |
parents | 39648eb578f6 |
children | e28b18c23469 |
comparison
equal
deleted
inserted
replaced
108:6da99741178e | 109:ceda59b4d255 |
---|---|
335 * as: | 335 * as: |
336 * .ident(e1) | 336 * .ident(e1) |
337 */ | 337 */ |
338 uint errors = global.errors; | 338 uint errors = global.errors; |
339 global.gag++; | 339 global.gag++; |
340 Type t1 = e1.type; | |
340 e = e1.type.dotExp(sc, e1, ident); | 341 e = e1.type.dotExp(sc, e1, ident); |
341 global.gag--; | 342 global.gag--; |
342 if (errors != global.errors) // if failed to find the property | 343 if (errors != global.errors) // if failed to find the property |
343 { | 344 { |
344 global.errors = errors; | 345 global.errors = errors; |
346 e1.type = t1; // kludge to restore type | |
345 e = new DotIdExp(loc, new IdentifierExp(loc, Id.empty), ident); | 347 e = new DotIdExp(loc, new IdentifierExp(loc, Id.empty), ident); |
346 e = new CallExp(loc, e, e1); | 348 e = new CallExp(loc, e, e1); |
347 } | 349 } |
348 e = e.semantic(sc); | 350 e = e.semantic(sc); |
349 return e; | 351 return e; |