diff dmd/Argument.d @ 126:1765f3ef917d

ClassDeclarations, Arguments -> Vector
author Eldar Insafutdinov <e.insafutdinov@gmail.com>
date Fri, 03 Sep 2010 23:25:55 +0100
parents e28b18c23469
children
line wrap: on
line diff
--- a/dmd/Argument.d	Fri Sep 03 22:17:54 2010 +0100
+++ b/dmd/Argument.d	Fri Sep 03 23:25:55 2010 +0100
@@ -104,7 +104,7 @@
 	
     static Arguments arraySyntaxCopy(Arguments args)
 	{
-		Arguments a = null;
+		typeof(return) a = null;
 
 		if (args)
 		{
@@ -113,10 +113,10 @@
 
 			for (size_t i = 0; i < a.dim; i++)
 			{   
-				Argument arg = cast(Argument)args.data[i];
+				auto arg = args[i];
 
 				arg = arg.syntaxCopy();
-				a.data[i] = cast(void*)arg;
+				a[i] = arg;
 			}
 		}
 	
@@ -175,7 +175,7 @@
 			{
 				if (i)
 					buf.writestring(", ");
-				Argument arg = cast(Argument)arguments.data[i];
+				auto arg = arguments[i];
 
 				if (arg.storageClass & STCout)
 					buf.writestring("out ");
@@ -250,14 +250,13 @@
 		size_t n = 0;
 		if (args)
 		{
-			for (size_t i = 0; i < args.dim; i++)
+			foreach (arg; args)
 			{   
-				Argument arg = cast(Argument)args.data[i];
 				Type t = arg.type.toBasetype();
 
 				if (t.ty == TY.Ttuple)
 				{   
-					TypeTuple tu = cast(TypeTuple)t;
+					auto tu = cast(TypeTuple)t;
 					n += dim(tu.arguments);
 				}
 				else
@@ -280,9 +279,8 @@
 			return null;
 
 		size_t n = 0;
-		for (size_t i = 0; i < args.dim; i++)
+		foreach (arg; args)
 		{   
-			Argument arg = cast(Argument)args.data[i];
 			Type t = arg.type.toBasetype();
 
 			if (t.ty == TY.Ttuple)