diff dmd/TypeQualified.d @ 56:51605de93870

TupleExp.optimize UnrolledLoopStatement.ctor UnrolledLoopStatement.semantic UnrolledLoopStatement.blockExit OrOrExp.checkSideEffect FuncExp.syntaxCopy FuncLiteralDeclaration.syntaxCopy WhileStatement.hasBreak StructInitializer.toExpression StructLiteralExp.ctor StructLiteralExp.optimize BinExp.commonSemanticAssign ModAssignExp.opId Argument.isLazyArray CommaExp.implicitConvTo CommaExp.castTo TypeClass.isBaseOf createTypeInfoArray TypeTuple.getTypeInfoDeclaration TypeInfoTupleDeclaration.ctor TypeNext.constConv XorExp.implicitConvTo TemplateParameter.isTemplateValueParameter
author korDen
date Sat, 21 Aug 2010 14:16:53 +0400
parents 69d078c417c6
children 2e2a5c3f943a
line wrap: on
line diff
--- a/dmd/TypeQualified.d	Sat Aug 21 13:28:16 2010 +0400
+++ b/dmd/TypeQualified.d	Sat Aug 21 14:16:53 2010 +0400
@@ -60,6 +60,7 @@
 	
     void addIdent(Object ident)
 	{
+		assert(ident !is null);
 		idents.push(cast(void*)ident);
 	}
 	
@@ -117,8 +118,10 @@
 			//printf("\t2: s = '%s' %p, kind = '%s'\n",s.toChars(), s, s.kind());
 			for (int i = 0; i < idents.dim; i++)
 			{
-				Identifier id = cast(Identifier)idents.data[i];
-				Dsymbol sm = s.searchX(loc, sc, id);
+				Object o = cast(Object)idents.data[i];
+				
+				Dsymbol sm = s.searchX(loc, sc, o);
+				Identifier id = cast(Identifier)o;
 				//printf("\t3: s = '%s' %p, kind = '%s'\n",s.toChars(), s, s.kind());
 				//printf("\tgetType = '%s'\n", s.getType().toChars());
 				if (!sm)