Mercurial > projects > ddmd
diff dmd/CompileExp.d @ 72:2e2a5c3f943a
reduced warnings by adding override to the methods
think this also normalizes different line endings used all over the place
author | Trass3r |
---|---|
date | Sat, 28 Aug 2010 16:19:48 +0200 |
parents | 460959608115 |
children | e28b18c23469 |
line wrap: on
line diff
--- a/dmd/CompileExp.d Sat Aug 28 16:14:07 2010 +0200 +++ b/dmd/CompileExp.d Sat Aug 28 16:19:48 2010 +0200 @@ -1,56 +1,56 @@ -module dmd.CompileExp; - -import dmd.Expression; -import dmd.UnaExp; -import dmd.OutBuffer; -import dmd.Loc; -import dmd.Scope; -import dmd.HdrGenState; -import dmd.TOK; -import dmd.PREC; -import dmd.WANT; -import dmd.StringExp; -import dmd.Type; -import dmd.Parser; - -import dmd.expression.Util; - -class CompileExp : UnaExp -{ - this(Loc loc, Expression e) - { - super(loc, TOK.TOKmixin, this.sizeof, e); - } - - Expression semantic(Scope sc) - { - version (LOGSEMANTIC) { - printf("CompileExp.semantic('%s')\n", toChars()); - } - UnaExp.semantic(sc); - e1 = resolveProperties(sc, e1); - e1 = e1.optimize(WANT.WANTvalue | WANT.WANTinterpret); - if (e1.op != TOK.TOKstring) - { error("argument to mixin must be a string, not (%s)", e1.toChars()); - type = Type.terror; - return this; - } - StringExp se = cast(StringExp)e1; - se = se.toUTF8(sc); - Parser p = new Parser(sc.module_, cast(ubyte*)se.string_, se.len, 0); - p.loc = loc; - p.nextToken(); - //printf("p.loc.linnum = %d\n", p.loc.linnum); - Expression e = p.parseExpression(); - if (p.token.value != TOK.TOKeof) - error("incomplete mixin expression (%s)", se.toChars()); - return e.semantic(sc); - } - - void toCBuffer(OutBuffer buf, HdrGenState* hgs) - { - buf.writestring("mixin("); - expToCBuffer(buf, hgs, e1, PREC.PREC_assign); - buf.writeByte(')'); - } -} +module dmd.CompileExp; + +import dmd.Expression; +import dmd.UnaExp; +import dmd.OutBuffer; +import dmd.Loc; +import dmd.Scope; +import dmd.HdrGenState; +import dmd.TOK; +import dmd.PREC; +import dmd.WANT; +import dmd.StringExp; +import dmd.Type; +import dmd.Parser; + +import dmd.expression.Util; + +class CompileExp : UnaExp +{ + this(Loc loc, Expression e) + { + super(loc, TOK.TOKmixin, this.sizeof, e); + } + + override Expression semantic(Scope sc) + { + version (LOGSEMANTIC) { + printf("CompileExp.semantic('%s')\n", toChars()); + } + UnaExp.semantic(sc); + e1 = resolveProperties(sc, e1); + e1 = e1.optimize(WANT.WANTvalue | WANT.WANTinterpret); + if (e1.op != TOK.TOKstring) + { error("argument to mixin must be a string, not (%s)", e1.toChars()); + type = Type.terror; + return this; + } + StringExp se = cast(StringExp)e1; + se = se.toUTF8(sc); + Parser p = new Parser(sc.module_, cast(ubyte*)se.string_, se.len, 0); + p.loc = loc; + p.nextToken(); + //printf("p.loc.linnum = %d\n", p.loc.linnum); + Expression e = p.parseExpression(); + if (p.token.value != TOK.TOKeof) + error("incomplete mixin expression (%s)", se.toChars()); + return e.semantic(sc); + } + + override void toCBuffer(OutBuffer buf, HdrGenState* hgs) + { + buf.writestring("mixin("); + expToCBuffer(buf, hgs, e1, PREC.PREC_assign); + buf.writeByte(')'); + } +}