comparison dmd/expression/Util.d @ 173:d237b38b5858

Small changes
author korDen
date Sun, 10 Oct 2010 01:55:35 +0400
parents 2e2ed2632ccc
children af724d3510d7
comparison
equal deleted inserted replaced
172:5a9a88e919f9 173:d237b38b5858
10 import dmd.LINK; 10 import dmd.LINK;
11 import dmd.NullExp; 11 import dmd.NullExp;
12 import dmd.SymOffExp; 12 import dmd.SymOffExp;
13 import dmd.ExpInitializer; 13 import dmd.ExpInitializer;
14 import dmd.Lexer; 14 import dmd.Lexer;
15 import dmd.AddExp;
16 import dmd.MinExp;
17 import dmd.MulExp;
18 import dmd.DivExp;
19 import dmd.ModExp;
20 import dmd.AndExp;
21 import dmd.OrExp;
22 import dmd.ShlExp;
23 import dmd.ShrExp;
24 import dmd.UshrExp;
25 import dmd.XorExp;
15 import dmd.TypeSArray; 26 import dmd.TypeSArray;
16 import dmd.TypeArray; 27 import dmd.TypeArray;
17 import dmd.VarDeclaration; 28 import dmd.VarDeclaration;
18 import dmd.VoidInitializer; 29 import dmd.VoidInitializer;
19 import dmd.DeclarationExp; 30 import dmd.DeclarationExp;
1844 } 1855 }
1845 if (t.isimaginary()) 1856 if (t.isimaginary())
1846 buf.writeByte('i'); 1857 buf.writeByte('i');
1847 } 1858 }
1848 } 1859 }
1860
1861 Expression opAssignToOp(Loc loc, TOK op, Expression e1, Expression e2)
1862 {
1863 Expression e;
1864
1865 switch (op)
1866 {
1867 case TOK.TOKaddass: e = new AddExp(loc, e1, e2); break;
1868 case TOK.TOKminass: e = new MinExp(loc, e1, e2); break;
1869 case TOK.TOKmulass: e = new MulExp(loc, e1, e2); break;
1870 case TOK.TOKdivass: e = new DivExp(loc, e1, e2); break;
1871 case TOK.TOKmodass: e = new ModExp(loc, e1, e2); break;
1872 case TOK.TOKandass: e = new AndExp(loc, e1, e2); break;
1873 case TOK.TOKorass: e = new OrExp (loc, e1, e2); break;
1874 case TOK.TOKxorass: e = new XorExp(loc, e1, e2); break;
1875 case TOK.TOKshlass: e = new ShlExp(loc, e1, e2); break;
1876 case TOK.TOKshrass: e = new ShrExp(loc, e1, e2); break;
1877 case TOK.TOKushrass: e = new UshrExp(loc, e1, e2); break;
1878 default: assert(0);
1879 }
1880 return e;
1881 }