comparison dmd/TypeInfoWildDeclaration.d @ 135:af1bebfd96a4 dmd2037

dmd 2.038
author Eldar Insafutdinov <e.insafutdinov@gmail.com>
date Mon, 13 Sep 2010 22:19:42 +0100
parents
children af724d3510d7
comparison
equal deleted inserted replaced
134:4251f96733f4 135:af1bebfd96a4
1 module dmd.TypeInfoWildDeclaration;
2
3 import dmd.TY;
4 import dmd.Type;
5 import dmd.TypeInfoDeclaration;
6
7 import dmd.backend.dt_t;
8 import dmd.backend.Util;
9 import dmd.backend.TYM;
10
11 class TypeInfoWildDeclaration : TypeInfoDeclaration
12 {
13 this(Type tinfo)
14 {
15 super(tinfo, 0);
16 type = Type.typeinfowild.type;
17 }
18
19 override void toDt(dt_t **pdt)
20 {
21 //printf("TypeInfoWildDeclaration::toDt() %s\n", toChars());
22 dtxoff(pdt, Type.typeinfowild.toVtblSymbol(), 0, TYnptr); // vtbl for TypeInfo_Wild
23 dtdword(pdt, 0); // monitor
24 Type tm = tinfo.mutableOf();
25 tm = tm.merge();
26 tm.getTypeInfo(null);
27 dtxoff(pdt, tm.vtinfo.toSymbol(), 0, TYnptr);
28 }
29 };