Mercurial > projects > ddmd
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; |