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);
 		}