Mercurial > projects > ddmd
comparison dmd/TypeTypedef.d @ 135:af1bebfd96a4 dmd2037
dmd 2.038
author | Eldar Insafutdinov <e.insafutdinov@gmail.com> |
---|---|
date | Mon, 13 Sep 2010 22:19:42 +0100 |
parents | e28b18c23469 |
children | e3afd1303184 |
comparison
equal
deleted
inserted
replaced
134:4251f96733f4 | 135:af1bebfd96a4 |
---|---|
211 return MATCHnomatch; | 211 return MATCHnomatch; |
212 } | 212 } |
213 | 213 |
214 override Expression defaultInit(Loc loc) | 214 override Expression defaultInit(Loc loc) |
215 { | 215 { |
216 Expression e; | |
217 Type bt; | |
218 | |
219 version (LOGDEFAULTINIT) { | 216 version (LOGDEFAULTINIT) { |
220 printf("TypeTypedef::defaultInit() '%s'\n", toChars()); | 217 printf("TypeTypedef::defaultInit() '%s'\n", toChars()); |
221 } | 218 } |
222 if (sym.init) | 219 if (sym.init) |
223 { | 220 { |
224 //sym->init->toExpression()->print(); | 221 //sym->init->toExpression()->print(); |
225 return sym.init.toExpression(); | 222 return sym.init.toExpression(); |
226 } | 223 } |
227 bt = sym.basetype; | 224 Type bt = sym.basetype; |
228 e = bt.defaultInit(loc); | 225 Expression e = bt.defaultInit(loc); |
229 e.type = this; | 226 e.type = this; |
230 while (bt.ty == Tsarray) | 227 while (bt.ty == Tsarray) |
231 { | 228 { |
232 TypeSArray tsa = cast(TypeSArray)bt; | 229 TypeSArray tsa = cast(TypeSArray)bt; |
233 e.type = tsa.next; | 230 e.type = tsa.next; |
297 override bool hasPointers() | 294 override bool hasPointers() |
298 { | 295 { |
299 return toBasetype().hasPointers(); | 296 return toBasetype().hasPointers(); |
300 } | 297 } |
301 | 298 |
299 override int hasWild() | |
300 { | |
301 return mod & MOD.MODwild || toBasetype().hasWild(); | |
302 } | |
303 | |
302 override Type toHeadMutable() | 304 override Type toHeadMutable() |
303 { | 305 { |
304 assert(false); | 306 assert(false); |
305 } | 307 } |
306 | 308 |