Mercurial > projects > ddmd
comparison dmd/TypeInfoWildDeclaration.d @ 174:af724d3510d7
lot os toCBuffer methods implemented
moved shared Type.* stuff into Global
author | korDen |
---|---|
date | Sun, 10 Oct 2010 03:47:23 +0400 |
parents | af1bebfd96a4 |
children | e3afd1303184 |
comparison
equal
deleted
inserted
replaced
173:d237b38b5858 | 174:af724d3510d7 |
---|---|
1 module dmd.TypeInfoWildDeclaration; | 1 module dmd.TypeInfoWildDeclaration; |
2 | 2 |
3 import dmd.TY; | 3 import dmd.TY; |
4 import dmd.Type; | 4 import dmd.Type; |
5 import dmd.Global; | |
5 import dmd.TypeInfoDeclaration; | 6 import dmd.TypeInfoDeclaration; |
6 | 7 |
7 import dmd.backend.dt_t; | 8 import dmd.backend.dt_t; |
8 import dmd.backend.Util; | 9 import dmd.backend.Util; |
9 import dmd.backend.TYM; | 10 import dmd.backend.TYM; |
11 class TypeInfoWildDeclaration : TypeInfoDeclaration | 12 class TypeInfoWildDeclaration : TypeInfoDeclaration |
12 { | 13 { |
13 this(Type tinfo) | 14 this(Type tinfo) |
14 { | 15 { |
15 super(tinfo, 0); | 16 super(tinfo, 0); |
16 type = Type.typeinfowild.type; | 17 type = global.typeinfowild.type; |
17 } | 18 } |
18 | 19 |
19 override void toDt(dt_t **pdt) | 20 override void toDt(dt_t **pdt) |
20 { | 21 { |
21 //printf("TypeInfoWildDeclaration::toDt() %s\n", toChars()); | 22 //printf("TypeInfoWildDeclaration::toDt() %s\n", toChars()); |
22 dtxoff(pdt, Type.typeinfowild.toVtblSymbol(), 0, TYnptr); // vtbl for TypeInfo_Wild | 23 dtxoff(pdt, global.typeinfowild.toVtblSymbol(), 0, TYnptr); // vtbl for TypeInfo_Wild |
23 dtdword(pdt, 0); // monitor | 24 dtdword(pdt, 0); // monitor |
24 Type tm = tinfo.mutableOf(); | 25 Type tm = tinfo.mutableOf(); |
25 tm = tm.merge(); | 26 tm = tm.merge(); |
26 tm.getTypeInfo(null); | 27 tm.getTypeInfo(null); |
27 dtxoff(pdt, tm.vtinfo.toSymbol(), 0, TYnptr); | 28 dtxoff(pdt, tm.vtinfo.toSymbol(), 0, TYnptr); |