Mercurial > projects > ddmd
comparison dmd/Type.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 | b7d29f613539 |
children | ef02e2e203c2 |
comparison
equal
deleted
inserted
replaced
52:69d078c417c6 | 53:a8b50ff7f201 |
---|---|
2180 Type nextOf() | 2180 Type nextOf() |
2181 { | 2181 { |
2182 return null; | 2182 return null; |
2183 } | 2183 } |
2184 | 2184 |
2185 /**************************************** | |
2186 * Return the mask that an integral type will | |
2187 * fit into. | |
2188 */ | |
2185 ulong sizemask() | 2189 ulong sizemask() |
2186 { | 2190 { |
2187 assert(false); | 2191 ulong m; |
2192 | |
2193 switch (toBasetype().ty) | |
2194 { | |
2195 case Tbool: m = 1; break; | |
2196 case Tchar: | |
2197 case Tint8: | |
2198 case Tuns8: m = 0xFF; break; | |
2199 case Twchar: | |
2200 case Tint16: | |
2201 case Tuns16: m = 0xFFFFUL; break; | |
2202 case Tdchar: | |
2203 case Tint32: | |
2204 case Tuns32: m = 0xFFFFFFFFUL; break; | |
2205 case Tint64: | |
2206 case Tuns64: m = 0xFFFFFFFFFFFFFFFFUL; break; | |
2207 default: | |
2208 assert(0); | |
2209 } | |
2210 return m; | |
2188 } | 2211 } |
2189 | 2212 |
2190 static void error(T...)(Loc loc, string format, T t) | 2213 static void error(T...)(Loc loc, string format, T t) |
2191 { | 2214 { |
2192 .error(loc, format, t); | 2215 .error(loc, format, t); |