[obj2yaml] - Fix a comment. NFC.
[llvm-complete.git] / test / DebugInfo / PDB / pdb-type-ref-stats.test
blobc7e220408ee3230beec8d873342f2a75a7cef466
1 RUN: llvm-pdbutil dump -types -type-ref-stats %p/Inputs/every-class.pdb \
2 RUN:   | FileCheck %s
4 CHECK:                      Types (TPI Stream)                     
5 CHECK: ============================================================
6 CHECK:   Showing 157 records
7 CHECK:   0x1000 | LF_ARGLIST [size = 16, referenced]
8 CHECK:            0x0603 (void*): `void*`
9 CHECK:            0x0023 (unsigned __int64): `unsigned __int64`
10 CHECK:   0x1001 | LF_PROCEDURE [size = 16, referenced]
11 CHECK:            return type = 0x0003 (void), # args = 2, param list = 0x1000
12 CHECK:            calling conv = cdecl, options = None
13 CHECK:   0x1002 | LF_ARGLIST [size = 16, referenced]
14 CHECK:            0x0603 (void*): `void*`
15 CHECK:            0x0075 (unsigned): `unsigned`
16 CHECK:   0x1003 | LF_PROCEDURE [size = 16, referenced]
17 CHECK:            return type = 0x0003 (void), # args = 2, param list = 0x1002
18 CHECK:            calling conv = cdecl, options = None
19 CHECK:   0x1004 | LF_POINTER [size = 12, referenced]
20 CHECK:            referent = 0x0670 (char*), mode = pointer, opts = None, kind = ptr64
21 CHECK:   0x1005 | LF_ARGLIST [size = 16, referenced]
22 CHECK:            0x0074 (int): `int`
23 CHECK:            0x1004: `char**`
24 CHECK:   0x1006 | LF_PROCEDURE [size = 16, referenced]
25 CHECK:            return type = 0x0074 (int), # args = 2, param list = 0x1005
26 CHECK:            calling conv = cdecl, options = None
27 CHECK:   0x1007 | LF_FIELDLIST [size = 4, referenced]
28 CHECK:   0x1008 | LF_STRUCTURE [size = 124, referenced] `main::__l2::<unnamed-type-Anonymous>`
29 CHECK:            unique name: `.?AU<unnamed-type-Anonymous>@?1??main@@YAHHPEAPEAD@Z@`aa6523bc`
30 CHECK:            vtable: <no type>, base list: <no type>, field list: 0x1007
31 CHECK:            options: has unique name | scoped, sizeof 1
32 CHECK:   0x1009 | LF_STRUCTURE [size = 88, referenced] `main::__l2::Scoped`
33 CHECK:            unique name: `.?AUScoped@?1??main@@YAHHPEAPEAD@Z@`aa6523bc`
34 CHECK:            vtable: <no type>, base list: <no type>, field list: 0x1007
35 CHECK:            options: has unique name | scoped, sizeof 1
36 CHECK:   0x100A | LF_FIELDLIST [size = 48, unreferenced]
37 CHECK:            - LF_ENUMERATE [native = 0]
38 CHECK:            - LF_ENUMERATE [com = 1]
39 CHECK:            - LF_ENUMERATE [managed = 2]
40 CHECK:   0x100B | LF_ENUM [size = 116, unreferenced] `__vc_attributes::event_sourceAttribute::type_e`
41 CHECK:            unique name: `.?AW4type_e@event_sourceAttribute@__vc_attributes@@`
42 CHECK:            field list: 0x100A, underlying type: 0x0074 (int)
43 CHECK:            options: has unique name | is nested
44 CHECK:   0x100C | LF_FIELDLIST [size = 28, unreferenced]
45 CHECK:            - LF_ENUMERATE [speed = 0]
46 CHECK:            - LF_ENUMERATE [size = 1]
47 CHECK:   0x100D | LF_ENUM [size = 124, unreferenced] `__vc_attributes::event_sourceAttribute::optimize_e`
48 CHECK:            unique name: `.?AW4optimize_e@event_sourceAttribute@__vc_attributes@@`
49 CHECK:            field list: 0x100C, underlying type: 0x0074 (int)
50 CHECK:            options: has unique name | is nested
51 CHECK:   0x100E | LF_STRUCTURE [size = 108, unreferenced] `__vc_attributes::event_sourceAttribute`
52 CHECK:            unique name: `.?AUevent_sourceAttribute@__vc_attributes@@`
53 CHECK:            vtable: <no type>, base list: <no type>, field list: <no type>
54 CHECK:            options: forward ref (-> 0x1016) | has unique name, sizeof 0
55 CHECK:   0x100F | LF_POINTER [size = 12, unreferenced]
56 CHECK:            referent = 0x100E, mode = pointer, opts = const, kind = ptr64
57 CHECK:   0x1010 | LF_ARGLIST [size = 12, unreferenced]
58 CHECK:            0x100B: `__vc_attributes::event_sourceAttribute::type_e`
59 CHECK:   0x1011 | LF_MFUNCTION [size = 28, unreferenced]
60 CHECK:            return type = 0x0003 (void), # args = 1, param list = 0x1010
61 CHECK:            class type = 0x100E, this type = 0x100F, this adjust = 0
62 CHECK:            calling conv = cdecl, options = constructor
63 CHECK:   0x1012 | LF_ARGLIST [size = 8, referenced]
64 CHECK:   0x1013 | LF_MFUNCTION [size = 28, unreferenced]
65 CHECK:            return type = 0x0003 (void), # args = 0, param list = 0x1012
66 CHECK:            class type = 0x100E, this type = 0x100F, this adjust = 0
67 CHECK:            calling conv = cdecl, options = constructor
68 CHECK:   0x1014 | LF_METHODLIST [size = 20, unreferenced]
69 CHECK:            - Method [type = 0x1011, vftable offset = -1, attrs = public]
70 CHECK:            - Method [type = 0x1013, vftable offset = -1, attrs = public]
71 CHECK:   0x1015 | LF_FIELDLIST [size = 128, unreferenced]
72 CHECK:            - LF_NESTTYPE [name = `type_e`, parent = 0x100B]
73 CHECK:            - LF_NESTTYPE [name = `optimize_e`, parent = 0x100D]
74 CHECK:            - LF_METHOD [name = `event_sourceAttribute`, # overloads = 2, overload list = 0x1014]
75 CHECK:            - LF_MEMBER [name = `type`, Type = 0x100B, offset = 0, attrs = public]
76 CHECK:            - LF_MEMBER [name = `optimize`, Type = 0x100D, offset = 4, attrs = public]
77 CHECK:            - LF_MEMBER [name = `decorate`, Type = 0x0030 (bool), offset = 8, attrs = public]
78 CHECK:   0x1016 | LF_STRUCTURE [size = 108, unreferenced] `__vc_attributes::event_sourceAttribute`
79 CHECK:            unique name: `.?AUevent_sourceAttribute@__vc_attributes@@`
80 CHECK:            vtable: <no type>, base list: <no type>, field list: 0x1015
81 CHECK:            options: has ctor / dtor | contains nested class | has unique name, sizeof 12
82 CHECK:   0x1017 | LF_FIELDLIST [size = 68, unreferenced]
83 CHECK:            - LF_ENUMERATE [eBoolean = 0]
84 CHECK:            - LF_ENUMERATE [eInteger = 1]
85 CHECK:            - LF_ENUMERATE [eFloat = 2]
86 CHECK:            - LF_ENUMERATE [eDouble = 3]
87 CHECK:   0x1018 | LF_ENUM [size = 148, unreferenced] `__vc_attributes::helper_attributes::v1_alttypeAttribute::type_e`
88 CHECK:            unique name: `.?AW4type_e@v1_alttypeAttribute@helper_attributes@__vc_attributes@@`
89 CHECK:            field list: 0x1017, underlying type: 0x0074 (int)
90 CHECK:            options: has unique name | is nested
91 CHECK:   0x1019 | LF_STRUCTURE [size = 140, unreferenced] `__vc_attributes::helper_attributes::v1_alttypeAttribute`
92 CHECK:            unique name: `.?AUv1_alttypeAttribute@helper_attributes@__vc_attributes@@`
93 CHECK:            vtable: <no type>, base list: <no type>, field list: <no type>
94 CHECK:            options: forward ref (-> 0x101E) | has unique name, sizeof 0
95 CHECK:   0x101A | LF_POINTER [size = 12, unreferenced]
96 CHECK:            referent = 0x1019, mode = pointer, opts = const, kind = ptr64
97 CHECK:   0x101B | LF_ARGLIST [size = 12, unreferenced]
98 CHECK:            0x1018: `__vc_attributes::helper_attributes::v1_alttypeAttribute::type_e`
99 CHECK:   0x101C | LF_MFUNCTION [size = 28, unreferenced]
100 CHECK:            return type = 0x0003 (void), # args = 1, param list = 0x101B
101 CHECK:            class type = 0x1019, this type = 0x101A, this adjust = 0
102 CHECK:            calling conv = cdecl, options = constructor
103 CHECK:   0x101D | LF_FIELDLIST [size = 64, unreferenced]
104 CHECK:            - LF_NESTTYPE [name = `type_e`, parent = 0x1018]
105 CHECK:            - LF_ONEMETHOD [name = `v1_alttypeAttribute`]
106 CHECK:              type = 0x101C, vftable offset = -1, attrs = public
107 CHECK:            - LF_MEMBER [name = `type`, Type = 0x1018, offset = 0, attrs = public]
108 CHECK:   0x101E | LF_STRUCTURE [size = 140, unreferenced] `__vc_attributes::helper_attributes::v1_alttypeAttribute`
109 CHECK:            unique name: `.?AUv1_alttypeAttribute@helper_attributes@__vc_attributes@@`
110 CHECK:            vtable: <no type>, base list: <no type>, field list: 0x101D
111 CHECK:            options: has ctor / dtor | contains nested class | has unique name, sizeof 4
112 CHECK:   0x101F | LF_FIELDLIST [size = 756, unreferenced]
113 CHECK:            - LF_ENUMERATE [eAnyUsage = 0]
114 CHECK:            - LF_ENUMERATE [eCoClassUsage = 1]
115 CHECK:            - LF_ENUMERATE [eCOMInterfaceUsage = 2]
116 CHECK:            - LF_ENUMERATE [eInterfaceUsage = 6]
117 CHECK:            - LF_ENUMERATE [eMemberUsage = 8]
118 CHECK:            - LF_ENUMERATE [eMethodUsage = 16]
119 CHECK:            - LF_ENUMERATE [eInterfaceMethodUsage = 32]
120 CHECK:            - LF_ENUMERATE [eInterfaceMemberUsage = 64]
121 CHECK:            - LF_ENUMERATE [eCoClassMemberUsage = 128]
122 CHECK:            - LF_ENUMERATE [eCoClassMethodUsage = 256]
123 CHECK:            - LF_ENUMERATE [eGlobalMethodUsage = 768]
124 CHECK:            - LF_ENUMERATE [eGlobalDataUsage = 1024]
125 CHECK:            - LF_ENUMERATE [eClassUsage = 2048]
126 CHECK:            - LF_ENUMERATE [eInterfaceParameterUsage = 4096]
127 CHECK:            - LF_ENUMERATE [eMethodParameterUsage = 12288]
128 CHECK:            - LF_ENUMERATE [eIDLModuleUsage = 16384]
129 CHECK:            - LF_ENUMERATE [eAnonymousUsage = 32768]
130 CHECK:            - LF_ENUMERATE [eTypedefUsage = 65536]
131 CHECK:            - LF_ENUMERATE [eUnionUsage = 131072]
132 CHECK:            - LF_ENUMERATE [eEnumUsage = 262144]
133 CHECK:            - LF_ENUMERATE [eDefineTagUsage = 524288]
134 CHECK:            - LF_ENUMERATE [eStructUsage = 1048576]
135 CHECK:            - LF_ENUMERATE [eLocalUsage = 2097152]
136 CHECK:            - LF_ENUMERATE [ePropertyUsage = 4194304]
137 CHECK:            - LF_ENUMERATE [eEventUsage = 8388608]
138 CHECK:            - LF_ENUMERATE [eTemplateUsage = 16777216]
139 CHECK:            - LF_ENUMERATE [eModuleUsage = 16777216]
140 CHECK:            - LF_ENUMERATE [eIllegalUsage = 33554432]
141 CHECK:            - LF_ENUMERATE [eAsynchronousUsage = 67108864]
142 CHECK:            - LF_ENUMERATE [eAnyIDLUsage = 4161535]
143 CHECK:   0x1020 | LF_ENUM [size = 140, unreferenced] `__vc_attributes::helper_attributes::usageAttribute::usage_e`
144 CHECK:            unique name: `.?AW4usage_e@usageAttribute@helper_attributes@__vc_attributes@@`
145 CHECK:            field list: 0x101F, underlying type: 0x0074 (int)
146 CHECK:            options: has unique name | is nested
147 CHECK:   0x1021 | LF_STRUCTURE [size = 128, unreferenced] `__vc_attributes::helper_attributes::usageAttribute`
148 CHECK:            unique name: `.?AUusageAttribute@helper_attributes@__vc_attributes@@`
149 CHECK:            vtable: <no type>, base list: <no type>, field list: <no type>
150 CHECK:            options: forward ref (-> 0x1026) | has unique name, sizeof 0
151 CHECK:   0x1022 | LF_POINTER [size = 12, unreferenced]
152 CHECK:            referent = 0x1021, mode = pointer, opts = const, kind = ptr64
153 CHECK:   0x1023 | LF_ARGLIST [size = 12, unreferenced]
154 CHECK:            0x0075 (unsigned): `unsigned`
155 CHECK:   0x1024 | LF_MFUNCTION [size = 28, unreferenced]
156 CHECK:            return type = 0x0003 (void), # args = 1, param list = 0x1023
157 CHECK:            class type = 0x1021, this type = 0x1022, this adjust = 0
158 CHECK:            calling conv = cdecl, options = constructor
159 CHECK:   0x1025 | LF_FIELDLIST [size = 60, unreferenced]
160 CHECK:            - LF_NESTTYPE [name = `usage_e`, parent = 0x1020]
161 CHECK:            - LF_ONEMETHOD [name = `usageAttribute`]
162 CHECK:              type = 0x1024, vftable offset = -1, attrs = public
163 CHECK:            - LF_MEMBER [name = `value`, Type = 0x0075 (unsigned), offset = 0, attrs = public]
164 CHECK:   0x1026 | LF_STRUCTURE [size = 128, unreferenced] `__vc_attributes::helper_attributes::usageAttribute`
165 CHECK:            unique name: `.?AUusageAttribute@helper_attributes@__vc_attributes@@`
166 CHECK:            vtable: <no type>, base list: <no type>, field list: 0x1025
167 CHECK:            options: has ctor / dtor | contains nested class | has unique name, sizeof 4
168 CHECK:   0x1027 | LF_FIELDLIST [size = 76, unreferenced]
169 CHECK:            - LF_ENUMERATE [apartment = 1]
170 CHECK:            - LF_ENUMERATE [single = 2]
171 CHECK:            - LF_ENUMERATE [free = 3]
172 CHECK:            - LF_ENUMERATE [neutral = 4]
173 CHECK:            - LF_ENUMERATE [both = 5]
174 CHECK:   0x1028 | LF_ENUM [size = 120, unreferenced] `__vc_attributes::threadingAttribute::threading_e`
175 CHECK:            unique name: `.?AW4threading_e@threadingAttribute@__vc_attributes@@`
176 CHECK:            field list: 0x1027, underlying type: 0x0074 (int)
177 CHECK:            options: has unique name | is nested
178 CHECK:   0x1029 | LF_STRUCTURE [size = 100, unreferenced] `__vc_attributes::threadingAttribute`
179 CHECK:            unique name: `.?AUthreadingAttribute@__vc_attributes@@`
180 CHECK:            vtable: <no type>, base list: <no type>, field list: <no type>
181 CHECK:            options: forward ref (-> 0x1030) | has unique name, sizeof 0
182 CHECK:   0x102A | LF_POINTER [size = 12, unreferenced]
183 CHECK:            referent = 0x1029, mode = pointer, opts = const, kind = ptr64
184 CHECK:   0x102B | LF_ARGLIST [size = 12, unreferenced]
185 CHECK:            0x1028: `__vc_attributes::threadingAttribute::threading_e`
186 CHECK:   0x102C | LF_MFUNCTION [size = 28, unreferenced]
187 CHECK:            return type = 0x0003 (void), # args = 1, param list = 0x102B
188 CHECK:            class type = 0x1029, this type = 0x102A, this adjust = 0
189 CHECK:            calling conv = cdecl, options = constructor
190 CHECK:   0x102D | LF_MFUNCTION [size = 28, unreferenced]
191 CHECK:            return type = 0x0003 (void), # args = 0, param list = 0x1012
192 CHECK:            class type = 0x1029, this type = 0x102A, this adjust = 0
193 CHECK:            calling conv = cdecl, options = constructor
194 CHECK:   0x102E | LF_METHODLIST [size = 20, unreferenced]
195 CHECK:            - Method [type = 0x102C, vftable offset = -1, attrs = public]
196 CHECK:            - Method [type = 0x102D, vftable offset = -1, attrs = public]
197 CHECK:   0x102F | LF_FIELDLIST [size = 68, unreferenced]
198 CHECK:            - LF_NESTTYPE [name = `threading_e`, parent = 0x1028]
199 CHECK:            - LF_METHOD [name = `threadingAttribute`, # overloads = 2, overload list = 0x102E]
200 CHECK:            - LF_MEMBER [name = `value`, Type = 0x1028, offset = 0, attrs = public]
201 CHECK:   0x1030 | LF_STRUCTURE [size = 100, unreferenced] `__vc_attributes::threadingAttribute`
202 CHECK:            unique name: `.?AUthreadingAttribute@__vc_attributes@@`
203 CHECK:            vtable: <no type>, base list: <no type>, field list: 0x102F
204 CHECK:            options: has ctor / dtor | contains nested class | has unique name, sizeof 4
205 CHECK:   0x1031 | LF_FIELDLIST [size = 48, unreferenced]
206 CHECK:            - LF_ENUMERATE [never = 0]
207 CHECK:            - LF_ENUMERATE [allowed = 1]
208 CHECK:            - LF_ENUMERATE [always = 2]
209 CHECK:   0x1032 | LF_ENUM [size = 116, unreferenced] `__vc_attributes::aggregatableAttribute::type_e`
210 CHECK:            unique name: `.?AW4type_e@aggregatableAttribute@__vc_attributes@@`
211 CHECK:            field list: 0x1031, underlying type: 0x0074 (int)
212 CHECK:            options: has unique name | is nested
213 CHECK:   0x1033 | LF_STRUCTURE [size = 108, unreferenced] `__vc_attributes::aggregatableAttribute`
214 CHECK:            unique name: `.?AUaggregatableAttribute@__vc_attributes@@`
215 CHECK:            vtable: <no type>, base list: <no type>, field list: <no type>
216 CHECK:            options: forward ref (-> 0x103A) | has unique name, sizeof 0
217 CHECK:   0x1034 | LF_POINTER [size = 12, unreferenced]
218 CHECK:            referent = 0x1033, mode = pointer, opts = const, kind = ptr64
219 CHECK:   0x1035 | LF_ARGLIST [size = 12, unreferenced]
220 CHECK:            0x1032: `__vc_attributes::aggregatableAttribute::type_e`
221 CHECK:   0x1036 | LF_MFUNCTION [size = 28, unreferenced]
222 CHECK:            return type = 0x0003 (void), # args = 1, param list = 0x1035
223 CHECK:            class type = 0x1033, this type = 0x1034, this adjust = 0
224 CHECK:            calling conv = cdecl, options = constructor
225 CHECK:   0x1037 | LF_MFUNCTION [size = 28, unreferenced]
226 CHECK:            return type = 0x0003 (void), # args = 0, param list = 0x1012
227 CHECK:            class type = 0x1033, this type = 0x1034, this adjust = 0
228 CHECK:            calling conv = cdecl, options = constructor
229 CHECK:   0x1038 | LF_METHODLIST [size = 20, unreferenced]
230 CHECK:            - Method [type = 0x1036, vftable offset = -1, attrs = public]
231 CHECK:            - Method [type = 0x1037, vftable offset = -1, attrs = public]
232 CHECK:   0x1039 | LF_FIELDLIST [size = 68, unreferenced]
233 CHECK:            - LF_NESTTYPE [name = `type_e`, parent = 0x1032]
234 CHECK:            - LF_METHOD [name = `aggregatableAttribute`, # overloads = 2, overload list = 0x1038]
235 CHECK:            - LF_MEMBER [name = `type`, Type = 0x1032, offset = 0, attrs = public]
236 CHECK:   0x103A | LF_STRUCTURE [size = 108, unreferenced] `__vc_attributes::aggregatableAttribute`
237 CHECK:            unique name: `.?AUaggregatableAttribute@__vc_attributes@@`
238 CHECK:            vtable: <no type>, base list: <no type>, field list: 0x1039
239 CHECK:            options: has ctor / dtor | contains nested class | has unique name, sizeof 4
240 CHECK:   0x103B | LF_ENUM [size = 120, unreferenced] `__vc_attributes::event_receiverAttribute::type_e`
241 CHECK:            unique name: `.?AW4type_e@event_receiverAttribute@__vc_attributes@@`
242 CHECK:            field list: 0x100A, underlying type: 0x0074 (int)
243 CHECK:            options: has unique name | is nested
244 CHECK:   0x103C | LF_STRUCTURE [size = 112, unreferenced] `__vc_attributes::event_receiverAttribute`
245 CHECK:            unique name: `.?AUevent_receiverAttribute@__vc_attributes@@`
246 CHECK:            vtable: <no type>, base list: <no type>, field list: <no type>
247 CHECK:            options: forward ref (-> 0x1045) | has unique name, sizeof 0
248 CHECK:   0x103D | LF_POINTER [size = 12, unreferenced]
249 CHECK:            referent = 0x103C, mode = pointer, opts = const, kind = ptr64
250 CHECK:   0x103E | LF_ARGLIST [size = 16, unreferenced]
251 CHECK:            0x103B: `__vc_attributes::event_receiverAttribute::type_e`
252 CHECK:            0x0030 (bool): `bool`
253 CHECK:   0x103F | LF_MFUNCTION [size = 28, unreferenced]
254 CHECK:            return type = 0x0003 (void), # args = 2, param list = 0x103E
255 CHECK:            class type = 0x103C, this type = 0x103D, this adjust = 0
256 CHECK:            calling conv = cdecl, options = constructor
257 CHECK:   0x1040 | LF_ARGLIST [size = 12, unreferenced]
258 CHECK:            0x103B: `__vc_attributes::event_receiverAttribute::type_e`
259 CHECK:   0x1041 | LF_MFUNCTION [size = 28, unreferenced]
260 CHECK:            return type = 0x0003 (void), # args = 1, param list = 0x1040
261 CHECK:            class type = 0x103C, this type = 0x103D, this adjust = 0
262 CHECK:            calling conv = cdecl, options = constructor
263 CHECK:   0x1042 | LF_MFUNCTION [size = 28, unreferenced]
264 CHECK:            return type = 0x0003 (void), # args = 0, param list = 0x1012
265 CHECK:            class type = 0x103C, this type = 0x103D, this adjust = 0
266 CHECK:            calling conv = cdecl, options = constructor
267 CHECK:   0x1043 | LF_METHODLIST [size = 28, unreferenced]
268 CHECK:            - Method [type = 0x103F, vftable offset = -1, attrs = public]
269 CHECK:            - Method [type = 0x1041, vftable offset = -1, attrs = public]
270 CHECK:            - Method [type = 0x1042, vftable offset = -1, attrs = public]
271 CHECK:   0x1044 | LF_FIELDLIST [size = 96, unreferenced]
272 CHECK:            - LF_NESTTYPE [name = `type_e`, parent = 0x103B]
273 CHECK:            - LF_METHOD [name = `event_receiverAttribute`, # overloads = 3, overload list = 0x1043]
274 CHECK:            - LF_MEMBER [name = `type`, Type = 0x103B, offset = 0, attrs = public]
275 CHECK:            - LF_MEMBER [name = `layout_dependent`, Type = 0x0030 (bool), offset = 4, attrs = public]
276 CHECK:   0x1045 | LF_STRUCTURE [size = 112, unreferenced] `__vc_attributes::event_receiverAttribute`
277 CHECK:            unique name: `.?AUevent_receiverAttribute@__vc_attributes@@`
278 CHECK:            vtable: <no type>, base list: <no type>, field list: 0x1044
279 CHECK:            options: has ctor / dtor | contains nested class | has unique name, sizeof 8
280 CHECK:   0x1046 | LF_FIELDLIST [size = 92, unreferenced]
281 CHECK:            - LF_ENUMERATE [dll = 1]
282 CHECK:            - LF_ENUMERATE [exe = 2]
283 CHECK:            - LF_ENUMERATE [service = 3]
284 CHECK:            - LF_ENUMERATE [unspecified = 4]
285 CHECK:            - LF_ENUMERATE [EXE = 2]
286 CHECK:            - LF_ENUMERATE [SERVICE = 3]
287 CHECK:   0x1047 | LF_ENUM [size = 104, unreferenced] `__vc_attributes::moduleAttribute::type_e`
288 CHECK:            unique name: `.?AW4type_e@moduleAttribute@__vc_attributes@@`
289 CHECK:            field list: 0x1046, underlying type: 0x0074 (int)
290 CHECK:            options: has unique name | is nested
291 CHECK:   0x1048 | LF_STRUCTURE [size = 96, unreferenced] `__vc_attributes::moduleAttribute`
292 CHECK:            unique name: `.?AUmoduleAttribute@__vc_attributes@@`
293 CHECK:            vtable: <no type>, base list: <no type>, field list: <no type>
294 CHECK:            options: forward ref (-> 0x1053) | has unique name, sizeof 0
295 CHECK:   0x1049 | LF_POINTER [size = 12, unreferenced]
296 CHECK:            referent = 0x1048, mode = pointer, opts = const, kind = ptr64
297 CHECK:   0x104A | LF_MODIFIER [size = 12, unreferenced]
298 CHECK:            referent = 0x0070 (char), modifiers = const
299 CHECK:   0x104B | LF_POINTER [size = 12, unreferenced]
300 CHECK:            referent = 0x104A, mode = pointer, opts = None, kind = ptr64
301 CHECK:   0x104C | LF_ARGLIST [size = 68, unreferenced]
302 CHECK:            0x1047: `__vc_attributes::moduleAttribute::type_e`
303 CHECK:            0x104B: `const char*`
304 CHECK:            0x104B: `const char*`
305 CHECK:            0x104B: `const char*`
306 CHECK:            0x0074 (int): `int`
307 CHECK:            0x0030 (bool): `bool`
308 CHECK:            0x104B: `const char*`
309 CHECK:            0x0074 (int): `int`
310 CHECK:            0x104B: `const char*`
311 CHECK:            0x104B: `const char*`
312 CHECK:            0x0074 (int): `int`
313 CHECK:            0x0030 (bool): `bool`
314 CHECK:            0x0030 (bool): `bool`
315 CHECK:            0x104B: `const char*`
316 CHECK:            0x104B: `const char*`
317 CHECK:   0x104D | LF_MFUNCTION [size = 28, unreferenced]
318 CHECK:            return type = 0x0003 (void), # args = 15, param list = 0x104C
319 CHECK:            class type = 0x1048, this type = 0x1049, this adjust = 0
320 CHECK:            calling conv = cdecl, options = constructor
321 CHECK:   0x104E | LF_ARGLIST [size = 12, unreferenced]
322 CHECK:            0x1047: `__vc_attributes::moduleAttribute::type_e`
323 CHECK:   0x104F | LF_MFUNCTION [size = 28, unreferenced]
324 CHECK:            return type = 0x0003 (void), # args = 1, param list = 0x104E
325 CHECK:            class type = 0x1048, this type = 0x1049, this adjust = 0
326 CHECK:            calling conv = cdecl, options = constructor
327 CHECK:   0x1050 | LF_MFUNCTION [size = 28, unreferenced]
328 CHECK:            return type = 0x0003 (void), # args = 0, param list = 0x1012
329 CHECK:            class type = 0x1048, this type = 0x1049, this adjust = 0
330 CHECK:            calling conv = cdecl, options = constructor
331 CHECK:   0x1051 | LF_METHODLIST [size = 28, unreferenced]
332 CHECK:            - Method [type = 0x104D, vftable offset = -1, attrs = public]
333 CHECK:            - Method [type = 0x104F, vftable offset = -1, attrs = public]
334 CHECK:            - Method [type = 0x1050, vftable offset = -1, attrs = public]
335 CHECK:   0x1052 | LF_FIELDLIST [size = 356, unreferenced]
336 CHECK:            - LF_NESTTYPE [name = `type_e`, parent = 0x1047]
337 CHECK:            - LF_METHOD [name = `moduleAttribute`, # overloads = 3, overload list = 0x1051]
338 CHECK:            - LF_MEMBER [name = `type`, Type = 0x1047, offset = 0, attrs = public]
339 CHECK:            - LF_MEMBER [name = `name`, Type = 0x104B, offset = 8, attrs = public]
340 CHECK:            - LF_MEMBER [name = `version`, Type = 0x104B, offset = 16, attrs = public]
341 CHECK:            - LF_MEMBER [name = `uuid`, Type = 0x104B, offset = 24, attrs = public]
342 CHECK:            - LF_MEMBER [name = `lcid`, Type = 0x0074 (int), offset = 32, attrs = public]
343 CHECK:            - LF_MEMBER [name = `control`, Type = 0x0030 (bool), offset = 36, attrs = public]
344 CHECK:            - LF_MEMBER [name = `helpstring`, Type = 0x104B, offset = 40, attrs = public]
345 CHECK:            - LF_MEMBER [name = `helpstringcontext`, Type = 0x0074 (int), offset = 48, attrs = public]
346 CHECK:            - LF_MEMBER [name = `helpstringdll`, Type = 0x104B, offset = 56, attrs = public]
347 CHECK:            - LF_MEMBER [name = `helpfile`, Type = 0x104B, offset = 64, attrs = public]
348 CHECK:            - LF_MEMBER [name = `helpcontext`, Type = 0x0074 (int), offset = 72, attrs = public]
349 CHECK:            - LF_MEMBER [name = `hidden`, Type = 0x0030 (bool), offset = 76, attrs = public]
350 CHECK:            - LF_MEMBER [name = `restricted`, Type = 0x0030 (bool), offset = 77, attrs = public]
351 CHECK:            - LF_MEMBER [name = `custom`, Type = 0x104B, offset = 80, attrs = public]
352 CHECK:            - LF_MEMBER [name = `resource_name`, Type = 0x104B, offset = 88, attrs = public]
353 CHECK:   0x1053 | LF_STRUCTURE [size = 96, unreferenced] `__vc_attributes::moduleAttribute`
354 CHECK:            unique name: `.?AUmoduleAttribute@__vc_attributes@@`
355 CHECK:            vtable: <no type>, base list: <no type>, field list: 0x1052
356 CHECK:            options: has ctor / dtor | contains nested class | has unique name, sizeof 96
357 CHECK:   0x1054 | LF_STRUCTURE [size = 48, referenced] `Nested::F`
358 CHECK:            unique name: `.?AUF@Nested@@`
359 CHECK:            vtable: <no type>, base list: <no type>, field list: <no type>
360 CHECK:            options: forward ref (-> 0x1057) | has unique name | is nested, sizeof 0
361 CHECK:   0x1055 | LF_FIELDLIST [size = 16, referenced]
362 CHECK:            - LF_NESTTYPE [name = `F`, parent = 0x1054]
363 CHECK:   0x1056 | LF_STRUCTURE [size = 44, referenced] `Nested`
364 CHECK:            unique name: `.?AUNested@@`
365 CHECK:            vtable: <no type>, base list: <no type>, field list: 0x1055
366 CHECK:            options: contains nested class | has unique name, sizeof 1
367 CHECK:   0x1057 | LF_STRUCTURE [size = 48, referenced] `Nested::F`
368 CHECK:            unique name: `.?AUF@Nested@@`
369 CHECK:            vtable: <no type>, base list: <no type>, field list: 0x1007
370 CHECK:            options: has unique name | is nested, sizeof 1
371 CHECK:   0x1058 | LF_STRUCTURE [size = 52, referenced] `Constructor`
372 CHECK:            unique name: `.?AUConstructor@@`
373 CHECK:            vtable: <no type>, base list: <no type>, field list: <no type>
374 CHECK:            options: forward ref (-> 0x105C) | has unique name, sizeof 0
375 CHECK:   0x1059 | LF_POINTER [size = 12, referenced]
376 CHECK:            referent = 0x1058, mode = pointer, opts = const, kind = ptr64
377 CHECK:   0x105A | LF_MFUNCTION [size = 28, referenced]
378 CHECK:            return type = 0x0003 (void), # args = 0, param list = 0x1012
379 CHECK:            class type = 0x1058, this type = 0x1059, this adjust = 0
380 CHECK:            calling conv = cdecl, options = constructor
381 CHECK:   0x105B | LF_FIELDLIST [size = 24, referenced]
382 CHECK:            - LF_ONEMETHOD [name = `Constructor`]
383 CHECK:              type = 0x105A, vftable offset = -1, attrs = public
384 CHECK:   0x105C | LF_STRUCTURE [size = 52, referenced] `Constructor`
385 CHECK:            unique name: `.?AUConstructor@@`
386 CHECK:            vtable: <no type>, base list: <no type>, field list: 0x105B
387 CHECK:            options: has ctor / dtor | has unique name, sizeof 1
388 CHECK:   0x105D | LF_CLASS [size = 40, referenced] `Class`
389 CHECK:            unique name: `.?AVClass@@`
390 CHECK:            vtable: <no type>, base list: <no type>, field list: 0x1007
391 CHECK:            options: has unique name, sizeof 1
392 CHECK:   0x105E | LF_UNION [size = 32, referenced] `Union`
393 CHECK:            unique name: `.?ATUnion@@`
394 CHECK:            field list: 0x1007
395 CHECK:            options: has unique name | sealed, sizeof 1
396 CHECK:   0x105F | LF_STRUCTURE [size = 48, referenced] `Operator`
397 CHECK:            unique name: `.?AUOperator@@`
398 CHECK:            vtable: <no type>, base list: <no type>, field list: <no type>
399 CHECK:            options: forward ref (-> 0x1064) | has unique name, sizeof 0
400 CHECK:   0x1060 | LF_POINTER [size = 12, referenced]
401 CHECK:            referent = 0x105F, mode = pointer, opts = const, kind = ptr64
402 CHECK:   0x1061 | LF_ARGLIST [size = 12, referenced]
403 CHECK:            0x0074 (int): `int`
404 CHECK:   0x1062 | LF_MFUNCTION [size = 28, referenced]
405 CHECK:            return type = 0x0074 (int), # args = 1, param list = 0x1061
406 CHECK:            class type = 0x105F, this type = 0x1060, this adjust = 0
407 CHECK:            calling conv = cdecl, options = None
408 CHECK:   0x1063 | LF_FIELDLIST [size = 24, referenced]
409 CHECK:            - LF_ONEMETHOD [name = `operator+`]
410 CHECK:              type = 0x1062, vftable offset = -1, attrs = public
411 CHECK:   0x1064 | LF_STRUCTURE [size = 48, referenced] `Operator`
412 CHECK:            unique name: `.?AUOperator@@`
413 CHECK:            vtable: <no type>, base list: <no type>, field list: 0x1063
414 CHECK:            options: has unique name | overloaded operator, sizeof 1
415 CHECK:   0x1065 | LF_FIELDLIST [size = 12, referenced]
416 CHECK:            - LF_ENUMERATE [A = 0]
417 CHECK:   0x1066 | LF_ENUM [size = 36, referenced] `Enum`
418 CHECK:            unique name: `.?AW4Enum@@`
419 CHECK:            field list: 0x1065, underlying type: 0x0074 (int)
420 CHECK:            options: has unique name
421 CHECK:   0x1067 | LF_STRUCTURE [size = 40, referenced] `Cast`
422 CHECK:            unique name: `.?AUCast@@`
423 CHECK:            vtable: <no type>, base list: <no type>, field list: <no type>
424 CHECK:            options: forward ref (-> 0x106B) | has unique name, sizeof 0
425 CHECK:   0x1068 | LF_POINTER [size = 12, referenced]
426 CHECK:            referent = 0x1067, mode = pointer, opts = const, kind = ptr64
427 CHECK:   0x1069 | LF_MFUNCTION [size = 28, referenced]
428 CHECK:            return type = 0x0074 (int), # args = 0, param list = 0x1012
429 CHECK:            class type = 0x1067, this type = 0x1068, this adjust = 0
430 CHECK:            calling conv = cdecl, options = None
431 CHECK:   0x106A | LF_FIELDLIST [size = 28, referenced]
432 CHECK:            - LF_ONEMETHOD [name = `operator int`]
433 CHECK:              type = 0x1069, vftable offset = -1, attrs = public
434 CHECK:   0x106B | LF_STRUCTURE [size = 40, referenced] `Cast`
435 CHECK:            unique name: `.?AUCast@@`
436 CHECK:            vtable: <no type>, base list: <no type>, field list: 0x106A
437 CHECK:            options: conversion operator | has unique name | overloaded operator, sizeof 1
438 CHECK:   0x106C | LF_STRUCTURE [size = 44, referenced] `Nothing`
439 CHECK:            unique name: `.?AUNothing@@`
440 CHECK:            vtable: <no type>, base list: <no type>, field list: 0x1007
441 CHECK:            options: has unique name, sizeof 1
442 CHECK:   0x106D | LF_STRUCTURE [size = 52, referenced] `Assignment`
443 CHECK:            unique name: `.?AUAssignment@@`
444 CHECK:            vtable: <no type>, base list: <no type>, field list: <no type>
445 CHECK:            options: forward ref (-> 0x1073) | has unique name, sizeof 0
446 CHECK:   0x106E | LF_POINTER [size = 12, referenced]
447 CHECK:            referent = 0x106D, mode = ref, opts = None, kind = ptr64
448 CHECK:   0x106F | LF_POINTER [size = 12, referenced]
449 CHECK:            referent = 0x106D, mode = pointer, opts = const, kind = ptr64
450 CHECK:   0x1070 | LF_ARGLIST [size = 12, referenced]
451 CHECK:            0x106D: `Assignment`
452 CHECK:   0x1071 | LF_MFUNCTION [size = 28, referenced]
453 CHECK:            return type = 0x106E, # args = 1, param list = 0x1070
454 CHECK:            class type = 0x106D, this type = 0x106F, this adjust = 0
455 CHECK:            calling conv = cdecl, options = None
456 CHECK:   0x1072 | LF_FIELDLIST [size = 24, referenced]
457 CHECK:            - LF_ONEMETHOD [name = `operator=`]
458 CHECK:              type = 0x1071, vftable offset = -1, attrs = public
459 CHECK:   0x1073 | LF_STRUCTURE [size = 52, referenced] `Assignment`
460 CHECK:            unique name: `.?AUAssignment@@`
461 CHECK:            vtable: <no type>, base list: <no type>, field list: 0x1072
462 CHECK:            options: has unique name | overloaded operator | overloaded operator=, sizeof 1
463 CHECK:   0x1074 | LF_STRUCTURE [size = 44, referenced] `Nothing`
464 CHECK:            unique name: `.?AUNothing@@`
465 CHECK:            vtable: <no type>, base list: <no type>, field list: <no type>
466 CHECK:            options: forward ref (<- 0x106C) | has unique name, sizeof 0
467 CHECK:   0x1075 | LF_MODIFIER [size = 12, referenced]
468 CHECK:            referent = 0x1074, modifiers = const
469 CHECK:   0x1076 | LF_ARGLIST [size = 12, referenced]
470 CHECK:            0x1075: `const Nothing`
471 CHECK:   0x1077 | LF_PROCEDURE [size = 16, referenced]
472 CHECK:            return type = 0x0003 (void), # args = 1, param list = 0x1076
473 CHECK:            calling conv = cdecl, options = None
474 CHECK:   0x1078 | LF_MODIFIER [size = 12, referenced]
475 CHECK:            referent = 0x1074, modifiers = volatile
476 CHECK:   0x1079 | LF_ARGLIST [size = 12, referenced]
477 CHECK:            0x1078: `volatile Nothing`
478 CHECK:   0x107A | LF_PROCEDURE [size = 16, referenced]
479 CHECK:            return type = 0x0003 (void), # args = 1, param list = 0x1079
480 CHECK:            calling conv = cdecl, options = None
481 CHECK:   0x107B | LF_MODIFIER [size = 12, referenced]
482 CHECK:            referent = 0x1074, modifiers = const | volatile
483 CHECK:   0x107C | LF_ARGLIST [size = 12, referenced]
484 CHECK:            0x107B: `const volatile Nothing`
485 CHECK:   0x107D | LF_PROCEDURE [size = 16, referenced]
486 CHECK:            return type = 0x0003 (void), # args = 1, param list = 0x107C
487 CHECK:            calling conv = cdecl, options = None
488 CHECK:   0x107E | LF_MODIFIER [size = 12, referenced]
489 CHECK:            referent = 0x1074, modifiers = unaligned
490 CHECK:   0x107F | LF_ARGLIST [size = 12, referenced]
491 CHECK:            0x107E: `__unaligned Nothing`
492 CHECK:   0x1080 | LF_PROCEDURE [size = 16, referenced]
493 CHECK:            return type = 0x0003 (void), # args = 1, param list = 0x107F
494 CHECK:            calling conv = cdecl, options = None
495 CHECK:   0x1081 | LF_UNION [size = 32, referenced] `Union`
496 CHECK:            unique name: `.?ATUnion@@`
497 CHECK:            field list: <no type>
498 CHECK:            options: forward ref (<- 0x105E) | has unique name, sizeof 0
499 CHECK:   0x1082 | LF_ARGLIST [size = 12, referenced]
500 CHECK:            0x1081: `Union`
501 CHECK:   0x1083 | LF_PROCEDURE [size = 16, referenced]
502 CHECK:            return type = 0x0003 (void), # args = 1, param list = 0x1082
503 CHECK:            calling conv = cdecl, options = None
504 CHECK:   0x1084 | LF_STRUCTURE [size = 124, referenced] `main::__l2::<unnamed-type-Anonymous>`
505 CHECK:            unique name: `.?AU<unnamed-type-Anonymous>@?1??main@@YAHHPEAPEAD@Z@`aa6523bc`
506 CHECK:            vtable: <no type>, base list: <no type>, field list: <no type>
507 CHECK:            options: forward ref (<- 0x1008) | has unique name | scoped, sizeof 0
508 CHECK:   0x1085 | LF_ARGLIST [size = 12, referenced]
509 CHECK:            0x1084: `main::__l2::<unnamed-type-Anonymous>`
510 CHECK:   0x1086 | LF_PROCEDURE [size = 16, referenced]
511 CHECK:            return type = 0x0003 (void), # args = 1, param list = 0x1085
512 CHECK:            calling conv = cdecl, options = None
513 CHECK:   0x1087 | LF_PROCEDURE [size = 16, referenced]
514 CHECK:            return type = 0x0003 (void), # args = 1, param list = 0x1070
515 CHECK:            calling conv = cdecl, options = None
516 CHECK:   0x1088 | LF_ARGLIST [size = 12, referenced]
517 CHECK:            0x1067: `Cast`
518 CHECK:   0x1089 | LF_PROCEDURE [size = 16, referenced]
519 CHECK:            return type = 0x0003 (void), # args = 1, param list = 0x1088
520 CHECK:            calling conv = cdecl, options = None
521 CHECK:   0x108A | LF_ARGLIST [size = 12, referenced]
522 CHECK:            0x1058: `Constructor`
523 CHECK:   0x108B | LF_PROCEDURE [size = 16, referenced]
524 CHECK:            return type = 0x0003 (void), # args = 1, param list = 0x108A
525 CHECK:            calling conv = cdecl, options = None
526 CHECK:   0x108C | LF_ARGLIST [size = 12, referenced]
527 CHECK:            0x1054: `Nested::F`
528 CHECK:   0x108D | LF_PROCEDURE [size = 16, referenced]
529 CHECK:            return type = 0x0003 (void), # args = 1, param list = 0x108C
530 CHECK:            calling conv = cdecl, options = None
531 CHECK:   0x108E | LF_STRUCTURE [size = 44, referenced] `Nested`
532 CHECK:            unique name: `.?AUNested@@`
533 CHECK:            vtable: <no type>, base list: <no type>, field list: <no type>
534 CHECK:            options: forward ref (<- 0x1056) | has unique name, sizeof 0
535 CHECK:   0x108F | LF_ARGLIST [size = 12, referenced]
536 CHECK:            0x108E: `Nested`
537 CHECK:   0x1090 | LF_PROCEDURE [size = 16, referenced]
538 CHECK:            return type = 0x0003 (void), # args = 1, param list = 0x108F
539 CHECK:            calling conv = cdecl, options = None
540 CHECK:   0x1091 | LF_ARGLIST [size = 12, referenced]
541 CHECK:            0x1074: `Nothing`
542 CHECK:   0x1092 | LF_PROCEDURE [size = 16, referenced]
543 CHECK:            return type = 0x0003 (void), # args = 1, param list = 0x1091
544 CHECK:            calling conv = cdecl, options = None
545 CHECK:   0x1093 | LF_ARGLIST [size = 12, referenced]
546 CHECK:            0x105F: `Operator`
547 CHECK:   0x1094 | LF_PROCEDURE [size = 16, referenced]
548 CHECK:            return type = 0x0003 (void), # args = 1, param list = 0x1093
549 CHECK:            calling conv = cdecl, options = None
550 CHECK:   0x1095 | LF_STRUCTURE [size = 88, referenced] `main::__l2::Scoped`
551 CHECK:            unique name: `.?AUScoped@?1??main@@YAHHPEAPEAD@Z@`aa6523bc`
552 CHECK:            vtable: <no type>, base list: <no type>, field list: <no type>
553 CHECK:            options: forward ref (<- 0x1009) | has unique name | scoped, sizeof 0
554 CHECK:   0x1096 | LF_ARGLIST [size = 12, referenced]
555 CHECK:            0x1095: `main::__l2::Scoped`
556 CHECK:   0x1097 | LF_PROCEDURE [size = 16, referenced]
557 CHECK:            return type = 0x0003 (void), # args = 1, param list = 0x1096
558 CHECK:            calling conv = cdecl, options = None
559 CHECK:   0x1098 | LF_CLASS [size = 40, referenced] `Class`
560 CHECK:            unique name: `.?AVClass@@`
561 CHECK:            vtable: <no type>, base list: <no type>, field list: <no type>
562 CHECK:            options: forward ref (<- 0x105D) | has unique name, sizeof 0
563 CHECK:   0x1099 | LF_ARGLIST [size = 12, referenced]
564 CHECK:            0x1098: `Class`
565 CHECK:   0x109A | LF_PROCEDURE [size = 16, referenced]
566 CHECK:            return type = 0x0003 (void), # args = 1, param list = 0x1099
567 CHECK:            calling conv = cdecl, options = None
568 CHECK:   0x109B | LF_ARGLIST [size = 12, referenced]
569 CHECK:            0x1066: `Enum`
570 CHECK:   0x109C | LF_PROCEDURE [size = 16, referenced]
571 CHECK:            return type = 0x0003 (void), # args = 1, param list = 0x109B
572 CHECK:            calling conv = cdecl, options = None
574 CHECK:                  Type Reference Statistics                  
575 CHECK: ============================================================
576 CHECK:   Records referenced: 84 / 157 53.50%
577 CHECK:   Bytes referenced: 2,188 / 7,500 29.17%