1{
2 "array_types" : [],
3 "builtin_types" :
4 [
5  {
6   "alignment" : 4,
7   "linker_set_key" : "_ZTIf",
8   "name" : "float",
9   "referenced_type" : "_ZTIf",
10   "self_type" : "_ZTIf",
11   "size" : 4
12  },
13  {
14   "alignment" : 4,
15   "is_integral" : true,
16   "linker_set_key" : "_ZTIi",
17   "name" : "int",
18   "referenced_type" : "_ZTIi",
19   "self_type" : "_ZTIi",
20   "size" : 4
21  },
22  {
23   "alignment" : 4,
24   "is_integral" : true,
25   "is_unsigned" : true,
26   "linker_set_key" : "_ZTIj",
27   "name" : "unsigned int",
28   "referenced_type" : "_ZTIj",
29   "self_type" : "_ZTIj",
30   "size" : 4
31  },
32  {
33   "linker_set_key" : "_ZTIv",
34   "name" : "void",
35   "referenced_type" : "_ZTIv",
36   "self_type" : "_ZTIv"
37  }
38 ],
39 "elf_functions" :
40 [
41  {
42   "name" : "_Z26test_virtual_function_callP12SuperSpeaker"
43  },
44  {
45   "name" : "_ZN12NotReferenced"
46  },
47  {
48   "name" : "_ZN12SuperSpeaker11SpeakLouderEv"
49  },
50  {
51   "name" : "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
52  },
53  {
54   "name" : "_ZN12SuperSpeaker9SpeakLoudEv"
55  },
56  {
57   "name" : "_ZN16LowVolumeSpeaker5SpeakEv"
58  },
59  {
60   "name" : "_ZN16LowVolumeSpeaker6ListenEv"
61  },
62  {
63   "name" : "_ZN17HighVolumeSpeaker11BadPracticeEf"
64  },
65  {
66   "name" : "_ZN17HighVolumeSpeaker5SpeakEv"
67  },
68  {
69   "name" : "_ZN17HighVolumeSpeaker6ListenEv"
70  }
71 ],
72 "elf_objects" :
73 [
74  {
75   "name" : "_ZTV16LowVolumeSpeaker"
76  },
77  {
78   "name" : "_ZTV17HighVolumeSpeaker"
79  }
80 ],
81 "enum_types" :
82 [
83  {
84   "access" : "private",
85   "alignment" : 4,
86   "enum_fields" :
87   [
88    {
89     "enum_field_value" : 1,
90     "name" : "SuperSpeaker::Loud"
91    },
92    {
93     "enum_field_value" : 2,
94     "name" : "SuperSpeaker::Louder"
95    },
96    {
97     "enum_field_value" : 3,
98     "name" : "SuperSpeaker::Loudest"
99    },
100    {
101     "enum_field_value" : 0,
102     "name" : "SuperSpeaker::Lower"
103    }
104   ],
105   "linker_set_key" : "_ZTIN12SuperSpeaker6VolumeE",
106   "name" : "SuperSpeaker::Volume",
107   "referenced_type" : "_ZTIN12SuperSpeaker6VolumeE",
108   "self_type" : "_ZTIN12SuperSpeaker6VolumeE",
109   "size" : 4,
110   "source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h",
111   "underlying_type" : "_ZTIj"
112  }
113 ],
114 "function_types" : [],
115 "functions" :
116 [
117  {
118   "function_name" : "SuperSpeaker::SpeakLouder",
119   "linker_set_key" : "_ZN12SuperSpeaker11SpeakLouderEv",
120   "parameters" :
121   [
122    {
123     "is_this_ptr" : true,
124     "referenced_type" : "_ZTIP12SuperSpeaker"
125    }
126   ],
127   "return_type" : "_ZTIv",
128   "source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
129  },
130  {
131   "function_name" : "SuperSpeaker::CreateSuperSpeaker",
132   "linker_set_key" : "_ZN12SuperSpeaker18CreateSuperSpeakerEi",
133   "parameters" :
134   [
135    {
136     "referenced_type" : "_ZTIi"
137    }
138   ],
139   "return_type" : "_ZTIP12SuperSpeaker",
140   "source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
141  },
142  {
143   "function_name" : "SuperSpeaker::SpeakLoud",
144   "linker_set_key" : "_ZN12SuperSpeaker9SpeakLoudEv",
145   "parameters" :
146   [
147    {
148     "is_this_ptr" : true,
149     "referenced_type" : "_ZTIP12SuperSpeaker"
150    }
151   ],
152   "return_type" : "_ZTIN12SuperSpeaker6VolumeE",
153   "source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
154  },
155  {
156   "function_name" : "LowVolumeSpeaker::Speak",
157   "linker_set_key" : "_ZN16LowVolumeSpeaker5SpeakEv",
158   "parameters" :
159   [
160    {
161     "is_this_ptr" : true,
162     "referenced_type" : "_ZTIP16LowVolumeSpeaker"
163    }
164   ],
165   "return_type" : "_ZTIv",
166   "source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
167  },
168  {
169   "function_name" : "LowVolumeSpeaker::Listen",
170   "linker_set_key" : "_ZN16LowVolumeSpeaker6ListenEv",
171   "parameters" :
172   [
173    {
174     "is_this_ptr" : true,
175     "referenced_type" : "_ZTIP16LowVolumeSpeaker"
176    }
177   ],
178   "return_type" : "_ZTIv",
179   "source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
180  },
181  {
182   "function_name" : "HighVolumeSpeaker::BadPractice",
183   "linker_set_key" : "_ZN17HighVolumeSpeaker11BadPracticeEf",
184   "parameters" :
185   [
186    {
187     "is_this_ptr" : true,
188     "referenced_type" : "_ZTIP17HighVolumeSpeaker"
189    },
190    {
191     "referenced_type" : "_ZTIf"
192    }
193   ],
194   "return_type" : "_ZTIP17HighVolumeSpeaker",
195   "source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
196  },
197  {
198   "function_name" : "HighVolumeSpeaker::Speak",
199   "linker_set_key" : "_ZN17HighVolumeSpeaker5SpeakEv",
200   "parameters" :
201   [
202    {
203     "is_this_ptr" : true,
204     "referenced_type" : "_ZTIP17HighVolumeSpeaker"
205    }
206   ],
207   "return_type" : "_ZTIv",
208   "source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
209  },
210  {
211   "function_name" : "HighVolumeSpeaker::Listen",
212   "linker_set_key" : "_ZN17HighVolumeSpeaker6ListenEv",
213   "parameters" :
214   [
215    {
216     "is_this_ptr" : true,
217     "referenced_type" : "_ZTIP17HighVolumeSpeaker"
218    }
219   ],
220   "return_type" : "_ZTIv",
221   "source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
222  }
223 ],
224 "global_vars" : [],
225 "lvalue_reference_types" : [],
226 "pointer_types" :
227 [
228  {
229   "alignment" : 4,
230   "linker_set_key" : "_ZTIP12SuperSpeaker",
231   "name" : "SuperSpeaker *",
232   "referenced_type" : "_ZTI12SuperSpeaker",
233   "self_type" : "_ZTIP12SuperSpeaker",
234   "size" : 4,
235   "source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
236  },
237  {
238   "alignment" : 4,
239   "linker_set_key" : "_ZTIP16LowVolumeSpeaker",
240   "name" : "LowVolumeSpeaker *",
241   "referenced_type" : "_ZTI16LowVolumeSpeaker",
242   "self_type" : "_ZTIP16LowVolumeSpeaker",
243   "size" : 4,
244   "source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
245  },
246  {
247   "alignment" : 4,
248   "linker_set_key" : "_ZTIP17HighVolumeSpeaker",
249   "name" : "HighVolumeSpeaker *",
250   "referenced_type" : "_ZTI17HighVolumeSpeaker",
251   "self_type" : "_ZTIP17HighVolumeSpeaker",
252   "size" : 4,
253   "source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
254  },
255  {
256   "alignment" : 4,
257   "linker_set_key" : "_ZTIPf",
258   "name" : "float *",
259   "referenced_type" : "_ZTIf",
260   "self_type" : "_ZTIPf",
261   "size" : 4,
262   "source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
263  }
264 ],
265 "qualified_types" : [],
266 "record_types" :
267 [
268  {
269   "alignment" : 4,
270   "fields" :
271   [
272    {
273     "access" : "private",
274     "field_name" : "mSpeakderId",
275     "field_offset" : 32,
276     "referenced_type" : "_ZTIi"
277    }
278   ],
279   "linker_set_key" : "_ZTI12SuperSpeaker",
280   "name" : "SuperSpeaker",
281   "record_kind" : "class",
282   "referenced_type" : "_ZTI12SuperSpeaker",
283   "self_type" : "_ZTI12SuperSpeaker",
284   "size" : 8,
285   "source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h",
286   "vtable_components" :
287   [
288    {
289     "kind" : "offset_to_top"
290    },
291    {
292     "kind" : "rtti",
293     "mangled_component_name" : "_ZTI12SuperSpeaker"
294    },
295    {
296     "is_pure" : true,
297     "mangled_component_name" : "_ZN12SuperSpeaker5SpeakEv"
298    },
299    {
300     "is_pure" : true,
301     "mangled_component_name" : "_ZN12SuperSpeaker6ListenEv"
302    },
303    {
304     "kind" : "complete_dtor_pointer",
305     "mangled_component_name" : "_ZN12SuperSpeakerD1Ev"
306    },
307    {
308     "kind" : "deleting_dtor_pointer",
309     "mangled_component_name" : "_ZN12SuperSpeakerD0Ev"
310    }
311   ]
312  },
313  {
314   "alignment" : 4,
315   "base_specifiers" :
316   [
317    {
318     "referenced_type" : "_ZTI12SuperSpeaker"
319    }
320   ],
321   "fields" :
322   [
323    {
324     "field_name" : "speaker_uint_t",
325     "field_offset" : 64,
326     "referenced_type" : "_ZTIj"
327    },
328    {
329     "field_name" : "speaker_float_star",
330     "field_offset" : 96,
331     "referenced_type" : "_ZTIPf"
332    }
333   ],
334   "linker_set_key" : "_ZTI16LowVolumeSpeaker",
335   "name" : "LowVolumeSpeaker",
336   "record_kind" : "class",
337   "referenced_type" : "_ZTI16LowVolumeSpeaker",
338   "self_type" : "_ZTI16LowVolumeSpeaker",
339   "size" : 16,
340   "source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h",
341   "vtable_components" :
342   [
343    {
344     "kind" : "offset_to_top"
345    },
346    {
347     "kind" : "rtti",
348     "mangled_component_name" : "_ZTI16LowVolumeSpeaker"
349    },
350    {
351     "mangled_component_name" : "_ZN16LowVolumeSpeaker5SpeakEv"
352    },
353    {
354     "mangled_component_name" : "_ZN16LowVolumeSpeaker6ListenEv"
355    },
356    {
357     "kind" : "complete_dtor_pointer",
358     "mangled_component_name" : "_ZN16LowVolumeSpeakerD1Ev"
359    },
360    {
361     "kind" : "deleting_dtor_pointer",
362     "mangled_component_name" : "_ZN16LowVolumeSpeakerD0Ev"
363    }
364   ]
365  },
366  {
367   "alignment" : 4,
368   "base_specifiers" :
369   [
370    {
371     "referenced_type" : "_ZTI12SuperSpeaker"
372    }
373   ],
374   "linker_set_key" : "_ZTI17HighVolumeSpeaker",
375   "name" : "HighVolumeSpeaker",
376   "record_kind" : "class",
377   "referenced_type" : "_ZTI17HighVolumeSpeaker",
378   "self_type" : "_ZTI17HighVolumeSpeaker",
379   "size" : 8,
380   "source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h",
381   "vtable_components" :
382   [
383    {
384     "kind" : "offset_to_top"
385    },
386    {
387     "kind" : "rtti",
388     "mangled_component_name" : "_ZTI17HighVolumeSpeaker"
389    },
390    {
391     "mangled_component_name" : "_ZN17HighVolumeSpeaker5SpeakEv"
392    },
393    {
394     "mangled_component_name" : "_ZN17HighVolumeSpeaker6ListenEv"
395    },
396    {
397     "kind" : "complete_dtor_pointer",
398     "mangled_component_name" : "_ZN17HighVolumeSpeakerD1Ev"
399    },
400    {
401     "kind" : "deleting_dtor_pointer",
402     "mangled_component_name" : "_ZN17HighVolumeSpeakerD0Ev"
403    }
404   ]
405  }
406 ],
407 "rvalue_reference_types" : []
408}
409