Mercurial > projects > ddmd
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()