Mercurial > projects > ddmd
annotate dmd/TypeInfoInvariantDeclaration.d @ 168:ceed63f310fb
stringtable, stringbuffer and freelist moved to Global
author | korDen |
---|---|
date | Thu, 30 Sep 2010 12:57:13 +0400 |
parents | e28b18c23469 |
children | af724d3510d7 |
rev | line source |
---|---|
72 | 1 module dmd.TypeInfoInvariantDeclaration; |
2 | |
114 | 3 import dmd.common; |
72 | 4 import dmd.Type; |
5 import dmd.TypeInfoDeclaration; | |
0 | 6 import dmd.backend.dt_t; |
7 import dmd.backend.Util; | |
72 | 8 import dmd.backend.TYM; |
9 | |
93
df6d0f967680
implemented a whole bunch of methods to make phobos 2.035 compile
Trass3r
parents:
73
diff
changeset
|
10 version(DMDV2) |
0 | 11 class TypeInfoInvariantDeclaration : TypeInfoDeclaration |
12 { | |
13 this(Type tinfo) | |
14 { | |
15 super(tinfo, 0); | |
73 | 16 type = Type.typeinfoinvariant.type; |
0 | 17 } |
18 | |
72 | 19 override void toDt(dt_t** pdt) |
0 | 20 { |
21 //printf("TypeInfoInvariantDeclaration.toDt() %s\n", toChars()); | |
22 dtxoff(pdt, Type.typeinfoinvariant.toVtblSymbol(), 0, TYnptr); // vtbl for TypeInfo_Invariant | |
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 } | |
30 |