1 record_types {
2   type_info {
3     name: "HiddenBase"
4     size: 8
5     alignment: 4
6     referenced_type: "_ZTI10HiddenBase"
7     source_file: "/development/vndk/tools/header-checker/tests/input/example3.h"
8     linker_set_key: "_ZTI10HiddenBase"
9     self_type: "_ZTI10HiddenBase"
10   }
11   fields {
12     referenced_type: "_ZTIi"
13     field_offset: 0
14     field_name: "hide"
15     access: private_access
16   }
17   fields {
18     referenced_type: "_ZTIf"
19     field_offset: 32
20     field_name: "seek"
21     access: private_access
22   }
23   access: public_access
24   record_kind: class_kind
25 }
26 record_types {
27   type_info {
28     name: "List<float>"
29     size: 8
30     alignment: 8
31     referenced_type: "_ZTI4ListIfE"
32     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
33     linker_set_key: "_ZTI4ListIfE"
34     self_type: "_ZTI4ListIfE"
35   }
36   fields {
37     referenced_type: "_ZTIPN4ListIfE5_NodeE"
38     field_offset: 0
39     field_name: "middle"
40     access: public_access
41   }
42   template_info {
43     elements {
44       referenced_type: "_ZTIf"
45     }
46   }
47   access: public_access
48   record_kind: class_kind
49 }
50 record_types {
51   type_info {
52     name: "List<int>"
53     size: 8
54     alignment: 8
55     referenced_type: "_ZTI4ListIiE"
56     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
57     linker_set_key: "_ZTI4ListIiE"
58     self_type: "_ZTI4ListIiE"
59   }
60   fields {
61     referenced_type: "_ZTIPN4ListIiE5_NodeE"
62     field_offset: 0
63     field_name: "middle"
64     access: public_access
65   }
66   template_info {
67     elements {
68       referenced_type: "_ZTIi"
69     }
70   }
71   access: public_access
72   record_kind: class_kind
73 }
74 record_types {
75   type_info {
76     name: "Hello"
77     size: 32
78     alignment: 4
79     referenced_type: "_ZTI5Hello"
80     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
81     linker_set_key: "_ZTI5Hello"
82     self_type: "_ZTI5Hello"
83   }
84   fields {
85     referenced_type: "_ZTIi"
86     field_offset: 0
87     field_name: "foo"
88     access: public_access
89   }
90   fields {
91     referenced_type: "_ZTIi"
92     field_offset: 32
93     field_name: "bar"
94     access: public_access
95   }
96   fields {
97     referenced_type: "_ZTIw"
98     field_offset: 64
99     field_name: "d"
100     access: public_access
101   }
102   fields {
103     referenced_type: "_ZTIN5Hello2$AE"
104     field_offset: 96
105     field_name: "enum_field"
106     access: public_access
107   }
108   fields {
109     referenced_type: "_ZTIN5Hello2$CE"
110     field_offset: 128
111     field_name: "enum_field2"
112     access: public_access
113   }
114   fields {
115     referenced_type: "_ZTIN5HelloUt1_E"
116     field_offset: 160
117     field_name: ""
118     access: public_access
119   }
120   access: public_access
121   record_kind: struct_kind
122 }
123 record_types {
124   type_info {
125     name: "CPPHello"
126     size: 56
127     alignment: 8
128     referenced_type: "_ZTI8CPPHello"
129     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
130     linker_set_key: "_ZTI8CPPHello"
131     self_type: "_ZTI8CPPHello"
132   }
133   fields {
134     referenced_type: "_ZTIKi"
135     field_offset: 352
136     field_name: "cpp_foo"
137     access: public_access
138   }
139   fields {
140     referenced_type: "_ZTIKf"
141     field_offset: 384
142     field_name: "cpp_bar"
143     access: public_access
144   }
145   base_specifiers {
146     referenced_type: "_ZTIN5test210HelloAgainE"
147     is_virtual: false
148     access: private_access
149   }
150   base_specifiers {
151     referenced_type: "_ZTIN5test38ByeAgainIfEE"
152     is_virtual: false
153     access: public_access
154   }
155   vtable_layout {
156     vtable_components {
157       kind: OffsetToTop
158       mangled_component_name: ""
159       component_value: 0
160       is_pure: false
161     }
162     vtable_components {
163       kind: RTTI
164       mangled_component_name: "_ZTI8CPPHello"
165       component_value: 0
166       is_pure: false
167     }
168     vtable_components {
169       kind: FunctionPointer
170       mangled_component_name: "_ZN8CPPHello5againEv"
171       component_value: 0
172       is_pure: false
173     }
174     vtable_components {
175       kind: CompleteDtorPointer
176       mangled_component_name: "_ZN8CPPHelloD1Ev"
177       component_value: 0
178       is_pure: false
179     }
180     vtable_components {
181       kind: DeletingDtorPointer
182       mangled_component_name: "_ZN8CPPHelloD0Ev"
183       component_value: 0
184       is_pure: false
185     }
186   }
187   access: public_access
188   record_kind: struct_kind
189 }
190 record_types {
191   type_info {
192     name: "List<float>::_Node"
193     size: 24
194     alignment: 8
195     referenced_type: "_ZTIN4ListIfE5_NodeE"
196     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
197     linker_set_key: "_ZTIN4ListIfE5_NodeE"
198     self_type: "_ZTIN4ListIfE5_NodeE"
199   }
200   fields {
201     referenced_type: "_ZTIf"
202     field_offset: 0
203     field_name: "mVal"
204     access: private_access
205   }
206   fields {
207     referenced_type: "_ZTIPN4ListIfE5_NodeE"
208     field_offset: 64
209     field_name: "mpPrev"
210     access: private_access
211   }
212   fields {
213     referenced_type: "_ZTIPN4ListIfE5_NodeE"
214     field_offset: 128
215     field_name: "mpNext"
216     access: private_access
217   }
218   access: public_access
219   record_kind: class_kind
220 }
221 record_types {
222   type_info {
223     name: "Hello::(anonymous struct at /development/vndk/tools/header-checker/tests/input/example1.h:19:3)"
224     size: 12
225     alignment: 4
226     referenced_type: "_ZTIN5HelloUt1_E"
227     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
228     linker_set_key: "_ZTIN5HelloUt1_E"
229     self_type: "_ZTIN5HelloUt1_E"
230   }
231   fields {
232     referenced_type: "_ZTIi"
233     field_offset: 0
234     field_name: "a"
235     access: public_access
236   }
237   fields {
238     referenced_type: "_ZTIi"
239     field_offset: 32
240     field_name: "b"
241     access: public_access
242   }
243   fields {
244     referenced_type: "_ZTIN5HelloUt1_Ut_E"
245     field_offset: 64
246     field_name: ""
247     access: public_access
248   }
249   access: public_access
250   is_anonymous: true
251   record_kind: struct_kind
252 }
253 record_types {
254   type_info {
255     name: "Hello::(anonymous struct at /development/vndk/tools/header-checker/tests/input/example1.h:19:3)::(anonymous struct at /development/vndk/tools/header-checker/tests/input/example1.h:22:5)"
256     size: 4
257     alignment: 4
258     referenced_type: "_ZTIN5HelloUt1_Ut_E"
259     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
260     linker_set_key: "_ZTIN5HelloUt1_Ut_E"
261     self_type: "_ZTIN5HelloUt1_Ut_E"
262   }
263   fields {
264     referenced_type: "_ZTIi"
265     field_offset: 0
266     field_name: "c"
267     access: public_access
268   }
269   access: public_access
270   is_anonymous: true
271   record_kind: struct_kind
272 }
273 record_types {
274   type_info {
275     name: "test2::HelloAgain"
276     size: 40
277     alignment: 8
278     referenced_type: "_ZTIN5test210HelloAgainE"
279     source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
280     linker_set_key: "_ZTIN5test210HelloAgainE"
281     self_type: "_ZTIN5test210HelloAgainE"
282   }
283   fields {
284     referenced_type: "_ZTINSt3__16vectorIPN5test210HelloAgainENS_9allocatorIS3_EEEE"
285     field_offset: 64
286     field_name: "foo_again"
287     access: public_access
288   }
289   fields {
290     referenced_type: "_ZTIi"
291     field_offset: 256
292     field_name: "bar_again"
293     access: public_access
294   }
295   vtable_layout {
296     vtable_components {
297       kind: OffsetToTop
298       mangled_component_name: ""
299       component_value: 0
300       is_pure: false
301     }
302     vtable_components {
303       kind: RTTI
304       mangled_component_name: "_ZTIN5test210HelloAgainE"
305       component_value: 0
306       is_pure: false
307     }
308     vtable_components {
309       kind: FunctionPointer
310       mangled_component_name: "_ZN5test210HelloAgain5againEv"
311       component_value: 0
312       is_pure: false
313     }
314     vtable_components {
315       kind: CompleteDtorPointer
316       mangled_component_name: "_ZN5test210HelloAgainD1Ev"
317       component_value: 0
318       is_pure: false
319     }
320     vtable_components {
321       kind: DeletingDtorPointer
322       mangled_component_name: "_ZN5test210HelloAgainD0Ev"
323       component_value: 0
324       is_pure: false
325     }
326   }
327   access: public_access
328   record_kind: struct_kind
329 }
330 record_types {
331   type_info {
332     name: "test3::Outer::Inner"
333     size: 4
334     alignment: 4
335     referenced_type: "_ZTIN5test35Outer5InnerE"
336     source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
337     linker_set_key: "_ZTIN5test35Outer5InnerE"
338     self_type: "_ZTIN5test35Outer5InnerE"
339   }
340   fields {
341     referenced_type: "_ZTIi"
342     field_offset: 0
343     field_name: "b"
344     access: private_access
345   }
346   access: private_access
347   record_kind: class_kind
348 }
349 record_types {
350   type_info {
351     name: "test3::Outer"
352     size: 4
353     alignment: 4
354     referenced_type: "_ZTIN5test35OuterE"
355     source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
356     linker_set_key: "_ZTIN5test35OuterE"
357     self_type: "_ZTIN5test35OuterE"
358   }
359   fields {
360     referenced_type: "_ZTIi"
361     field_offset: 0
362     field_name: "a"
363     access: public_access
364   }
365   access: public_access
366   record_kind: class_kind
367 }
368 record_types {
369   type_info {
370     name: "test3::ByeAgain<double>"
371     size: 16
372     alignment: 8
373     referenced_type: "_ZTIN5test38ByeAgainIdEE"
374     source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
375     linker_set_key: "_ZTIN5test38ByeAgainIdEE"
376     self_type: "_ZTIN5test38ByeAgainIdEE"
377   }
378   fields {
379     referenced_type: "_ZTId"
380     field_offset: 0
381     field_name: "foo_again"
382     access: public_access
383   }
384   fields {
385     referenced_type: "_ZTIi"
386     field_offset: 64
387     field_name: "bar_again"
388     access: public_access
389   }
390   template_info {
391     elements {
392       referenced_type: "_ZTId"
393     }
394   }
395   access: public_access
396   record_kind: struct_kind
397 }
398 record_types {
399   type_info {
400     name: "test3::ByeAgain<float>"
401     size: 8
402     alignment: 4
403     referenced_type: "_ZTIN5test38ByeAgainIfEE"
404     source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
405     linker_set_key: "_ZTIN5test38ByeAgainIfEE"
406     self_type: "_ZTIN5test38ByeAgainIfEE"
407   }
408   fields {
409     referenced_type: "_ZTIf"
410     field_offset: 0
411     field_name: "foo_again"
412     access: public_access
413   }
414   fields {
415     referenced_type: "_ZTIf"
416     field_offset: 32
417     field_name: "bar_Again"
418     access: public_access
419   }
420   template_info {
421     elements {
422       referenced_type: "_ZTIf"
423     }
424   }
425   access: public_access
426   record_kind: struct_kind
427 }
428 enum_types {
429   type_info {
430     name: "Foo_s"
431     size: 4
432     alignment: 4
433     referenced_type: "_ZTI5Foo_s"
434     source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
435     linker_set_key: "_ZTI5Foo_s"
436     self_type: "_ZTI5Foo_s"
437   }
438   underlying_type: "_ZTIj"
439   enum_fields {
440     enum_field_value: 10
441     name: "foosball"
442   }
443   enum_fields {
444     enum_field_value: 11
445     name: "foosbat"
446   }
447   access: public_access
448 }
449 enum_types {
450   type_info {
451     name: "Hello::(anonymous enum at /development/vndk/tools/header-checker/tests/input/example1.h:17:3)"
452     size: 4
453     alignment: 4
454     referenced_type: "_ZTIN5Hello2$AE"
455     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
456     linker_set_key: "_ZTIN5Hello2$AE"
457     self_type: "_ZTIN5Hello2$AE"
458   }
459   underlying_type: "_ZTIj"
460   enum_fields {
461     enum_field_value: 0
462     name: "Hello::A"
463   }
464   enum_fields {
465     enum_field_value: 1
466     name: "Hello::B"
467   }
468   access: public_access
469 }
470 enum_types {
471   type_info {
472     name: "Hello::(anonymous enum at /development/vndk/tools/header-checker/tests/input/example1.h:18:3)"
473     size: 4
474     alignment: 4
475     referenced_type: "_ZTIN5Hello2$CE"
476     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
477     linker_set_key: "_ZTIN5Hello2$CE"
478     self_type: "_ZTIN5Hello2$CE"
479   }
480   underlying_type: "_ZTIj"
481   enum_fields {
482     enum_field_value: 0
483     name: "Hello::C"
484   }
485   enum_fields {
486     enum_field_value: 1
487     name: "Hello::D"
488   }
489   access: public_access
490 }
491 enum_types {
492   type_info {
493     name: "test3::Kind"
494     size: 4
495     alignment: 4
496     referenced_type: "_ZTIN5test34KindE"
497     source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
498     linker_set_key: "_ZTIN5test34KindE"
499     self_type: "_ZTIN5test34KindE"
500   }
501   underlying_type: "_ZTIj"
502   enum_fields {
503     enum_field_value: 24
504     name: "test3::kind1"
505   }
506   enum_fields {
507     enum_field_value: 2312
508     name: "test3::kind2"
509   }
510   access: public_access
511 }
512 enum_types {
513   type_info {
514     name: "CPPHello::Bla"
515     size: 4
516     alignment: 4
517     referenced_type: "_ZTIN8CPPHello3BlaE"
518     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
519     linker_set_key: "_ZTIN8CPPHello3BlaE"
520     self_type: "_ZTIN8CPPHello3BlaE"
521   }
522   underlying_type: "_ZTIj"
523   enum_fields {
524     enum_field_value: 1
525     name: "CPPHello::BLA"
526   }
527   access: public_access
528 }
529 pointer_types {
530   type_info {
531     name: "ForwardDeclaration *"
532     size: 8
533     alignment: 8
534     referenced_type: "_ZTI18ForwardDeclaration"
535     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
536     linker_set_key: "_ZTIP18ForwardDeclaration"
537     self_type: "_ZTIP18ForwardDeclaration"
538   }
539 }
540 pointer_types {
541   type_info {
542     name: "List<int> *"
543     size: 8
544     alignment: 8
545     referenced_type: "_ZTI4ListIiE"
546     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
547     linker_set_key: "_ZTIP4ListIiE"
548     self_type: "_ZTIP4ListIiE"
549   }
550 }
551 pointer_types {
552   type_info {
553     name: "CPPHello *"
554     size: 8
555     alignment: 8
556     referenced_type: "_ZTI8CPPHello"
557     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
558     linker_set_key: "_ZTIP8CPPHello"
559     self_type: "_ZTIP8CPPHello"
560   }
561 }
562 pointer_types {
563   type_info {
564     name: "StackNode<int> *"
565     size: 8
566     alignment: 8
567     referenced_type: "_ZTI9StackNodeIiE"
568     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
569     linker_set_key: "_ZTIP9StackNodeIiE"
570     self_type: "_ZTIP9StackNodeIiE"
571   }
572 }
573 pointer_types {
574   type_info {
575     name: "const List<float>::_Node *"
576     size: 8
577     alignment: 8
578     referenced_type: "_ZTIKN4ListIfE5_NodeE"
579     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
580     linker_set_key: "_ZTIPKN4ListIfE5_NodeE"
581     self_type: "_ZTIPKN4ListIfE5_NodeE"
582   }
583 }
584 pointer_types {
585   type_info {
586     name: "const char *"
587     size: 8
588     alignment: 8
589     referenced_type: "_ZTIKc"
590     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
591     linker_set_key: "_ZTIPKc"
592     self_type: "_ZTIPKc"
593   }
594 }
595 pointer_types {
596   type_info {
597     name: "List<float>::_Node *"
598     size: 8
599     alignment: 8
600     referenced_type: "_ZTIN4ListIfE5_NodeE"
601     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
602     linker_set_key: "_ZTIPN4ListIfE5_NodeE"
603     self_type: "_ZTIPN4ListIfE5_NodeE"
604   }
605 }
606 pointer_types {
607   type_info {
608     name: "List<int>::_Node *"
609     size: 8
610     alignment: 8
611     referenced_type: "_ZTIN4ListIiE5_NodeE"
612     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
613     linker_set_key: "_ZTIPN4ListIiE5_NodeE"
614     self_type: "_ZTIPN4ListIiE5_NodeE"
615   }
616 }
617 pointer_types {
618   type_info {
619     name: "test2::HelloAgain *"
620     size: 8
621     alignment: 8
622     referenced_type: "_ZTIN5test210HelloAgainE"
623     source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
624     linker_set_key: "_ZTIPN5test210HelloAgainE"
625     self_type: "_ZTIPN5test210HelloAgainE"
626   }
627 }
628 pointer_types {
629   type_info {
630     name: "float *"
631     size: 8
632     alignment: 8
633     referenced_type: "_ZTIf"
634     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
635     linker_set_key: "_ZTIPf"
636     self_type: "_ZTIPf"
637   }
638 }
639 pointer_types {
640   type_info {
641     name: "int *"
642     size: 8
643     alignment: 8
644     referenced_type: "_ZTIi"
645     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
646     linker_set_key: "_ZTIPi"
647     self_type: "_ZTIPi"
648   }
649 }
650 lvalue_reference_types {
651   type_info {
652     name: "const float &"
653     size: 8
654     alignment: 8
655     referenced_type: "_ZTIKf"
656     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
657     linker_set_key: "_ZTIRKf"
658     self_type: "_ZTIRKf"
659   }
660 }
661 lvalue_reference_types {
662   type_info {
663     name: "float &"
664     size: 8
665     alignment: 8
666     referenced_type: "_ZTIf"
667     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
668     linker_set_key: "_ZTIRf"
669     self_type: "_ZTIRf"
670   }
671 }
672 lvalue_reference_types {
673   type_info {
674     name: "int &"
675     size: 8
676     alignment: 8
677     referenced_type: "_ZTIi"
678     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
679     linker_set_key: "_ZTIRi"
680     self_type: "_ZTIRi"
681   }
682 }
683 builtin_types {
684   type_info {
685     name: "bool"
686     size: 1
687     alignment: 1
688     referenced_type: "_ZTIb"
689     source_file: ""
690     linker_set_key: "_ZTIb"
691     self_type: "_ZTIb"
692   }
693   is_unsigned: true
694   is_integral: true
695 }
696 builtin_types {
697   type_info {
698     name: "char"
699     size: 1
700     alignment: 1
701     referenced_type: "_ZTIc"
702     source_file: ""
703     linker_set_key: "_ZTIc"
704     self_type: "_ZTIc"
705   }
706   is_unsigned: false
707   is_integral: true
708 }
709 builtin_types {
710   type_info {
711     name: "double"
712     size: 8
713     alignment: 8
714     referenced_type: "_ZTId"
715     source_file: ""
716     linker_set_key: "_ZTId"
717     self_type: "_ZTId"
718   }
719   is_unsigned: false
720   is_integral: false
721 }
722 builtin_types {
723   type_info {
724     name: "float"
725     size: 4
726     alignment: 4
727     referenced_type: "_ZTIf"
728     source_file: ""
729     linker_set_key: "_ZTIf"
730     self_type: "_ZTIf"
731   }
732   is_unsigned: false
733   is_integral: false
734 }
735 builtin_types {
736   type_info {
737     name: "int"
738     size: 4
739     alignment: 4
740     referenced_type: "_ZTIi"
741     source_file: ""
742     linker_set_key: "_ZTIi"
743     self_type: "_ZTIi"
744   }
745   is_unsigned: false
746   is_integral: true
747 }
748 builtin_types {
749   type_info {
750     name: "unsigned int"
751     size: 4
752     alignment: 4
753     referenced_type: "_ZTIj"
754     source_file: ""
755     linker_set_key: "_ZTIj"
756     self_type: "_ZTIj"
757   }
758   is_unsigned: true
759   is_integral: true
760 }
761 builtin_types {
762   type_info {
763     name: "void"
764     size: 0
765     alignment: 0
766     referenced_type: "_ZTIv"
767     source_file: ""
768     linker_set_key: "_ZTIv"
769     self_type: "_ZTIv"
770   }
771   is_unsigned: false
772   is_integral: false
773 }
774 builtin_types {
775   type_info {
776     name: "wchar_t"
777     size: 4
778     alignment: 4
779     referenced_type: "_ZTIw"
780     source_file: ""
781     linker_set_key: "_ZTIw"
782     self_type: "_ZTIw"
783   }
784   is_unsigned: false
785   is_integral: true
786 }
787 qualified_types {
788   type_info {
789     name: "bool const[2]"
790     size: 2
791     alignment: 1
792     referenced_type: "_ZTIA2_b"
793     source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
794     linker_set_key: "_ZTIA2_Kb"
795     self_type: "_ZTIA2_Kb"
796   }
797   is_const: true
798   is_volatile: false
799   is_restricted: false
800 }
801 qualified_types {
802   type_info {
803     name: "const CPPHello"
804     size: 56
805     alignment: 8
806     referenced_type: "_ZTI8CPPHello"
807     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
808     linker_set_key: "_ZTIK8CPPHello"
809     self_type: "_ZTIK8CPPHello"
810   }
811   is_const: true
812   is_volatile: false
813   is_restricted: false
814 }
815 qualified_types {
816   type_info {
817     name: "const List<float>::_Node"
818     size: 24
819     alignment: 8
820     referenced_type: "_ZTIN4ListIfE5_NodeE"
821     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
822     linker_set_key: "_ZTIKN4ListIfE5_NodeE"
823     self_type: "_ZTIKN4ListIfE5_NodeE"
824   }
825   is_const: true
826   is_volatile: false
827   is_restricted: false
828 }
829 qualified_types {
830   type_info {
831     name: "const char"
832     size: 1
833     alignment: 1
834     referenced_type: "_ZTIc"
835     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
836     linker_set_key: "_ZTIKc"
837     self_type: "_ZTIKc"
838   }
839   is_const: true
840   is_volatile: false
841   is_restricted: false
842 }
843 qualified_types {
844   type_info {
845     name: "const float"
846     size: 4
847     alignment: 4
848     referenced_type: "_ZTIf"
849     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
850     linker_set_key: "_ZTIKf"
851     self_type: "_ZTIKf"
852   }
853   is_const: true
854   is_volatile: false
855   is_restricted: false
856 }
857 qualified_types {
858   type_info {
859     name: "const int"
860     size: 4
861     alignment: 4
862     referenced_type: "_ZTIi"
863     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
864     linker_set_key: "_ZTIKi"
865     self_type: "_ZTIKi"
866   }
867   is_const: true
868   is_volatile: false
869   is_restricted: false
870 }
871 array_types {
872   type_info {
873     name: "bool [2]"
874     size: 2
875     alignment: 1
876     referenced_type: "_ZTIb"
877     source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
878     linker_set_key: "_ZTIA2_b"
879     self_type: "_ZTIA2_b"
880   }
881 }
882 functions {
883   return_type: "_ZTIi"
884   function_name: "ListMangle"
885   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
886   parameters {
887     referenced_type: "_ZTIP4ListIiE"
888     default_arg: false
889     is_this_ptr: false
890   }
891   parameters {
892     referenced_type: "_ZTIP9StackNodeIiE"
893     default_arg: false
894     is_this_ptr: false
895   }
896   linker_set_key: "_Z10ListMangleP4ListIiEP9StackNodeIiE"
897   access: public_access
898 }
899 functions {
900   return_type: "_ZTIv"
901   function_name: "fooVariadic"
902   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
903   parameters {
904     referenced_type: "_ZTIRi"
905     default_arg: false
906     is_this_ptr: false
907   }
908   parameters {
909     referenced_type: "_ZTIPi"
910     default_arg: false
911     is_this_ptr: false
912   }
913   linker_set_key: "_Z11fooVariadicRiPiz"
914   access: public_access
915 }
916 functions {
917   return_type: "_ZTI4ListIfE"
918   function_name: "castInterface"
919   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
920   parameters {
921     referenced_type: "_ZTI4ListIfE"
922     default_arg: false
923     is_this_ptr: false
924   }
925   parameters {
926     referenced_type: "_ZTIPKc"
927     default_arg: false
928     is_this_ptr: false
929   }
930   parameters {
931     referenced_type: "_ZTIb"
932     default_arg: false
933     is_this_ptr: false
934   }
935   template_info {
936     elements {
937       referenced_type: "_ZTIf"
938     }
939     elements {
940       referenced_type: "_ZTIf"
941     }
942     elements {
943       referenced_type: "_ZTIf"
944     }
945     elements {
946       referenced_type: "_ZTIf"
947     }
948   }
949   linker_set_key: "_Z13castInterfaceIffffE4ListIT_ES0_IT0_EPKcb"
950   access: public_access
951 }
952 functions {
953   return_type: "_ZTIi"
954   function_name: "boo"
955   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
956   parameters {
957     referenced_type: "_ZTIK8CPPHello"
958     default_arg: false
959     is_this_ptr: false
960   }
961   parameters {
962     referenced_type: "_ZTIPi"
963     default_arg: false
964     is_this_ptr: false
965   }
966   parameters {
967     referenced_type: "_ZTIPf"
968     default_arg: false
969     is_this_ptr: false
970   }
971   linker_set_key: "_Z3boo8CPPHelloPiPf"
972   access: public_access
973 }
974 functions {
975   return_type: "_ZTIv"
976   function_name: "format"
977   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
978   linker_set_key: "_Z6formatv"
979   access: public_access
980 }
981 functions {
982   return_type: "_ZTIv"
983   function_name: "List<float>::_Node::PrivateNode"
984   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
985   parameters {
986     referenced_type: "_ZTIPN4ListIfE5_NodeE"
987     default_arg: false
988     is_this_ptr: true
989   }
990   linker_set_key: "_ZN4ListIfE5_Node11PrivateNodeEv"
991   access: private_access
992 }
993 functions {
994   return_type: "_ZTIRf"
995   function_name: "List<float>::_Node::getRef"
996   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
997   parameters {
998     referenced_type: "_ZTIPN4ListIfE5_NodeE"
999     default_arg: false
1000     is_this_ptr: true
1001   }
1002   linker_set_key: "_ZN4ListIfE5_Node6getRefEv"
1003   access: public_access
1004 }
1005 functions {
1006   return_type: "_ZTIv"
1007   function_name: "List<float>::_Node::_Node"
1008   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
1009   parameters {
1010     referenced_type: "_ZTIPN4ListIfE5_NodeE"
1011     default_arg: false
1012     is_this_ptr: true
1013   }
1014   parameters {
1015     referenced_type: "_ZTIRKf"
1016     default_arg: false
1017     is_this_ptr: false
1018   }
1019   linker_set_key: "_ZN4ListIfE5_NodeC1ERKf"
1020   access: public_access
1021 }
1022 functions {
1023   return_type: "_ZTIv"
1024   function_name: "List<float>::_Node::_Node"
1025   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
1026   parameters {
1027     referenced_type: "_ZTIPN4ListIfE5_NodeE"
1028     default_arg: false
1029     is_this_ptr: true
1030   }
1031   parameters {
1032     referenced_type: "_ZTIRKf"
1033     default_arg: false
1034     is_this_ptr: false
1035   }
1036   linker_set_key: "_ZN4ListIfE5_NodeC2ERKf"
1037   access: public_access
1038 }
1039 functions {
1040   return_type: "_ZTIv"
1041   function_name: "List<float>::_Node::~_Node"
1042   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
1043   parameters {
1044     referenced_type: "_ZTIPN4ListIfE5_NodeE"
1045     default_arg: false
1046     is_this_ptr: true
1047   }
1048   linker_set_key: "_ZN4ListIfE5_NodeD1Ev"
1049   access: public_access
1050 }
1051 functions {
1052   return_type: "_ZTIv"
1053   function_name: "List<float>::_Node::~_Node"
1054   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
1055   parameters {
1056     referenced_type: "_ZTIPN4ListIfE5_NodeE"
1057     default_arg: false
1058     is_this_ptr: true
1059   }
1060   linker_set_key: "_ZN4ListIfE5_NodeD2Ev"
1061   access: public_access
1062 }
1063 functions {
1064   return_type: "_ZTIv"
1065   function_name: "test2::HelloAgain::~HelloAgain"
1066   source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
1067   parameters {
1068     referenced_type: "_ZTIPN5test210HelloAgainE"
1069     default_arg: false
1070     is_this_ptr: true
1071   }
1072   linker_set_key: "_ZN5test210HelloAgainD0Ev"
1073   access: public_access
1074 }
1075 functions {
1076   return_type: "_ZTIv"
1077   function_name: "test2::HelloAgain::~HelloAgain"
1078   source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
1079   parameters {
1080     referenced_type: "_ZTIPN5test210HelloAgainE"
1081     default_arg: false
1082     is_this_ptr: true
1083   }
1084   linker_set_key: "_ZN5test210HelloAgainD1Ev"
1085   access: public_access
1086 }
1087 functions {
1088   return_type: "_ZTIv"
1089   function_name: "test2::HelloAgain::~HelloAgain"
1090   source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
1091   parameters {
1092     referenced_type: "_ZTIPN5test210HelloAgainE"
1093     default_arg: false
1094     is_this_ptr: true
1095   }
1096   linker_set_key: "_ZN5test210HelloAgainD2Ev"
1097   access: public_access
1098 }
1099 functions {
1100   return_type: "_ZTIb"
1101   function_name: "test3::End"
1102   source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
1103   parameters {
1104     referenced_type: "_ZTIf"
1105     default_arg: true
1106     is_this_ptr: false
1107   }
1108   linker_set_key: "_ZN5test33EndEf"
1109   access: public_access
1110 }
1111 functions {
1112   return_type: "_ZTIi"
1113   function_name: "CPPHello::again"
1114   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
1115   parameters {
1116     referenced_type: "_ZTIP8CPPHello"
1117     default_arg: false
1118     is_this_ptr: true
1119   }
1120   linker_set_key: "_ZN8CPPHello5againEv"
1121   access: public_access
1122 }
1123 functions {
1124   return_type: "_ZTIi"
1125   function_name: "CPPHello::test_enum"
1126   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
1127   parameters {
1128     referenced_type: "_ZTIP8CPPHello"
1129     default_arg: false
1130     is_this_ptr: true
1131   }
1132   linker_set_key: "_ZN8CPPHello9test_enumEv"
1133   access: public_access
1134 }
1135 functions {
1136   return_type: "_ZTIv"
1137   function_name: "CPPHello::CPPHello"
1138   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
1139   parameters {
1140     referenced_type: "_ZTIP8CPPHello"
1141     default_arg: false
1142     is_this_ptr: true
1143   }
1144   linker_set_key: "_ZN8CPPHelloC1Ev"
1145   access: public_access
1146 }
1147 functions {
1148   return_type: "_ZTIv"
1149   function_name: "CPPHello::CPPHello"
1150   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
1151   parameters {
1152     referenced_type: "_ZTIP8CPPHello"
1153     default_arg: false
1154     is_this_ptr: true
1155   }
1156   linker_set_key: "_ZN8CPPHelloC2Ev"
1157   access: public_access
1158 }
1159 functions {
1160   return_type: "_ZTIRKf"
1161   function_name: "List<float>::_Node::getRef"
1162   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
1163   parameters {
1164     referenced_type: "_ZTIPKN4ListIfE5_NodeE"
1165     default_arg: false
1166     is_this_ptr: true
1167   }
1168   linker_set_key: "_ZNK4ListIfE5_Node6getRefEv"
1169   access: public_access
1170 }
1171 functions {
1172   return_type: "_ZTIi"
1173   function_name: "uses_forward_decl"
1174   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
1175   parameters {
1176     referenced_type: "_ZTIP18ForwardDeclaration"
1177     default_arg: false
1178     is_this_ptr: false
1179   }
1180   linker_set_key: "uses_forward_decl"
1181   access: public_access
1182 }
1183 global_vars {
1184   name: "__test_var"
1185   source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
1186   linker_set_key: "_ZL10__test_var"
1187   referenced_type: "_ZTIA2_Kb"
1188   access: public_access
1189 }
1190 global_vars {
1191   name: "test2::HelloAgain::hello_forever"
1192   source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
1193   linker_set_key: "_ZN5test210HelloAgain13hello_foreverE"
1194   referenced_type: "_ZTIi"
1195   access: public_access
1196 }
1197 global_vars {
1198   name: "test3::double_bye"
1199   source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
1200   linker_set_key: "_ZN5test310double_byeE"
1201   referenced_type: "_ZTIN5test38ByeAgainIdEE"
1202   access: public_access
1203 }
1204 global_vars {
1205   name: "test3::ByeAgain<float>::foo_forever"
1206   source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
1207   linker_set_key: "_ZN5test38ByeAgainIfE11foo_foreverE"
1208   referenced_type: "_ZTIi"
1209   access: public_access
1210 }
1211 global_vars {
1212   name: "float_list_test"
1213   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
1214   linker_set_key: "float_list_test"
1215   referenced_type: "_ZTI4ListIfE"
1216   access: public_access
1217 }
1218 global_vars {
1219   name: "int_list_test"
1220   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
1221   linker_set_key: "int_list_test"
1222   referenced_type: "_ZTI4ListIiE"
1223   access: public_access
1224 }
1225 global_vars {
1226   name: "node"
1227   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
1228   linker_set_key: "node"
1229   referenced_type: "_ZTIN4ListIfE5_NodeE"
1230   access: public_access
1231 }
1232