Mercurial > projects > ddmd
annotate dmd/TypeInfoInvariantDeclaration.d @ 93:df6d0f967680
implemented a whole bunch of methods to make phobos 2.035 compile
and some additional ones I came across
author | Trass3r |
---|---|
date | Mon, 30 Aug 2010 22:50:30 +0200 |
parents | ef02e2e203c2 |
children | e28b18c23469 |
rev | line source |
---|---|
72 | 1 module dmd.TypeInfoInvariantDeclaration; |
2 | |
3 import dmd.Type; | |
4 import dmd.TypeInfoDeclaration; | |
0 | 5 import dmd.backend.dt_t; |
6 import dmd.backend.Util; | |
72 | 7 import dmd.backend.TYM; |
8 | |
93
df6d0f967680
implemented a whole bunch of methods to make phobos 2.035 compile
Trass3r
parents:
73
diff
changeset
|
9 version(DMDV2) |
0 | 10 class TypeInfoInvariantDeclaration : TypeInfoDeclaration |
11 { | |
12 this(Type tinfo) | |
13 { | |
14 super(tinfo, 0); | |
73 | 15 type = Type.typeinfoinvariant.type; |
0 | 16 } |
17 | |
72 | 18 override void toDt(dt_t** pdt) |
0 | 19 { |
20 //printf("TypeInfoInvariantDeclaration.toDt() %s\n", toChars()); | |
21 dtxoff(pdt, Type.typeinfoinvariant.toVtblSymbol(), 0, TYnptr); // vtbl for TypeInfo_Invariant | |
22 dtdword(pdt, 0); // monitor | |
23 Type tm = tinfo.mutableOf(); | |
24 tm = tm.merge(); | |
25 tm.getTypeInfo(null); | |
26 dtxoff(pdt, tm.vtinfo.toSymbol(), 0, TYnptr); | |
27 } | |
28 } | |
29 |