Mercurial > projects > ddmd
diff dmd/StructDeclaration.d @ 77:ad4792a1cfd6
more D-ification container accessing
author | Eldar Insafutdinov <e.insafutdinov@gmail.com> |
---|---|
date | Sun, 29 Aug 2010 14:36:55 +0100 |
parents | 7e0d548de9e6 |
children | 43073c7c7769 |
line wrap: on
line diff
--- a/dmd/StructDeclaration.d Sun Aug 29 09:43:40 2010 +0100 +++ b/dmd/StructDeclaration.d Sun Aug 29 14:36:55 2010 +0100 @@ -148,9 +148,8 @@ if (sizeok == 0) // if not already done the addMember step { int hasfunctions = 0; - for (i = 0; i < members.dim; i++) + foreach(Dsymbol s; members) { - Dsymbol s = cast(Dsymbol)members.data[i]; //printf("adding member '%s' to '%s'\n", s.toChars(), this.toChars()); s.addMember(sc, this, true); if (s.isFuncDeclaration()) @@ -202,9 +201,8 @@ sc2.explicitProtection = 0; int members_dim = members.dim; - for (i = 0; i < members_dim; i++) + foreach(Dsymbol s; members) { - Dsymbol s = cast(Dsymbol)members.data[i]; s.semantic(sc2); if (isUnionDeclaration()) sc2.offset = 0; @@ -615,12 +613,12 @@ return null; case 1: - return cast(FuncDeclaration)postblits.data[0]; + return cast(FuncDeclaration)postblits[0]; default: e = null; - for (size_t i = 0; i < postblits.dim; i++) - { FuncDeclaration fd = cast(FuncDeclaration)postblits.data[i]; + foreach(FuncDeclaration fd; postblits) + { Expression ex = new ThisExp(Loc(0)); ex = new DotVarExp(Loc(0), ex, fd, 0); ex = new CallExp(Loc(0), ex); @@ -781,11 +779,8 @@ } // Put out the members - for (uint i = 0; i < members.dim; i++) - { - Dsymbol member = cast(Dsymbol)members.data[i]; + foreach(Dsymbol member; members) member.toObjFile(0); - } } }