diff dmd/TypeTuple.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 60bb0fe4563e
line wrap: on
line diff
--- a/dmd/TypeTuple.d	Fri Sep 03 22:17:54 2010 +0100
+++ b/dmd/TypeTuple.d	Fri Sep 03 23:25:55 2010 +0100
@@ -32,9 +32,8 @@
 		debug {
 			if (arguments)
 			{
-				for (size_t i = 0; i < arguments.dim; i++)
+				foreach (arg; arguments)
 				{
-					Argument arg = cast(Argument)arguments.data[i];
 					assert(arg && arg.type);
 				}
 			}
@@ -65,7 +64,7 @@
 				if (e.type.ty == Ttuple)
 					e.error("cannot form tuple of tuples");
 				auto arg = new Argument(STCundefined, e.type, null, null);
-				arguments.data[i] = cast(void *)arg;
+				arguments[i] = arg;
 			}
 		}
 		this.arguments = arguments;
@@ -73,8 +72,8 @@
 
 	override Type syntaxCopy()
 	{
-		Arguments args = Argument.arraySyntaxCopy(arguments);
-		Type t = new TypeTuple(args);
+		auto args = Argument.arraySyntaxCopy(arguments);
+		auto t = new TypeTuple(args);
 		t.mod = mod;
 		return t;
 	}
@@ -108,8 +107,8 @@
 			if (arguments.dim == tt.arguments.dim)
 			{
 				for (size_t i = 0; i < tt.arguments.dim; i++)
-				{   Argument arg1 = cast(Argument)arguments.data[i];
-					Argument arg2 = cast(Argument)tt.arguments.data[i];
+				{   auto arg1 = arguments[i];
+					auto arg2 = tt.arguments[i];
 
 					if (!arg1.type.equals(arg2.type))
 						return 0;
@@ -124,10 +123,9 @@
 	{
 		if (arguments)
 		{
-			for (size_t i = 0; i < arguments.dim; i++)
+			foreach (arg; arguments)
 			{
-				Argument arg = cast(Argument)arguments.data[i];
-				Type t = arg.type.reliesOnTident();
+				auto t = arg.type.reliesOnTident();
 				if (t)
 					return t;
 			}