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