# HG changeset patch # User korDen # Date 1287347804 -14400 # Node ID aa70dca07cb0dfa2727e8a187fa80eee69605b97 # Parent 0622fff7810aa6cf4706ad83787fbfe0cb661c03 ArrayExp.toCBuffer and TypeReturn.toCBuffer2 diff -r 0622fff7810a -r aa70dca07cb0 dmd/ArrayExp.d --- a/dmd/ArrayExp.d Sun Oct 17 23:23:28 2010 +0400 +++ b/dmd/ArrayExp.d Mon Oct 18 00:36:44 2010 +0400 @@ -12,6 +12,7 @@ import dmd.HdrGenState; import dmd.InlineScanState; import dmd.ArrayTypes; +import dmd.PREC; import dmd.TOK; import dmd.Type; import dmd.TY; @@ -90,7 +91,10 @@ override void toCBuffer(OutBuffer buf, HdrGenState* hgs) { - assert(false); + expToCBuffer(buf, hgs, e1, PREC_primary); + buf.writeByte('['); + argsToCBuffer(buf, arguments, hgs); + buf.writeByte(']'); } override void scanForNestedRef(Scope sc) diff -r 0622fff7810a -r aa70dca07cb0 dmd/TypeReturn.d --- a/dmd/TypeReturn.d Sun Oct 17 23:23:28 2010 +0400 +++ b/dmd/TypeReturn.d Mon Oct 18 00:36:44 2010 +0400 @@ -87,6 +87,12 @@ override void toCBuffer2(OutBuffer buf, HdrGenState* hgs, MOD mod) { - assert(false); + if (mod != this.mod) + { + toCBuffer3(buf, hgs, mod); + return; + } + buf.writestring("typeof(return)"); + toCBuffer2Helper(buf, hgs); } }