comparison dmd/OrExp.d @ 53:a8b50ff7f201

ForeachStatement.syntaxCopy SliceExp.syntaxCopy AnonDeclaration.syntaxCopy SwitchStatement.syntaxCopy CaseStatement.syntaxCopy BreakStatement.syntaxCopy ThrowStatement.syntaxCopy NewExp.syntaxCopy DefaultStatement.syntaxCopy AssertExp.syntaxCopy ClassDeclaration.syntaxCopy TypeTypedef.constConv eval_builtin ComplexExp.isConst DVCondition.syntaxCopy OrExp.getIntRange AndExp.getIntRange getMask IntegerExp.getIntRange Type.sizemask CastExp.getIntRange Expression.getIntRange
author korDen
date Sat, 21 Aug 2010 12:15:47 +0400
parents 10317f0c89a5
children cab4c37afb89
comparison
equal deleted inserted replaced
52:69d078c417c6 53:a8b50ff7f201
105 return result; 105 return result;
106 } 106 }
107 107
108 IntRange getIntRange() 108 IntRange getIntRange()
109 { 109 {
110 assert(false); 110 IntRange ir;
111 IntRange ir1 = e1.getIntRange();
112 IntRange ir2 = e2.getIntRange();
113
114 ir.imin = ir1.imin;
115 if (ir2.imin < ir.imin)
116 ir.imin = ir2.imin;
117
118 ir.imax = ir1.imax;
119 if (ir2.imax > ir.imax)
120 ir.imax = ir2.imax;
121
122 ir.imin &= type.sizemask();
123 ir.imax &= type.sizemask();
124
125 //printf("OrExp: imin = x%llx, imax = x%llx\n", ir.imin, ir.imax);
126 //e1.dump(0);
127
128 return ir;
111 } 129 }
112 130
113 bool isCommutative() 131 bool isCommutative()
114 { 132 {
115 return true; 133 return true;