Mercurial > projects > ddmd
diff dmd/VersionSymbol.d @ 129:010eb8f0e18d
further work on dmd test suite
author | korDen |
---|---|
date | Sun, 05 Sep 2010 15:32:22 +0400 |
parents | e28b18c23469 |
children | e3afd1303184 |
line wrap: on
line diff
--- a/dmd/VersionSymbol.d Sat Sep 04 01:33:05 2010 +0100 +++ b/dmd/VersionSymbol.d Sun Sep 05 15:32:22 2010 +0400 @@ -13,14 +13,14 @@ import dmd.String; import dmd.OutBuffer; +/* VersionSymbol's happen for statements like: + * version = identifier; + * version = integer; + */ class VersionSymbol : Dsymbol { uint level; - /* VersionSymbol's happen for statements like: - * version = identifier; - * version = integer; - */ this(Loc loc, Identifier ident) { super(ident); @@ -37,7 +37,10 @@ override Dsymbol syntaxCopy(Dsymbol s) { - assert(false); + assert(!s); + VersionSymbol ds = new VersionSymbol(loc, ident); + ds.level = level; + return ds; } override bool addMember(Scope sc, ScopeDsymbol s, bool memnum) @@ -78,11 +81,17 @@ override void toCBuffer(OutBuffer buf, HdrGenState* hgs) { - assert(false); + buf.writestring("version = "); + if (ident) + buf.writestring(ident.toChars()); + else + buf.printf("%u", level); + buf.writestring(";"); + buf.writenl(); } override string kind() { - assert(false); + return "version"; } }