diff dmd/TemplateInstance.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/TemplateInstance.d	Sun Aug 29 09:43:40 2010 +0100
+++ b/dmd/TemplateInstance.d	Sun Aug 29 14:36:55 2010 +0100
@@ -479,9 +479,8 @@
 	//    parent = scope.scopesym;
 		symtab = new DsymbolTable();
 		bool memnum = false;
-		for (int i = 0; i < members.dim; i++)
+		foreach(Dsymbol s; members)
 		{
-			Dsymbol s = cast(Dsymbol)members.data[i];
 	version (LOG) {
 			printf("\t[%d] adding member '%s' %p kind %s to '%s', memnum = %d\n", i, s.toChars(), s, s.kind(), this.toChars(), memnum);
 	}
@@ -533,9 +532,8 @@
 				error("recursive expansion");
 				fatal();
 			}
-			for (int i = 0; i < members.dim; i++)
+			foreach(Dsymbol s; members)
 			{
-				Dsymbol s = cast(Dsymbol)members.data[i];
 				//printf("\t[%d] semantic on '%s' %p kind %s in '%s'\n", i, s.toChars(), s, s.kind(), this.toChars());
 				//printf("test: isnested = %d, sc2.parent = %s\n", isnested, sc2.parent.toChars());
 				//	if (isnested)
@@ -627,9 +625,8 @@
 			sc = sc.push(this);
 			sc.tinst = this;
 
-			for (i = 0; i < members.dim; i++)
+			foreach(Dsymbol s; members)
 			{
-				Dsymbol s = cast(Dsymbol)members.data[i];
 	version (LOG) {
 				printf("\tmember '%s', kind = '%s'\n", s.toChars(), s.kind());
 	}
@@ -660,11 +657,8 @@
 			sc = sc.push(argsym);
 			sc = sc.push(this);
 			sc.tinst = this;
-			for (int i = 0; i < members.dim; i++)
-			{
-				Dsymbol s = cast(Dsymbol)members.data[i];
+			foreach(Dsymbol s; members)
 				s.semantic3(sc);
-			}
 			sc = sc.pop();
 			sc.pop();
 		}
@@ -677,11 +671,8 @@
 	}
 		if (!errors && members)
 		{
-			for (int i = 0; i < members.dim; i++)
-			{
-				Dsymbol s = cast(Dsymbol)members.data[i];
+			foreach(Dsymbol s; members)
 				s.inlineScan();
-			}
 		}
 	}
 	
@@ -798,11 +789,8 @@
 				obj_append(this);
 			else
 			{
-				for (int i = 0; i < members.dim; i++)
-				{
-					Dsymbol s = cast(Dsymbol)members.data[i];
+				foreach(Dsymbol s; members)
 					s.toObjFile(multiobj);
-				}
 			}
 		}
 	}