Mercurial > projects > ddmd
diff dmd/Module.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/Module.d Sun Aug 29 09:43:40 2010 +0100 +++ b/dmd/Module.d Sun Aug 29 14:36:55 2010 +0100 @@ -709,17 +709,12 @@ * If this works out well, it can be extended to all modules * before any semantic() on any of them. */ - for (i = 0; i < members.dim; i++) - { - Dsymbol s = cast(Dsymbol)members.data[i]; + foreach(Dsymbol s; members) s.setScope(sc); - } // Pass 1 semantic routines: do public side of the definition - for (i = 0; i < members.dim; i++) + foreach (Dsymbol s; members) { - Dsymbol s = cast(Dsymbol)members.data[i]; - //writef("\tModule('%s'): '%s'.semantic()\n", toChars(), s.toChars()); s.semantic(sc); runDeferredSemantic(); @@ -756,11 +751,8 @@ //printf("Module = %p\n", sc.scopesym); // Pass 2 semantic routines: do initializers and function bodies - for (int i = 0; i < members.dim; i++) - { - Dsymbol s = cast(Dsymbol)members.data[i]; + foreach(Dsymbol s; members) s.semantic2(sc); - } sc = sc.pop(); sc.pop(); @@ -783,9 +775,8 @@ //printf("Module = %p\n", sc.scopesym); // Pass 3 semantic routines: do initializers and function bodies - for (int i = 0; i < members.dim; i++) + foreach(Dsymbol s; members) { - Dsymbol s = cast(Dsymbol)members.data[i]; //printf("Module %s: %s.semantic3()\n", toChars(), s.toChars()); s.semantic3(sc); } @@ -810,9 +801,8 @@ // gets imported, it is unaffected by context. //printf("Module = %p\n", sc.scopesym); - for (i = 0; i < members.dim; i++) + foreach(Dsymbol s; members) { - Dsymbol s = cast(Dsymbol)members.data[i]; //if (global.params.verbose) //printf("inline scan symbol %s\n", s.toChars()); s.inlineScan(); @@ -931,11 +921,8 @@ covb = cast(uint*)GC.calloc(((numlines + 32) / 32) * (*covb).sizeof); } - for (int i = 0; i < members.dim; i++) - { - Dsymbol member = cast(Dsymbol)members.data[i]; + foreach(Dsymbol member; members) member.toObjFile(multiobj); - } if (global.params.cov) { @@ -1470,10 +1457,8 @@ ClassDeclarations aclasses = new ClassDeclarations(); //printf("members.dim = %d\n", members.dim); - for (int i = 0; i < members.dim; i++) + foreach(Dsymbol member; members) { - Dsymbol member = cast(Dsymbol)members.data[i]; - //printf("\tmember '%s'\n", member.toChars()); member.addLocalClass(aclasses); }