7 ReferentType: 116 # int
9 # const int* [Index: 0x1001]
14 # char* [Index: 0x1002]
17 ReferentType: 1136 # char*
19 # (int, char **) [Index: 0x1003]
22 ArgIndicies: [ 116, 0x1002 ]
23 # (int, double) [Index: 0x1004]
26 ArgIndicies: [ 116, 65 ] # (int, double)
27 # int main(int argc, char **argv) [Index: 0x1005]
31 CallConv: NearC # __cdecl
34 ArgumentList: 0x1003 # (int, char**)
35 # <label> [Index: 0x1006]
40 # class FooClass; [Index: 0x1007]
44 Options: [ None, ForwardReference ]
50 # char* [Index: 0x1008]
53 ReferentType: 0x1007 # FooClass
55 # int (FooClass::)(int, char **) [Index: 0x1009]
59 ClassType: 0x1007 # FooClass
60 ThisType: 0x1008 # const FooClass*
64 ArgumentList: 0x1003 # (int, char**)
65 ThisPointerAdjustment: 0
66 # int (FooClass::)(int, double) [Index: 0x100A]
70 ClassType: 0x1007 # FooClass
71 ThisType: 0x1008 # const FooClass*
75 ArgumentList: 0x1004 # (int, double)
76 ThisPointerAdjustment: 0
77 # <method overload list>
78 # int (FooClass::)(int, char **)
79 # int (FooClass::)(int, double) [Index: 0x100B]
83 - Type: 0x1009 # int (FooClass::)(int, char **)
87 - Type: 0x100A # int (FooClass::)(int, double)
92 # A, B, C [Index: 0x100C]
110 # enum FooClass::Enum : uint32_t {
116 Options: [ None, Nested ]
118 Name: 'FooClass::Enum'
122 # enum FooEnum : uint32_t {
125 # FooEnum EnumMember;
126 # static int StaticInt;
127 # int FooClass::OverloadedMethod(int, char **);
128 # int FooClass::OverloadedMethod(int, double);
129 # int FooClass::RegularMethod(int, double);
133 # enum FooEnum : uint32_t {
140 # FooEnum EnumMember;
147 # static int StaticInt;
153 # int FooClass::OverloadedMethod(int, char **);
154 # int FooClass::OverloadedMethod(int, double);
159 Name: OverloadedMethod
160 # int FooClass::RegularMethod(int, double);
169 # enum FooEnum : uint32_t {
172 # FooEnum EnumMember;
173 # static int StaticInt;
174 # int FooClass::OverloadedMethod(int, char **);
175 # int FooClass::OverloadedMethod(int, double);
176 # int FooClass::RegularMethod(int, double);
187 # struct FooStructure; [Index: 0x1010]
197 # interface FooInterface; [Index: 0x1011]
208 # : public FooClass [Index: 0x1012]
213 Type: 0x100F # FooClass
216 # : public virtual FooClass [Index: 0x1013]
221 BaseType: 0x100F # FooClass
222 VBPtrType: 0x1001 # const int *
225 # struct Inherit : public FooClass {}; [Index: 0x1014]
232 DerivationList: 0x1012
235 # class VInherit : public virtual FooClass {}; [Index: 0x1015]
242 DerivationList: 0x1012
245 # const volatile enum FooClass::Enum : uint32_t { [Index: 0x1016]
249 Modifiers: [ Const, Volatile ]
250 # const volatile struct Inherit : public FooClass {} { [Index: 0x1017]
254 Modifiers: [ Const, Volatile ]
255 # const volatile class FooClass { [Index: 0x1018]
259 Modifiers: [ Const, Volatile ]
260 # const volatile interface FooInterface { [Index: 0x1019]
264 Modifiers: [ Const, Volatile ]
266 # // Member type records. These are generally not length prefixed, and appear
267 # // inside of a field list record.
268 # MEMBER_RECORD(LF_VFUNCTAB, 0x1409, VFPtr)
270 # MEMBER_RECORD_ALIAS(LF_BINTERFACE, 0x151a, BaseInterface, BaseClass)
272 # MEMBER_RECORD_ALIAS(LF_IVBCLASS, 0x1402, IndirectVirtualBaseClass,
276 # TYPE_RECORD(LF_ARRAY, 0x1503, Array)
277 # TYPE_RECORD(LF_UNION, 0x1506, Union)
278 # TYPE_RECORD(LF_TYPESERVER2, 0x1515, TypeServer2)
279 # TYPE_RECORD(LF_VFTABLE, 0x151d, VFTable)
280 # TYPE_RECORD(LF_VTSHAPE, 0x000a, VFTableShape)
282 # TYPE_RECORD(LF_BITFIELD, 0x1205, BitField)
285 # // ID leaf records. Subsequent leaf types may be referenced from .debug$S.
286 # TYPE_RECORD(LF_FUNC_ID, 0x1601, FuncId)
287 # TYPE_RECORD(LF_MFUNC_ID, 0x1602, MemberFuncId)
288 # TYPE_RECORD(LF_BUILDINFO, 0x1603, BuildInfo)
289 # TYPE_RECORD(LF_SUBSTR_LIST, 0x1604, StringList)
290 # TYPE_RECORD(LF_STRING_ID, 0x1605, StringId)
291 # TYPE_RECORD(LF_UDT_SRC_LINE, 0x1606, UdtSourceLine)
292 # TYPE_RECORD(LF_UDT_MOD_SRC_LINE, 0x1607, UdtModSourceLine)