changeset 52:69d078c417c6

Identifier <-> TemplateInstance casts workaround
author korDen
date Sat, 21 Aug 2010 11:50:50 +0400
parents b7d29f613539
children a8b50ff7f201
files dmd/TypeQualified.d
diffstat 1 files changed, 5 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/dmd/TypeQualified.d	Sat Aug 21 11:17:42 2010 +0400
+++ b/dmd/TypeQualified.d	Sat Aug 21 11:50:50 2010 +0400
@@ -48,20 +48,17 @@
 		idents.setDim(t.idents.dim);
 		for (int i = 0; i < idents.dim; i++)
 		{
-			Identifier id = cast(Identifier)t.idents.data[i];
-			if (id.dyncast() == DYNCAST.DYNCAST_DSYMBOL)
+			Object o = cast(Object)t.idents.data[i];
+			if (TemplateInstance ti = cast(TemplateInstance)o)
 			{
-				TemplateInstance ti = cast(TemplateInstance)id;
-
-				ti = cast(TemplateInstance)ti.syntaxCopy(null);
-				id = cast(Identifier)ti;
+				o = ti.syntaxCopy(null);
 			}
 
-			idents.data[i] = cast(void*)id;
+			idents.data[i] = cast(void*)o;
 		}
 	}
 	
-    void addIdent(Identifier ident)
+    void addIdent(Object ident)
 	{
 		idents.push(cast(void*)ident);
 	}