Mercurial > projects > ddmd
diff dmd/TypeClass.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 | af1bebfd96a4 |
line wrap: on
line diff
--- a/dmd/TypeClass.d Sun Sep 05 15:32:22 2010 +0400 +++ b/dmd/TypeClass.d Thu Sep 09 22:51:44 2010 +0100 @@ -200,7 +200,7 @@ * at compile time. */ if (!sym.vclassinfo) - sym.vclassinfo = new ClassInfoDeclaration(sym); + sym.vclassinfo = new TypeInfoClassDeclaration(sym.type); e = new VarExp(e.loc, sym.vclassinfo); e = e.addressOf(sc); @@ -273,41 +273,7 @@ } else { - if (ident !is Id.__sizeof && - ident !is Id.alignof_ && - ident !is Id.init_ && - ident !is Id.mangleof_ && - ident !is Id.stringof_ && - ident !is Id.offsetof) - { - /* See if we should forward to the alias this. - */ - if (sym.aliasthis) - { - /* Rewrite e.ident as: - * e.aliasthis.ident - */ - e = new DotIdExp(e.loc, e, sym.aliasthis.ident); - e = new DotIdExp(e.loc, e, ident); - return e.semantic(sc); - } - - /* Look for overloaded opDot() to see if we should forward request - * to it. - */ - Dsymbol fd = search_function(sym, Id.opDot); - if (fd) - { - /* Rewrite e.ident as: - * e.opId().ident - */ - e = build_overload(e.loc, sc, e, null, fd.ident); - e = new DotIdExp(e.loc, e, ident); - return e.semantic(sc); - } - } - - return Type.dotExp(sc, e, ident); + return noMember(sc, e, ident); } }