Mercurial > projects > ddmd
diff dmd/expression/Util.d @ 173:d237b38b5858
Small changes
author | korDen |
---|---|
date | Sun, 10 Oct 2010 01:55:35 +0400 |
parents | 2e2ed2632ccc |
children | af724d3510d7 |
line wrap: on
line diff
--- a/dmd/expression/Util.d Fri Oct 08 20:23:30 2010 +0400 +++ b/dmd/expression/Util.d Sun Oct 10 01:55:35 2010 +0400 @@ -12,6 +12,17 @@ import dmd.SymOffExp; import dmd.ExpInitializer; import dmd.Lexer; +import dmd.AddExp; +import dmd.MinExp; +import dmd.MulExp; +import dmd.DivExp; +import dmd.ModExp; +import dmd.AndExp; +import dmd.OrExp; +import dmd.ShlExp; +import dmd.ShrExp; +import dmd.UshrExp; +import dmd.XorExp; import dmd.TypeSArray; import dmd.TypeArray; import dmd.VarDeclaration; @@ -1845,4 +1856,26 @@ if (t.isimaginary()) buf.writeByte('i'); } +} + +Expression opAssignToOp(Loc loc, TOK op, Expression e1, Expression e2) +{ + Expression e; + + switch (op) + { + case TOK.TOKaddass: e = new AddExp(loc, e1, e2); break; + case TOK.TOKminass: e = new MinExp(loc, e1, e2); break; + case TOK.TOKmulass: e = new MulExp(loc, e1, e2); break; + case TOK.TOKdivass: e = new DivExp(loc, e1, e2); break; + case TOK.TOKmodass: e = new ModExp(loc, e1, e2); break; + case TOK.TOKandass: e = new AndExp(loc, e1, e2); break; + case TOK.TOKorass: e = new OrExp (loc, e1, e2); break; + case TOK.TOKxorass: e = new XorExp(loc, e1, e2); break; + case TOK.TOKshlass: e = new ShlExp(loc, e1, e2); break; + case TOK.TOKshrass: e = new ShrExp(loc, e1, e2); break; + case TOK.TOKushrass: e = new UshrExp(loc, e1, e2); break; + default: assert(0); + } + return e; } \ No newline at end of file