Mercurial > projects > ddmd
diff dmd/DotIdExp.d @ 130:60bb0fe4563e
dmdfe 2.037 first main iteration
author | Eldar Insafutdinov <e.insafutdinov@gmail.com> |
---|---|
date | Thu, 09 Sep 2010 22:51:44 +0100 |
parents | e28b18c23469 |
children | 9d194c848e3a |
line wrap: on
line diff
--- a/dmd/DotIdExp.d Sun Sep 05 15:32:22 2010 +0400 +++ b/dmd/DotIdExp.d Thu Sep 09 22:51:44 2010 +0100 @@ -56,6 +56,12 @@ override Expression semantic(Scope sc) { + // Indicate we didn't come from CallExp::semantic() + return semantic(sc, 0); + } + + Expression semantic(Scope sc, int flag) + { Expression e; Expression eleft; Expression eright; @@ -187,7 +193,7 @@ * The check for 'is sds our current module' is because * the current module should have access to its own imports. */ - Dsymbol s = ie.sds.search(loc, ident, + Dsymbol s = ie.sds.search(loc, ident, //0); (ie.sds.isModule() && ie.sds != sc.module_) ? 1 : 0); if (s) { @@ -355,7 +361,8 @@ else { e = e1.type.dotExp(sc, e1, ident); - e = e.semantic(sc); + if (!(flag && e.op == TOK.TOKdotti)) // let CallExp::semantic() handle this + e = e.semantic(sc); return e; } }