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);