record_types {
type_info {
name: "CPPHello"
size: 56
alignment: 8
referenced_type: "type-23"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
linker_set_key: "CPPHello"
self_type: "type-23"
}
fields {
referenced_type: "type-24"
field_offset: 352
field_name: "cpp_foo"
access: public_access
}
fields {
referenced_type: "type-25"
field_offset: 384
field_name: "cpp_bar"
access: public_access
}
base_specifiers {
referenced_type: "type-4"
is_virtual: false
access: private_access
}
base_specifiers {
referenced_type: "type-15"
is_virtual: false
access: public_access
}
vtable_layout {
vtable_components {
kind: OffsetToTop
mangled_component_name: ""
component_value: 0
is_pure: false
}
vtable_components {
kind: RTTI
mangled_component_name: "_ZTI8CPPHello"
component_value: 0
is_pure: false
}
vtable_components {
kind: FunctionPointer
mangled_component_name: "_ZN8CPPHello5againEv"
component_value: 0
is_pure: false
}
vtable_components {
kind: CompleteDtorPointer
mangled_component_name: "_ZN8CPPHelloD1Ev"
component_value: 0
is_pure: false
}
vtable_components {
kind: DeletingDtorPointer
mangled_component_name: "_ZN8CPPHelloD0Ev"
component_value: 0
is_pure: false
}
}
access: public_access
record_kind: struct_kind
tag_info {
unique_id: "_ZTS8CPPHello"
}
}
record_types {
type_info {
name: "Hello"
size: 32
alignment: 4
referenced_type: "type-19"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
linker_set_key: "Hello"
self_type: "type-19"
}
fields {
referenced_type: "type-2"
field_offset: 0
field_name: "foo"
access: public_access
}
fields {
referenced_type: "type-2"
field_offset: 32
field_name: "bar"
access: public_access
}
fields {
referenced_type: "type-20"
field_offset: 64
field_name: "d"
access: public_access
}
fields {
referenced_type: "type-9"
field_offset: 96
field_name: "enum_field"
access: public_access
}
fields {
referenced_type: "type-9"
field_offset: 128
field_name: "enum_field2"
access: public_access
}
fields {
referenced_type: "type-21"
field_offset: 160
field_name: ""
access: public_access
}
access: public_access
record_kind: struct_kind
tag_info {
unique_id: "Hello"
}
}
record_types {
type_info {
name: "Hello::(anonymous struct at /development/vndk/tools/header-checker/tests/input/example1.h:19:3) at /development/vndk/tools/header-checker/tests/input/example1.h:19:3"
size: 12
alignment: 4
referenced_type: "type-21"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
linker_set_key: "Hello::(anonymous struct at /development/vndk/tools/header-checker/tests/input/example1.h:19:3) at /development/vndk/tools/header-checker/tests/input/example1.h:19:3"
self_type: "type-21"
}
fields {
referenced_type: "type-2"
field_offset: 0
field_name: "a"
access: public_access
}
fields {
referenced_type: "type-2"
field_offset: 32
field_name: "b"
access: public_access
}
fields {
referenced_type: "type-22"
field_offset: 64
field_name: ""
access: public_access
}
access: public_access
is_anonymous: true
record_kind: struct_kind
tag_info {
unique_id: "Hello::(anonymous struct at /development/vndk/tools/header-checker/tests/input/example1.h:19:3)"
}
}
record_types {
type_info {
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) at /development/vndk/tools/header-checker/tests/input/example1.h:22:5"
size: 4
alignment: 4
referenced_type: "type-22"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
linker_set_key: "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) at /development/vndk/tools/header-checker/tests/input/example1.h:22:5"
self_type: "type-22"
}
fields {
referenced_type: "type-2"
field_offset: 0
field_name: "c"
access: public_access
}
access: public_access
is_anonymous: true
record_kind: struct_kind
tag_info {
unique_id: "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)"
}
}
record_types {
type_info {
name: "HiddenBase"
size: 8
alignment: 4
referenced_type: "type-1"
source_file: "/development/vndk/tools/header-checker/tests/input/example3.h"
linker_set_key: "HiddenBase"
self_type: "type-1"
}
fields {
referenced_type: "type-2"
field_offset: 0
field_name: "hide"
access: private_access
}
fields {
referenced_type: "type-3"
field_offset: 32
field_name: "seek"
access: private_access
}
access: public_access
record_kind: class_kind
tag_info {
unique_id: "_ZTS10HiddenBase"
}
}
record_types {
type_info {
name: "List<float>"
size: 8
alignment: 8
referenced_type: "type-31"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
linker_set_key: "List<float>"
self_type: "type-31"
}
fields {
referenced_type: "type-33"
field_offset: 0
field_name: "middle"
access: public_access
}
template_info {
elements {
referenced_type: "type-3"
}
}
access: public_access
record_kind: class_kind
tag_info {
unique_id: "_ZTS4ListIfE"
}
}
record_types {
type_info {
name: "List<float>::_Node"
size: 24
alignment: 8
referenced_type: "type-32"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
linker_set_key: "List<float>::_Node"
self_type: "type-32"
}
fields {
referenced_type: "type-3"
field_offset: 0
field_name: "mVal"
access: private_access
}
fields {
referenced_type: "type-33"
field_offset: 64
field_name: "mpPrev"
access: private_access
}
fields {
referenced_type: "type-33"
field_offset: 128
field_name: "mpNext"
access: private_access
}
access: public_access
record_kind: class_kind
tag_info {
unique_id: "_ZTSN4ListIfE5_NodeE"
}
}
record_types {
type_info {
name: "List<int>"
size: 8
alignment: 8
referenced_type: "type-35"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
linker_set_key: "List<int>"
self_type: "type-35"
}
fields {
referenced_type: "type-37"
field_offset: 0
field_name: "middle"
access: public_access
}
template_info {
elements {
referenced_type: "type-2"
}
}
access: public_access
record_kind: class_kind
tag_info {
unique_id: "_ZTS4ListIiE"
}
}
record_types {
type_info {
name: "test2::HelloAgain"
size: 40
alignment: 8
referenced_type: "type-4"
source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
linker_set_key: "test2::HelloAgain"
self_type: "type-4"
}
fields {
referenced_type: "type-5"
field_offset: 64
field_name: "foo_again"
access: public_access
}
fields {
referenced_type: "type-2"
field_offset: 256
field_name: "bar_again"
access: public_access
}
vtable_layout {
vtable_components {
kind: OffsetToTop
mangled_component_name: ""
component_value: 0
is_pure: false
}
vtable_components {
kind: RTTI
mangled_component_name: "_ZTIN5test210HelloAgainE"
component_value: 0
is_pure: false
}
vtable_components {
kind: FunctionPointer
mangled_component_name: "_ZN5test210HelloAgain5againEv"
component_value: 0
is_pure: false
}
vtable_components {
kind: CompleteDtorPointer
mangled_component_name: "_ZN5test210HelloAgainD1Ev"
component_value: 0
is_pure: false
}
vtable_components {
kind: DeletingDtorPointer
mangled_component_name: "_ZN5test210HelloAgainD0Ev"
component_value: 0
is_pure: false
}
}
access: public_access
record_kind: struct_kind
tag_info {
unique_id: "_ZTSN5test210HelloAgainE"
}
}
record_types {
type_info {
name: "test3::ByeAgain<double>"
size: 16
alignment: 8
referenced_type: "type-13"
source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
linker_set_key: "test3::ByeAgain<double>"
self_type: "type-13"
}
fields {
referenced_type: "type-14"
field_offset: 0
field_name: "foo_again"
access: public_access
}
fields {
referenced_type: "type-2"
field_offset: 64
field_name: "bar_again"
access: public_access
}
template_info {
elements {
referenced_type: "type-14"
}
}
access: public_access
record_kind: struct_kind
tag_info {
unique_id: "_ZTSN5test38ByeAgainIdEE"
}
}
record_types {
type_info {
name: "test3::ByeAgain<float>"
size: 8
alignment: 4
referenced_type: "type-15"
source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
linker_set_key: "test3::ByeAgain<float>"
self_type: "type-15"
}
fields {
referenced_type: "type-3"
field_offset: 0
field_name: "foo_again"
access: public_access
}
fields {
referenced_type: "type-3"
field_offset: 32
field_name: "bar_Again"
access: public_access
}
template_info {
elements {
referenced_type: "type-3"
}
}
access: public_access
record_kind: struct_kind
tag_info {
unique_id: "_ZTSN5test38ByeAgainIfEE"
}
}
record_types {
type_info {
name: "test3::Outer"
size: 4
alignment: 4
referenced_type: "type-17"
source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
linker_set_key: "test3::Outer"
self_type: "type-17"
}
fields {
referenced_type: "type-2"
field_offset: 0
field_name: "a"
access: public_access
}
access: public_access
record_kind: class_kind
tag_info {
unique_id: "_ZTSN5test35OuterE"
}
}
record_types {
type_info {
name: "test3::Outer::Inner"
size: 4
alignment: 4
referenced_type: "type-18"
source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
linker_set_key: "test3::Outer::Inner"
self_type: "type-18"
}
fields {
referenced_type: "type-2"
field_offset: 0
field_name: "b"
access: private_access
}
access: private_access
record_kind: class_kind
tag_info {
unique_id: "_ZTSN5test35Outer5InnerE"
}
}
enum_types {
type_info {
name: "CPPHello::Bla"
size: 4
alignment: 4
referenced_type: "type-27"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
linker_set_key: "CPPHello::Bla"
self_type: "type-27"
}
underlying_type: "type-9"
enum_fields {
enum_field_value: 1
name: "CPPHello::BLA"
}
access: public_access
tag_info {
unique_id: "_ZTSN8CPPHello3BlaE"
}
}
enum_types {
type_info {
name: "Foo_s"
size: 4
alignment: 4
referenced_type: "type-8"
source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
linker_set_key: "Foo_s"
self_type: "type-8"
}
underlying_type: "type-9"
enum_fields {
enum_field_value: 10
name: "foosball"
}
enum_fields {
enum_field_value: 11
name: "foosbat"
}
access: public_access
tag_info {
unique_id: "_ZTS5Foo_s"
}
}
enum_types {
type_info {
name: "test3::Kind"
size: 4
alignment: 4
referenced_type: "type-16"
source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
linker_set_key: "test3::Kind"
self_type: "type-16"
}
underlying_type: "type-9"
enum_fields {
enum_field_value: 24
name: "test3::kind1"
}
enum_fields {
enum_field_value: 2312
name: "test3::kind2"
}
access: public_access
tag_info {
unique_id: "_ZTSN5test34KindE"
}
}
pointer_types {
type_info {
name: "CPPHello *"
size: 8
alignment: 8
referenced_type: "type-23"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
linker_set_key: "CPPHello *"
self_type: "type-26"
}
}
pointer_types {
type_info {
name: "List<float>::_Node *"
size: 8
alignment: 8
referenced_type: "type-32"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
linker_set_key: "List<float>::_Node *"
self_type: "type-33"
}
}
pointer_types {
type_info {
name: "List<int>::_Node *"
size: 8
alignment: 8
referenced_type: "type-36"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
linker_set_key: "List<int>::_Node *"
self_type: "type-37"
}
}
pointer_types {
type_info {
name: "const char *"
size: 8
alignment: 8
referenced_type: "type-38"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
linker_set_key: "const char *"
self_type: "type-39"
}
}
pointer_types {
type_info {
name: "float *"
size: 8
alignment: 8
referenced_type: "type-3"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
linker_set_key: "float *"
self_type: "type-30"
}
}
pointer_types {
type_info {
name: "int *"
size: 8
alignment: 8
referenced_type: "type-2"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
linker_set_key: "int *"
self_type: "type-29"
}
}
pointer_types {
type_info {
name: "test2::HelloAgain *"
size: 8
alignment: 8
referenced_type: "type-4"
source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
linker_set_key: "test2::HelloAgain *"
self_type: "type-7"
}
}
lvalue_reference_types {
type_info {
name: "const float &"
size: 8
alignment: 8
referenced_type: "type-25"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
linker_set_key: "const float &"
self_type: "type-34"
}
}
builtin_types {
type_info {
name: "bool"
size: 1
alignment: 1
referenced_type: "type-12"
source_file: ""
linker_set_key: "bool"
self_type: "type-12"
}
is_unsigned: true
is_integral: true
}
builtin_types {
type_info {
name: "char"
size: 1
alignment: 1
referenced_type: "type-40"
source_file: ""
linker_set_key: "char"
self_type: "type-40"
}
is_unsigned: false
is_integral: true
}
builtin_types {
type_info {
name: "double"
size: 8
alignment: 8
referenced_type: "type-14"
source_file: ""
linker_set_key: "double"
self_type: "type-14"
}
is_unsigned: false
is_integral: false
}
builtin_types {
type_info {
name: "float"
size: 4
alignment: 4
referenced_type: "type-3"
source_file: ""
linker_set_key: "float"
self_type: "type-3"
}
is_unsigned: false
is_integral: false
}
builtin_types {
type_info {
name: "int"
size: 4
alignment: 4
referenced_type: "type-2"
source_file: ""
linker_set_key: "int"
self_type: "type-2"
}
is_unsigned: false
is_integral: true
}
builtin_types {
type_info {
name: "unsigned int"
size: 4
alignment: 4
referenced_type: "type-9"
source_file: ""
linker_set_key: "unsigned int"
self_type: "type-9"
}
is_unsigned: true
is_integral: true
}
builtin_types {
type_info {
name: "void"
size: 0
alignment: 0
referenced_type: "type-6"
source_file: ""
linker_set_key: "void"
self_type: "type-6"
}
is_unsigned: false
is_integral: false
}
builtin_types {
type_info {
name: "wchar_t"
size: 4
alignment: 4
referenced_type: "type-20"
source_file: ""
linker_set_key: "wchar_t"
self_type: "type-20"
}
is_unsigned: false
is_integral: true
}
qualified_types {
type_info {
name: "bool const[2]"
size: 2
alignment: 1
referenced_type: "type-10"
source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
linker_set_key: "bool const[2]"
self_type: "type-11"
}
is_const: true
is_volatile: false
is_restricted: false
}
qualified_types {
type_info {
name: "const CPPHello"
size: 56
alignment: 8
referenced_type: "type-23"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
linker_set_key: "const CPPHello"
self_type: "type-28"
}
is_const: true
is_volatile: false
is_restricted: false
}
qualified_types {
type_info {
name: "const char"
size: 1
alignment: 1
referenced_type: "type-40"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
linker_set_key: "const char"
self_type: "type-38"
}
is_const: true
is_volatile: false
is_restricted: false
}
qualified_types {
type_info {
name: "const float"
size: 4
alignment: 4
referenced_type: "type-3"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
linker_set_key: "const float"
self_type: "type-25"
}
is_const: true
is_volatile: false
is_restricted: false
}
qualified_types {
type_info {
name: "const int"
size: 4
alignment: 4
referenced_type: "type-2"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
linker_set_key: "const int"
self_type: "type-24"
}
is_const: true
is_volatile: false
is_restricted: false
}
array_types {
type_info {
name: "bool [2]"
size: 2
alignment: 1
referenced_type: "type-12"
source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
linker_set_key: "bool [2]"
self_type: "type-10"
}
}
functions {
return_type: "type-31"
function_name: "castInterface"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
parameters {
referenced_type: "type-31"
default_arg: false
is_this_ptr: false
}
parameters {
referenced_type: "type-39"
default_arg: false
is_this_ptr: false
}
parameters {
referenced_type: "type-12"
default_arg: false
is_this_ptr: false
}
template_info {
elements {
referenced_type: "type-3"
}
elements {
referenced_type: "type-3"
}
elements {
referenced_type: "type-3"
}
elements {
referenced_type: "type-3"
}
}
linker_set_key: "_Z13castInterfaceIffffE4ListIT_ES0_IT0_EPKcb"
access: public_access
}
functions {
return_type: "type-2"
function_name: "boo"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
parameters {
referenced_type: "type-28"
default_arg: false
is_this_ptr: false
}
parameters {
referenced_type: "type-29"
default_arg: false
is_this_ptr: false
}
parameters {
referenced_type: "type-30"
default_arg: false
is_this_ptr: false
}
linker_set_key: "_Z3boo8CPPHelloPiPf"
access: public_access
}
functions {
return_type: "type-6"
function_name: "format"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
linker_set_key: "_Z6formatv"
access: public_access
}
functions {
return_type: "type-6"
function_name: "List<float>::_Node::_Node"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
parameters {
referenced_type: "type-33"
default_arg: false
is_this_ptr: true
}
parameters {
referenced_type: "type-34"
default_arg: false
is_this_ptr: false
}
linker_set_key: "_ZN4ListIfE5_NodeC1ERKf"
access: public_access
}
functions {
return_type: "type-6"
function_name: "List<float>::_Node::_Node"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
parameters {
referenced_type: "type-33"
default_arg: false
is_this_ptr: true
}
parameters {
referenced_type: "type-34"
default_arg: false
is_this_ptr: false
}
linker_set_key: "_ZN4ListIfE5_NodeC2ERKf"
access: public_access
}
functions {
return_type: "type-6"
function_name: "List<float>::_Node::~_Node"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
parameters {
referenced_type: "type-33"
default_arg: false
is_this_ptr: true
}
linker_set_key: "_ZN4ListIfE5_NodeD1Ev"
access: public_access
}
functions {
return_type: "type-6"
function_name: "List<float>::_Node::~_Node"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
parameters {
referenced_type: "type-33"
default_arg: false
is_this_ptr: true
}
linker_set_key: "_ZN4ListIfE5_NodeD2Ev"
access: public_access
}
functions {
return_type: "type-6"
function_name: "test2::HelloAgain::~HelloAgain"
source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
parameters {
referenced_type: "type-7"
default_arg: false
is_this_ptr: true
}
linker_set_key: "_ZN5test210HelloAgainD0Ev"
access: public_access
}
functions {
return_type: "type-6"
function_name: "test2::HelloAgain::~HelloAgain"
source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
parameters {
referenced_type: "type-7"
default_arg: false
is_this_ptr: true
}
linker_set_key: "_ZN5test210HelloAgainD1Ev"
access: public_access
}
functions {
return_type: "type-6"
function_name: "test2::HelloAgain::~HelloAgain"
source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
parameters {
referenced_type: "type-7"
default_arg: false
is_this_ptr: true
}
linker_set_key: "_ZN5test210HelloAgainD2Ev"
access: public_access
}
functions {
return_type: "type-12"
function_name: "test3::End"
source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
parameters {
referenced_type: "type-3"
default_arg: true
is_this_ptr: false
}
linker_set_key: "_ZN5test33EndEf"
access: public_access
}
functions {
return_type: "type-2"
function_name: "CPPHello::again"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
parameters {
referenced_type: "type-26"
default_arg: false
is_this_ptr: true
}
linker_set_key: "_ZN8CPPHello5againEv"
access: public_access
}
functions {
return_type: "type-2"
function_name: "CPPHello::test_enum"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
parameters {
referenced_type: "type-26"
default_arg: false
is_this_ptr: true
}
linker_set_key: "_ZN8CPPHello9test_enumEv"
access: public_access
}
functions {
return_type: "type-6"
function_name: "CPPHello::CPPHello"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
parameters {
referenced_type: "type-26"
default_arg: false
is_this_ptr: true
}
linker_set_key: "_ZN8CPPHelloC1Ev"
access: public_access
}
functions {
return_type: "type-6"
function_name: "CPPHello::CPPHello"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
parameters {
referenced_type: "type-26"
default_arg: false
is_this_ptr: true
}
linker_set_key: "_ZN8CPPHelloC2Ev"
access: public_access
}
global_vars {
name: "__test_var"
source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
linker_set_key: "_ZL10__test_var"
referenced_type: "type-11"
access: public_access
}
global_vars {
name: "test2::HelloAgain::hello_forever"
source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
linker_set_key: "_ZN5test210HelloAgain13hello_foreverE"
referenced_type: "type-2"
access: public_access
}
global_vars {
name: "test3::double_bye"
source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
linker_set_key: "_ZN5test310double_byeE"
referenced_type: "type-13"
access: public_access
}
global_vars {
name: "test3::ByeAgain<float>::foo_forever"
source_file: "/development/vndk/tools/header-checker/tests/input/example2.h"
linker_set_key: "_ZN5test38ByeAgainIfE11foo_foreverE"
referenced_type: "type-2"
access: public_access
}
global_vars {
name: "float_list_test"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
linker_set_key: "float_list_test"
referenced_type: "type-31"
access: public_access
}
global_vars {
name: "int_list_test"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
linker_set_key: "int_list_test"
referenced_type: "type-35"
access: public_access
}
global_vars {
name: "node"
source_file: "/development/vndk/tools/header-checker/tests/input/example1.h"
linker_set_key: "node"
referenced_type: "type-32"
access: public_access
}