Mercurial > projects > ldc
view test/classinfo1.d @ 115:5ba6d286c941 trunk
[svn r119] Added the monitor data field that comes after the vtable pointer to all classes. Represented as a void* initialized to zero.
author | lindquist |
---|---|
date | Sun, 25 Nov 2007 03:58:55 +0100 |
parents | 368547b1cbe6 |
children | d9d5d59873d8 |
line wrap: on
line source
module classinfo1; class NoPtrs { } class HasPtrs { void* p; } void main() { { ClassInfo ci = NoPtrs.classinfo; char[] name = ci.name; printf("%.*s\n", name.length, name.ptr); assert(ci.name == "classinfo1.NoPtrs"); assert(ci.flags & 2); } { ClassInfo ci = HasPtrs.classinfo; char[] name = ci.name; printf("%.*s\n", name.length, name.ptr); assert(ci.name == "classinfo1.HasPtrs"); assert(!(ci.flags & 2)); } }