diff dmd/StructInitializer.d @ 127:9ee9b55452cb

Identifiers, Initializers -> Vector
author Eldar Insafutdinov <e.insafutdinov@gmail.com>
date Fri, 03 Sep 2010 23:55:51 +0100
parents e28b18c23469
children e6e542f37b94
line wrap: on
line diff
--- a/dmd/StructInitializer.d	Fri Sep 03 23:25:55 2010 +0100
+++ b/dmd/StructInitializer.d	Fri Sep 03 23:55:51 2010 +0100
@@ -52,18 +52,18 @@
 	
     override Initializer syntaxCopy()
 	{
-		StructInitializer ai = new StructInitializer(loc);
+		auto ai = new StructInitializer(loc);
 
 		assert(field.dim == value.dim);
 		ai.field.setDim(field.dim);
 		ai.value.setDim(value.dim);
 		for (int i = 0; i < field.dim; i++)
 		{    
-			ai.field.data[i] = field.data[i];
+			ai.field[i] = field[i];
 
-			Initializer init = cast(Initializer)value.data[i];
+			auto init = value[i];
 			init = init.syntaxCopy();
-			ai.value.data[i] = cast(void*)init;
+			ai.value[i] = init;
 		}
 
 		return ai;
@@ -72,8 +72,8 @@
     void addInit(Identifier field, Initializer value)
 	{
 		//printf("StructInitializer.addInit(field = %p, value = %p)\n", field, value);
-		this.field.push(cast(void*)field);
-		this.value.push(cast(void*)value);
+		this.field.push(field);
+		this.value.push(value);
 	}
 	
     override Initializer semantic(Scope sc, Type t)
@@ -93,8 +93,8 @@
 			ad = ts.sym;
 			for (i = 0; i < field.dim; i++)
 			{
-				Identifier id = cast(Identifier)field.data[i];
-				Initializer val = cast(Initializer)value.data[i];
+				Identifier id = field[i];
+				Initializer val = value[i];
 				Dsymbol s;
 				VarDeclaration v;
 
@@ -137,7 +137,7 @@
 				if (s && (v = s.isVarDeclaration()) !is null)
 				{
 					val = val.semantic(sc, v.type);
-					value.data[i] = cast(void*)val;
+					value[i] = val;
 					vars.data[i] = cast(void*)v;
 				}
 				else
@@ -195,9 +195,9 @@
 		Expressions elements = new Expressions();
 		for (size_t i = 0; i < value.dim; i++)
 		{
-			if (field.data[i])
+			if (field[i])
 				goto Lno;
-			Initializer iz = cast(Initializer)value.data[i];
+			Initializer iz = value[i];
 			if (!iz)
 				goto Lno;
 			Expression ex = iz.toExpression();
@@ -237,7 +237,7 @@
 		for (i = 0; i < vars.dim; i++)
 		{
 			VarDeclaration v = cast(VarDeclaration)vars.data[i];
-			Initializer val = cast(Initializer)value.data[i];
+			Initializer val = value[i];
 
 			//printf("vars[%d] = %s\n", i, v.toChars());