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: "CPPHello *"
532     size: 8
533     alignment: 8
534     referenced_type: "_ZTI8CPPHello"
535     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
536     linker_set_key: "_ZTIP8CPPHello"
537     self_type: "_ZTIP8CPPHello"
538   }
539 }
540 pointer_types {
541   type_info {
542     name: "const char *"
543     size: 8
544     alignment: 8
545     referenced_type: "_ZTIKc"
546     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
547     linker_set_key: "_ZTIPKc"
548     self_type: "_ZTIPKc"
549   }
550 }
551 pointer_types {
552   type_info {
553     name: "List<float>::_Node *"
554     size: 8
555     alignment: 8
556     referenced_type: "_ZTIN4ListIfE5_NodeE"
557     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
558     linker_set_key: "_ZTIPN4ListIfE5_NodeE"
559     self_type: "_ZTIPN4ListIfE5_NodeE"
560   }
561 }
562 pointer_types {
563   type_info {
564     name: "List<int>::_Node *"
565     size: 8
566     alignment: 8
567     referenced_type: "_ZTIN4ListIiE5_NodeE"
568     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
569     linker_set_key: "_ZTIPN4ListIiE5_NodeE"
570     self_type: "_ZTIPN4ListIiE5_NodeE"
571   }
572 }
573 pointer_types {
574   type_info {
575     name: "test2::HelloAgain *"
576     size: 8
577     alignment: 8
578     referenced_type: "_ZTIN5test210HelloAgainE"
579     source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
580     linker_set_key: "_ZTIPN5test210HelloAgainE"
581     self_type: "_ZTIPN5test210HelloAgainE"
582   }
583 }
584 pointer_types {
585   type_info {
586     name: "float *"
587     size: 8
588     alignment: 8
589     referenced_type: "_ZTIf"
590     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
591     linker_set_key: "_ZTIPf"
592     self_type: "_ZTIPf"
593   }
594 }
595 pointer_types {
596   type_info {
597     name: "int *"
598     size: 8
599     alignment: 8
600     referenced_type: "_ZTIi"
601     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
602     linker_set_key: "_ZTIPi"
603     self_type: "_ZTIPi"
604   }
605 }
606 lvalue_reference_types {
607   type_info {
608     name: "const float &"
609     size: 8
610     alignment: 8
611     referenced_type: "_ZTIKf"
612     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
613     linker_set_key: "_ZTIRKf"
614     self_type: "_ZTIRKf"
615   }
616 }
617 builtin_types {
618   type_info {
619     name: "bool"
620     size: 1
621     alignment: 1
622     referenced_type: "_ZTIb"
623     source_file: ""
624     linker_set_key: "_ZTIb"
625     self_type: "_ZTIb"
626   }
627   is_unsigned: true
628   is_integral: true
629 }
630 builtin_types {
631   type_info {
632     name: "char"
633     size: 1
634     alignment: 1
635     referenced_type: "_ZTIc"
636     source_file: ""
637     linker_set_key: "_ZTIc"
638     self_type: "_ZTIc"
639   }
640   is_unsigned: false
641   is_integral: true
642 }
643 builtin_types {
644   type_info {
645     name: "double"
646     size: 8
647     alignment: 8
648     referenced_type: "_ZTId"
649     source_file: ""
650     linker_set_key: "_ZTId"
651     self_type: "_ZTId"
652   }
653   is_unsigned: false
654   is_integral: false
655 }
656 builtin_types {
657   type_info {
658     name: "float"
659     size: 4
660     alignment: 4
661     referenced_type: "_ZTIf"
662     source_file: ""
663     linker_set_key: "_ZTIf"
664     self_type: "_ZTIf"
665   }
666   is_unsigned: false
667   is_integral: false
668 }
669 builtin_types {
670   type_info {
671     name: "int"
672     size: 4
673     alignment: 4
674     referenced_type: "_ZTIi"
675     source_file: ""
676     linker_set_key: "_ZTIi"
677     self_type: "_ZTIi"
678   }
679   is_unsigned: false
680   is_integral: true
681 }
682 builtin_types {
683   type_info {
684     name: "unsigned int"
685     size: 4
686     alignment: 4
687     referenced_type: "_ZTIj"
688     source_file: ""
689     linker_set_key: "_ZTIj"
690     self_type: "_ZTIj"
691   }
692   is_unsigned: true
693   is_integral: true
694 }
695 builtin_types {
696   type_info {
697     name: "void"
698     size: 0
699     alignment: 0
700     referenced_type: "_ZTIv"
701     source_file: ""
702     linker_set_key: "_ZTIv"
703     self_type: "_ZTIv"
704   }
705   is_unsigned: false
706   is_integral: false
707 }
708 builtin_types {
709   type_info {
710     name: "wchar_t"
711     size: 4
712     alignment: 4
713     referenced_type: "_ZTIw"
714     source_file: ""
715     linker_set_key: "_ZTIw"
716     self_type: "_ZTIw"
717   }
718   is_unsigned: false
719   is_integral: true
720 }
721 qualified_types {
722   type_info {
723     name: "bool const[2]"
724     size: 2
725     alignment: 1
726     referenced_type: "_ZTIA2_b"
727     source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
728     linker_set_key: "_ZTIA2_Kb"
729     self_type: "_ZTIA2_Kb"
730   }
731   is_const: true
732   is_volatile: false
733   is_restricted: false
734 }
735 qualified_types {
736   type_info {
737     name: "const CPPHello"
738     size: 56
739     alignment: 8
740     referenced_type: "_ZTI8CPPHello"
741     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
742     linker_set_key: "_ZTIK8CPPHello"
743     self_type: "_ZTIK8CPPHello"
744   }
745   is_const: true
746   is_volatile: false
747   is_restricted: false
748 }
749 qualified_types {
750   type_info {
751     name: "const char"
752     size: 1
753     alignment: 1
754     referenced_type: "_ZTIc"
755     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
756     linker_set_key: "_ZTIKc"
757     self_type: "_ZTIKc"
758   }
759   is_const: true
760   is_volatile: false
761   is_restricted: false
762 }
763 qualified_types {
764   type_info {
765     name: "const float"
766     size: 4
767     alignment: 4
768     referenced_type: "_ZTIf"
769     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
770     linker_set_key: "_ZTIKf"
771     self_type: "_ZTIKf"
772   }
773   is_const: true
774   is_volatile: false
775   is_restricted: false
776 }
777 qualified_types {
778   type_info {
779     name: "const int"
780     size: 4
781     alignment: 4
782     referenced_type: "_ZTIi"
783     source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
784     linker_set_key: "_ZTIKi"
785     self_type: "_ZTIKi"
786   }
787   is_const: true
788   is_volatile: false
789   is_restricted: false
790 }
791 array_types {
792   type_info {
793     name: "bool [2]"
794     size: 2
795     alignment: 1
796     referenced_type: "_ZTIb"
797     source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
798     linker_set_key: "_ZTIA2_b"
799     self_type: "_ZTIA2_b"
800   }
801 }
802 functions {
803   return_type: "_ZTI4ListIfE"
804   function_name: "castInterface"
805   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
806   parameters {
807     referenced_type: "_ZTI4ListIfE"
808     default_arg: false
809     is_this_ptr: false
810   }
811   parameters {
812     referenced_type: "_ZTIPKc"
813     default_arg: false
814     is_this_ptr: false
815   }
816   parameters {
817     referenced_type: "_ZTIb"
818     default_arg: false
819     is_this_ptr: false
820   }
821   template_info {
822     elements {
823       referenced_type: "_ZTIf"
824     }
825     elements {
826       referenced_type: "_ZTIf"
827     }
828     elements {
829       referenced_type: "_ZTIf"
830     }
831     elements {
832       referenced_type: "_ZTIf"
833     }
834   }
835   linker_set_key: "_Z13castInterfaceIffffE4ListIT_ES0_IT0_EPKcb"
836   access: public_access
837 }
838 functions {
839   return_type: "_ZTIi"
840   function_name: "boo"
841   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
842   parameters {
843     referenced_type: "_ZTIK8CPPHello"
844     default_arg: false
845     is_this_ptr: false
846   }
847   parameters {
848     referenced_type: "_ZTIPi"
849     default_arg: false
850     is_this_ptr: false
851   }
852   parameters {
853     referenced_type: "_ZTIPf"
854     default_arg: false
855     is_this_ptr: false
856   }
857   linker_set_key: "_Z3boo8CPPHelloPiPf"
858   access: public_access
859 }
860 functions {
861   return_type: "_ZTIv"
862   function_name: "format"
863   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
864   linker_set_key: "_Z6formatv"
865   access: public_access
866 }
867 functions {
868   return_type: "_ZTIv"
869   function_name: "List<float>::_Node::_Node"
870   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
871   parameters {
872     referenced_type: "_ZTIPN4ListIfE5_NodeE"
873     default_arg: false
874     is_this_ptr: true
875   }
876   parameters {
877     referenced_type: "_ZTIRKf"
878     default_arg: false
879     is_this_ptr: false
880   }
881   linker_set_key: "_ZN4ListIfE5_NodeC1ERKf"
882   access: public_access
883 }
884 functions {
885   return_type: "_ZTIv"
886   function_name: "List<float>::_Node::_Node"
887   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
888   parameters {
889     referenced_type: "_ZTIPN4ListIfE5_NodeE"
890     default_arg: false
891     is_this_ptr: true
892   }
893   parameters {
894     referenced_type: "_ZTIRKf"
895     default_arg: false
896     is_this_ptr: false
897   }
898   linker_set_key: "_ZN4ListIfE5_NodeC2ERKf"
899   access: public_access
900 }
901 functions {
902   return_type: "_ZTIv"
903   function_name: "List<float>::_Node::~_Node"
904   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
905   parameters {
906     referenced_type: "_ZTIPN4ListIfE5_NodeE"
907     default_arg: false
908     is_this_ptr: true
909   }
910   linker_set_key: "_ZN4ListIfE5_NodeD1Ev"
911   access: public_access
912 }
913 functions {
914   return_type: "_ZTIv"
915   function_name: "List<float>::_Node::~_Node"
916   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
917   parameters {
918     referenced_type: "_ZTIPN4ListIfE5_NodeE"
919     default_arg: false
920     is_this_ptr: true
921   }
922   linker_set_key: "_ZN4ListIfE5_NodeD2Ev"
923   access: public_access
924 }
925 functions {
926   return_type: "_ZTIv"
927   function_name: "test2::HelloAgain::~HelloAgain"
928   source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
929   parameters {
930     referenced_type: "_ZTIPN5test210HelloAgainE"
931     default_arg: false
932     is_this_ptr: true
933   }
934   linker_set_key: "_ZN5test210HelloAgainD0Ev"
935   access: public_access
936 }
937 functions {
938   return_type: "_ZTIv"
939   function_name: "test2::HelloAgain::~HelloAgain"
940   source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
941   parameters {
942     referenced_type: "_ZTIPN5test210HelloAgainE"
943     default_arg: false
944     is_this_ptr: true
945   }
946   linker_set_key: "_ZN5test210HelloAgainD1Ev"
947   access: public_access
948 }
949 functions {
950   return_type: "_ZTIv"
951   function_name: "test2::HelloAgain::~HelloAgain"
952   source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
953   parameters {
954     referenced_type: "_ZTIPN5test210HelloAgainE"
955     default_arg: false
956     is_this_ptr: true
957   }
958   linker_set_key: "_ZN5test210HelloAgainD2Ev"
959   access: public_access
960 }
961 functions {
962   return_type: "_ZTIb"
963   function_name: "test3::End"
964   source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
965   parameters {
966     referenced_type: "_ZTIf"
967     default_arg: true
968     is_this_ptr: false
969   }
970   linker_set_key: "_ZN5test33EndEf"
971   access: public_access
972 }
973 functions {
974   return_type: "_ZTIi"
975   function_name: "CPPHello::again"
976   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
977   parameters {
978     referenced_type: "_ZTIP8CPPHello"
979     default_arg: false
980     is_this_ptr: true
981   }
982   linker_set_key: "_ZN8CPPHello5againEv"
983   access: public_access
984 }
985 functions {
986   return_type: "_ZTIi"
987   function_name: "CPPHello::test_enum"
988   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
989   parameters {
990     referenced_type: "_ZTIP8CPPHello"
991     default_arg: false
992     is_this_ptr: true
993   }
994   linker_set_key: "_ZN8CPPHello9test_enumEv"
995   access: public_access
996 }
997 functions {
998   return_type: "_ZTIv"
999   function_name: "CPPHello::CPPHello"
1000   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
1001   parameters {
1002     referenced_type: "_ZTIP8CPPHello"
1003     default_arg: false
1004     is_this_ptr: true
1005   }
1006   linker_set_key: "_ZN8CPPHelloC1Ev"
1007   access: public_access
1008 }
1009 functions {
1010   return_type: "_ZTIv"
1011   function_name: "CPPHello::CPPHello"
1012   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
1013   parameters {
1014     referenced_type: "_ZTIP8CPPHello"
1015     default_arg: false
1016     is_this_ptr: true
1017   }
1018   linker_set_key: "_ZN8CPPHelloC2Ev"
1019   access: public_access
1020 }
1021 global_vars {
1022   name: "__test_var"
1023   source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
1024   linker_set_key: "_ZL10__test_var"
1025   referenced_type: "_ZTIA2_Kb"
1026   access: public_access
1027 }
1028 global_vars {
1029   name: "test2::HelloAgain::hello_forever"
1030   source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
1031   linker_set_key: "_ZN5test210HelloAgain13hello_foreverE"
1032   referenced_type: "_ZTIi"
1033   access: public_access
1034 }
1035 global_vars {
1036   name: "test3::double_bye"
1037   source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
1038   linker_set_key: "_ZN5test310double_byeE"
1039   referenced_type: "_ZTIN5test38ByeAgainIdEE"
1040   access: public_access
1041 }
1042 global_vars {
1043   name: "test3::ByeAgain<float>::foo_forever"
1044   source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
1045   linker_set_key: "_ZN5test38ByeAgainIfE11foo_foreverE"
1046   referenced_type: "_ZTIi"
1047   access: public_access
1048 }
1049 global_vars {
1050   name: "float_list_test"
1051   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
1052   linker_set_key: "float_list_test"
1053   referenced_type: "_ZTI4ListIfE"
1054   access: public_access
1055 }
1056 global_vars {
1057   name: "int_list_test"
1058   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
1059   linker_set_key: "int_list_test"
1060   referenced_type: "_ZTI4ListIiE"
1061   access: public_access
1062 }
1063 global_vars {
1064   name: "node"
1065   source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
1066   linker_set_key: "node"
1067   referenced_type: "_ZTIN4ListIfE5_NodeE"
1068   access: public_access
1069 }
1070