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