diff dmd/IfStatement.d @ 174:af724d3510d7

lot os toCBuffer methods implemented moved shared Type.* stuff into Global
author korDen
date Sun, 10 Oct 2010 03:47:23 +0400
parents 14feb7ae01a6
children e3afd1303184
line wrap: on
line diff
--- a/dmd/IfStatement.d	Sun Oct 10 01:55:35 2010 +0400
+++ b/dmd/IfStatement.d	Sun Oct 10 03:47:23 2010 +0400
@@ -157,7 +157,28 @@
 	
     override void toCBuffer(OutBuffer buf, HdrGenState* hgs)
 	{
-		assert(false);
+		buf.writestring("if (");
+		if (arg)
+		{
+			if (arg.type)
+				arg.type.toCBuffer(buf, arg.ident, hgs);
+			else
+			{   
+				buf.writestring("auto ");
+				buf.writestring(arg.ident.toChars());
+			}
+			buf.writestring(" = ");
+		}
+		condition.toCBuffer(buf, hgs);
+		buf.writebyte(')');
+		buf.writenl();
+		ifbody.toCBuffer(buf, hgs);
+		if (elsebody)
+		{   
+			buf.writestring("else");
+			buf.writenl();
+			elsebody.toCBuffer(buf, hgs);
+		}
 	}
 	
     override bool usesEH()