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