3 alias typeof(int.sizeof) size_t;
\r
4 alias typeof(cast(void*)0 - cast(void*)0) ptrdiff_t;
\r
10 alias wchar[] wstring;
\r
11 alias dchar[] dstring;
\r
17 int opCmp(Object o);
\r
18 equals_t opEquals(Object o);
\r
29 ClassInfo classinfo;
\r
31 ptrdiff_t offset; // offset to Interface 'this' from Object 'this'
\r
34 class ClassInfo : Object
\r
36 byte[] init; // class static initializer
\r
37 string name; // class name
\r
38 void*[] vtbl; // virtual function pointer table
\r
39 Interface[] interfaces;
\r
42 void(*classInvariant)(Object);
\r
44 // 1: // is IUnknown or is derived from IUnknown
\r
45 // 2: // has no possible pointers into GC memory
\r
46 // 4: // has offTi[] member
\r
47 // 8: // has constructors
\r
49 OffsetTypeInfo[] offTi;
\r
50 void* defaultConstructor;
\r
52 static ClassInfo find(in char[] classname);
\r
56 struct OffsetTypeInfo
\r
64 hash_t getHash(in void* p);
\r
65 int equals(in void* p1, in void* p2);
\r
66 int compare(in void* p1, in void* p2);
\r
68 void swap(void* p1, void* p2);
\r
72 // 1: // has possible pointers into GC memory
\r
73 OffsetTypeInfo[] offTi();
\r
76 class TypeInfo_Typedef : TypeInfo
\r
83 class TypeInfo_Enum : TypeInfo_Typedef
\r
87 class TypeInfo_Pointer : TypeInfo
\r
92 class TypeInfo_Array : TypeInfo
\r
97 class TypeInfo_StaticArray : TypeInfo
\r
103 class TypeInfo_AssociativeArray : TypeInfo
\r
109 class TypeInfo_Function : TypeInfo
\r
114 class TypeInfo_Delegate : TypeInfo
\r
119 class TypeInfo_Class : TypeInfo
\r
124 class TypeInfo_Interface : TypeInfo
\r
129 class TypeInfo_Struct : TypeInfo
\r
134 uint function(in void*) xtoHash;
\r
135 equals_t function(in void*,in void*) xopEquals;
\r
136 int function(in void*,in void*) xopCmp;
\r
137 string function(in void*) xtoString;
\r
143 class TypeInfo_Tuple : TypeInfo
\r
145 TypeInfo[] elements;
\r
151 ModuleInfo[] importedModules;
\r
152 ClassInfo[] localClasses;
\r
155 void function() ctor;
\r
156 void function() dtor;
\r
157 void function() unitTest;
\r
159 static int opApply( int delegate( inout ModuleInfo ) );
\r
162 class Exception : Object
\r
164 interface TraceInfo
\r
166 int opApply( int delegate( inout char[] ) );
\r
176 this(char[] msg, Exception next = null);
\r
177 this(char[] msg, char[] file, size_t line, Exception next = null);
\r