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