Merge "Show thunk symbols in vtables"
This commit is contained in:
@@ -633,6 +633,8 @@ bool RecordDeclWrapper::SetupCXXBases(
|
||||
return true;
|
||||
}
|
||||
|
||||
typedef std::map<uint64_t, clang::ThunkInfo> ThunkMap;
|
||||
|
||||
bool RecordDeclWrapper::SetupRecordVTable(
|
||||
abi_util::RecordTypeIR *record_declp,
|
||||
const clang::CXXRecordDecl *cxx_record_decl) {
|
||||
@@ -654,18 +656,29 @@ bool RecordDeclWrapper::SetupRecordVTable(
|
||||
}
|
||||
const clang::VTableLayout &vtable_layout =
|
||||
itanium_vtable_contextp->getVTableLayout(cxx_record_decl);
|
||||
ThunkMap thunk_map(vtable_layout.vtable_thunk_begin(),
|
||||
vtable_layout.vtable_thunk_end());
|
||||
abi_util::VTableLayoutIR vtable_ir_layout;
|
||||
for (const auto &vtable_component : vtable_layout.vtable_components()) {
|
||||
abi_util::VTableComponentIR added_component=
|
||||
SetupRecordVTableComponent(vtable_component);
|
||||
|
||||
uint64_t index = 0;
|
||||
for (auto vtable_component : vtable_layout.vtable_components()) {
|
||||
clang::ThunkInfo thunk_info;
|
||||
ThunkMap::iterator it = thunk_map.find(index);
|
||||
if (it != thunk_map.end()) {
|
||||
thunk_info = it->second;
|
||||
}
|
||||
abi_util::VTableComponentIR added_component =
|
||||
SetupRecordVTableComponent(vtable_component, thunk_info);
|
||||
vtable_ir_layout.AddVTableComponent(std::move(added_component));
|
||||
index++;
|
||||
}
|
||||
record_declp->SetVTableLayout(std::move(vtable_ir_layout));
|
||||
return true;
|
||||
}
|
||||
|
||||
abi_util::VTableComponentIR RecordDeclWrapper::SetupRecordVTableComponent(
|
||||
const clang::VTableComponent &vtable_component) {
|
||||
const clang::VTableComponent &vtable_component,
|
||||
const clang::ThunkInfo &thunk_info) {
|
||||
abi_util::VTableComponentIR::Kind kind =
|
||||
abi_util::VTableComponentIR::Kind::RTTI;
|
||||
std::string mangled_component_name = "";
|
||||
@@ -673,6 +686,7 @@ abi_util::VTableComponentIR RecordDeclWrapper::SetupRecordVTableComponent(
|
||||
int64_t value = 0;
|
||||
clang::VTableComponent::Kind clang_component_kind =
|
||||
vtable_component.getKind();
|
||||
|
||||
switch (clang_component_kind) {
|
||||
case clang::VTableComponent::CK_VCallOffset:
|
||||
kind = abi_util::VTableComponentIR::Kind::VCallOffset;
|
||||
@@ -706,22 +720,36 @@ abi_util::VTableComponentIR RecordDeclWrapper::SetupRecordVTableComponent(
|
||||
switch (clang_component_kind) {
|
||||
case clang::VTableComponent::CK_FunctionPointer:
|
||||
kind = abi_util::VTableComponentIR::Kind::FunctionPointer;
|
||||
mangled_component_name = GetMangledNameDecl(method_decl,
|
||||
mangle_contextp_);
|
||||
break;
|
||||
case clang::VTableComponent::CK_CompleteDtorPointer:
|
||||
kind = abi_util::VTableComponentIR::Kind::CompleteDtorPointer;
|
||||
mangle_contextp_->mangleCXXDtor(
|
||||
vtable_component.getDestructorDecl(),
|
||||
clang::CXXDtorType::Dtor_Complete, ostream);
|
||||
if (thunk_info.isEmpty()) {
|
||||
mangle_contextp_->mangleName(method_decl, ostream);
|
||||
} else {
|
||||
mangle_contextp_->mangleThunk(method_decl, thunk_info, ostream);
|
||||
}
|
||||
ostream.flush();
|
||||
break;
|
||||
case clang::VTableComponent::CK_CompleteDtorPointer:
|
||||
case clang::VTableComponent::CK_DeletingDtorPointer:
|
||||
kind = abi_util::VTableComponentIR::Kind::DeletingDtorPointer;
|
||||
mangle_contextp_->mangleCXXDtor(
|
||||
vtable_component.getDestructorDecl(),
|
||||
clang::CXXDtorType::Dtor_Deleting, ostream);
|
||||
ostream.flush();
|
||||
{
|
||||
clang::CXXDtorType dtor_type;
|
||||
if (clang_component_kind ==
|
||||
clang::VTableComponent::CK_CompleteDtorPointer) {
|
||||
dtor_type = clang::CXXDtorType::Dtor_Complete;
|
||||
kind = abi_util::VTableComponentIR::Kind::CompleteDtorPointer;
|
||||
} else {
|
||||
dtor_type = clang::CXXDtorType::Dtor_Deleting;
|
||||
kind = abi_util::VTableComponentIR::Kind::DeletingDtorPointer;
|
||||
}
|
||||
|
||||
if (thunk_info.isEmpty()) {
|
||||
mangle_contextp_->mangleCXXDtor(
|
||||
vtable_component.getDestructorDecl(), dtor_type, ostream);
|
||||
} else {
|
||||
mangle_contextp_->mangleCXXDtorThunk(
|
||||
vtable_component.getDestructorDecl(), dtor_type,
|
||||
thunk_info.This, ostream);
|
||||
}
|
||||
ostream.flush();
|
||||
}
|
||||
break;
|
||||
case clang::VTableComponent::CK_UnusedFunctionPointer:
|
||||
kind = abi_util::VTableComponentIR::Kind::UnusedFunctionPointer;
|
||||
|
||||
@@ -129,8 +129,9 @@ class RecordDeclWrapper : public ABIWrapper {
|
||||
|
||||
std::string GetMangledRTTI(const clang::CXXRecordDecl *cxx_record_decl);
|
||||
|
||||
abi_util::VTableComponentIR SetupRecordVTableComponent(
|
||||
const clang::VTableComponent &vtable_component);
|
||||
abi_util::VTableComponentIR
|
||||
SetupRecordVTableComponent(const clang::VTableComponent &vtable_component,
|
||||
const clang::ThunkInfo &thunk_info);
|
||||
|
||||
bool SetupCXXRecordInfo(abi_util::RecordTypeIR *record_declp,
|
||||
const std::string &source_file);
|
||||
|
||||
@@ -209,12 +209,34 @@ DiffStatus AbiDiffHelper::CompareEnumTypes(
|
||||
return DiffStatus::no_diff;
|
||||
}
|
||||
|
||||
static std::string RemoveThunkInfoFromMangledName(const std::string &name) {
|
||||
if (name.find("_ZTv") != 0 && name.find("_ZTh") != 0 &&
|
||||
name.find("_ZTc") != 0) {
|
||||
return name;
|
||||
}
|
||||
size_t base_name_pos = name.find("N");
|
||||
if (base_name_pos == std::string::npos) {
|
||||
return name;
|
||||
}
|
||||
return "_Z" + name.substr(base_name_pos);
|
||||
}
|
||||
|
||||
bool AbiDiffHelper::CompareVTableComponents(
|
||||
const abi_util::VTableComponentIR &old_component,
|
||||
const abi_util::VTableComponentIR &new_component) {
|
||||
return old_component.GetName() == new_component.GetName() &&
|
||||
old_component.GetValue() == new_component.GetValue() &&
|
||||
old_component.GetKind() == new_component.GetKind();
|
||||
// Vtable components in prebuilts/abi-dumps/vndk/28 don't have thunk info.
|
||||
if (old_component.GetName() != new_component.GetName()) {
|
||||
if (RemoveThunkInfoFromMangledName(old_component.GetName()) ==
|
||||
RemoveThunkInfoFromMangledName(new_component.GetName())) {
|
||||
llvm::errs() << "WARNING: Ignore difference between "
|
||||
<< old_component.GetName() << " and "
|
||||
<< new_component.GetName() << "\n";
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return old_component.GetValue() == new_component.GetValue() &&
|
||||
old_component.GetKind() == new_component.GetKind();
|
||||
}
|
||||
|
||||
bool AbiDiffHelper::CompareVTables(
|
||||
|
||||
@@ -26,7 +26,11 @@
|
||||
float *speaker_float_star;
|
||||
#endif
|
||||
|
||||
#if GOLDEN_CHANGE_INHERITANCE_TYPE
|
||||
class LowVolumeSpeaker : public virtual SuperSpeaker {
|
||||
#else
|
||||
class LowVolumeSpeaker : public SuperSpeaker {
|
||||
#endif
|
||||
public:
|
||||
virtual void Speak() override;
|
||||
virtual LISTEN_RETURN_TYPE Listen() override;
|
||||
|
||||
@@ -458,7 +458,18 @@ TEST_MODULES = [
|
||||
arch = '',
|
||||
api = 'current',
|
||||
),
|
||||
|
||||
Module(
|
||||
name = 'libgolden_cpp_inheritance_type_changed',
|
||||
srcs = ['integration/cpp/gold/golden_1.cpp',
|
||||
'integration/cpp/gold/high_volume_speaker.cpp',
|
||||
'integration/cpp/gold/low_volume_speaker.cpp',
|
||||
],
|
||||
version_script = 'integration/cpp/gold/map.txt',
|
||||
export_include_dirs = ['integration/cpp/gold/include'],
|
||||
cflags = ['-DGOLDEN_CHANGE_INHERITANCE_TYPE'],
|
||||
arch = '',
|
||||
api = 'current',
|
||||
),
|
||||
]
|
||||
|
||||
TEST_MODULES = { m.name: m for m in TEST_MODULES }
|
||||
|
||||
@@ -0,0 +1,487 @@
|
||||
record_types {
|
||||
type_info {
|
||||
name: "SuperSpeaker"
|
||||
size: 8
|
||||
alignment: 4
|
||||
referenced_type: "type-1"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
linker_set_key: "SuperSpeaker"
|
||||
self_type: "type-1"
|
||||
}
|
||||
fields {
|
||||
referenced_type: "type-2"
|
||||
field_offset: 32
|
||||
field_name: "mSpeakderId"
|
||||
access: private_access
|
||||
}
|
||||
vtable_layout {
|
||||
vtable_components {
|
||||
kind: OffsetToTop
|
||||
mangled_component_name: ""
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: RTTI
|
||||
mangled_component_name: "_ZTI12SuperSpeaker"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: CompleteDtorPointer
|
||||
mangled_component_name: "_ZN12SuperSpeakerD1Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: DeletingDtorPointer
|
||||
mangled_component_name: "_ZN12SuperSpeakerD0Ev"
|
||||
component_value: 0
|
||||
}
|
||||
}
|
||||
access: public_access
|
||||
record_kind: class_kind
|
||||
tag_info {
|
||||
unique_id: "_ZTS12SuperSpeaker"
|
||||
}
|
||||
}
|
||||
record_types {
|
||||
type_info {
|
||||
name: "HighVolumeSpeaker"
|
||||
size: 8
|
||||
alignment: 4
|
||||
referenced_type: "type-11"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
linker_set_key: "HighVolumeSpeaker"
|
||||
self_type: "type-11"
|
||||
}
|
||||
base_specifiers {
|
||||
referenced_type: "type-1"
|
||||
is_virtual: false
|
||||
access: public_access
|
||||
}
|
||||
vtable_layout {
|
||||
vtable_components {
|
||||
kind: OffsetToTop
|
||||
mangled_component_name: ""
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: RTTI
|
||||
mangled_component_name: "_ZTI17HighVolumeSpeaker"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: CompleteDtorPointer
|
||||
mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: DeletingDtorPointer
|
||||
mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev"
|
||||
component_value: 0
|
||||
}
|
||||
}
|
||||
access: public_access
|
||||
record_kind: class_kind
|
||||
tag_info {
|
||||
unique_id: "_ZTS17HighVolumeSpeaker"
|
||||
}
|
||||
}
|
||||
record_types {
|
||||
type_info {
|
||||
name: "LowVolumeSpeaker"
|
||||
size: 20
|
||||
alignment: 4
|
||||
referenced_type: "type-5"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
linker_set_key: "LowVolumeSpeaker"
|
||||
self_type: "type-5"
|
||||
}
|
||||
fields {
|
||||
referenced_type: "type-6"
|
||||
field_offset: 32
|
||||
field_name: "speaker_uint_t"
|
||||
access: public_access
|
||||
}
|
||||
fields {
|
||||
referenced_type: "type-7"
|
||||
field_offset: 64
|
||||
field_name: "speaker_float_star"
|
||||
access: public_access
|
||||
}
|
||||
base_specifiers {
|
||||
referenced_type: "type-1"
|
||||
is_virtual: true
|
||||
access: public_access
|
||||
}
|
||||
vtable_layout {
|
||||
vtable_components {
|
||||
kind: VBaseOffset
|
||||
mangled_component_name: ""
|
||||
component_value: 12
|
||||
}
|
||||
vtable_components {
|
||||
kind: OffsetToTop
|
||||
mangled_component_name: ""
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: RTTI
|
||||
mangled_component_name: "_ZTI16LowVolumeSpeaker"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: CompleteDtorPointer
|
||||
mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: DeletingDtorPointer
|
||||
mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: VCallOffset
|
||||
mangled_component_name: ""
|
||||
component_value: -12
|
||||
}
|
||||
vtable_components {
|
||||
kind: VCallOffset
|
||||
mangled_component_name: ""
|
||||
component_value: -12
|
||||
}
|
||||
vtable_components {
|
||||
kind: VCallOffset
|
||||
mangled_component_name: ""
|
||||
component_value: -12
|
||||
}
|
||||
vtable_components {
|
||||
kind: OffsetToTop
|
||||
mangled_component_name: ""
|
||||
component_value: -12
|
||||
}
|
||||
vtable_components {
|
||||
kind: RTTI
|
||||
mangled_component_name: "_ZTI16LowVolumeSpeaker"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZTv0_n12_N16LowVolumeSpeaker5SpeakEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZTv0_n16_N16LowVolumeSpeaker6ListenEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: CompleteDtorPointer
|
||||
mangled_component_name: "_ZTv0_n20_N16LowVolumeSpeakerD1Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: DeletingDtorPointer
|
||||
mangled_component_name: "_ZTv0_n20_N16LowVolumeSpeakerD0Ev"
|
||||
component_value: 0
|
||||
}
|
||||
}
|
||||
access: public_access
|
||||
record_kind: class_kind
|
||||
tag_info {
|
||||
unique_id: "_ZTS16LowVolumeSpeaker"
|
||||
}
|
||||
}
|
||||
enum_types {
|
||||
type_info {
|
||||
name: "SuperSpeaker::Volume"
|
||||
size: 4
|
||||
alignment: 4
|
||||
referenced_type: "type-8"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
linker_set_key: "SuperSpeaker::Volume"
|
||||
self_type: "type-8"
|
||||
}
|
||||
underlying_type: "type-6"
|
||||
enum_fields {
|
||||
enum_field_value: 1
|
||||
name: "SuperSpeaker::Volume::Loud"
|
||||
}
|
||||
enum_fields {
|
||||
enum_field_value: 2
|
||||
name: "SuperSpeaker::Volume::Louder"
|
||||
}
|
||||
enum_fields {
|
||||
enum_field_value: 3
|
||||
name: "SuperSpeaker::Volume::Loudest"
|
||||
}
|
||||
enum_fields {
|
||||
enum_field_value: 4
|
||||
name: "SuperSpeaker::Volume::Lower"
|
||||
}
|
||||
access: private_access
|
||||
tag_info {
|
||||
unique_id: "_ZTSN12SuperSpeaker6VolumeE"
|
||||
}
|
||||
}
|
||||
pointer_types {
|
||||
type_info {
|
||||
name: "SuperSpeaker *"
|
||||
size: 4
|
||||
alignment: 4
|
||||
referenced_type: "type-1"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
linker_set_key: "SuperSpeaker *"
|
||||
self_type: "type-9"
|
||||
}
|
||||
}
|
||||
pointer_types {
|
||||
type_info {
|
||||
name: "HighVolumeSpeaker *"
|
||||
size: 4
|
||||
alignment: 4
|
||||
referenced_type: "type-11"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
linker_set_key: "HighVolumeSpeaker *"
|
||||
self_type: "type-12"
|
||||
}
|
||||
}
|
||||
pointer_types {
|
||||
type_info {
|
||||
name: "float *"
|
||||
size: 4
|
||||
alignment: 4
|
||||
referenced_type: "type-3"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
linker_set_key: "float *"
|
||||
self_type: "type-7"
|
||||
}
|
||||
}
|
||||
pointer_types {
|
||||
type_info {
|
||||
name: "LowVolumeSpeaker *"
|
||||
size: 4
|
||||
alignment: 4
|
||||
referenced_type: "type-5"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
linker_set_key: "LowVolumeSpeaker *"
|
||||
self_type: "type-4"
|
||||
}
|
||||
}
|
||||
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-6"
|
||||
source_file: ""
|
||||
linker_set_key: "unsigned int"
|
||||
self_type: "type-6"
|
||||
}
|
||||
is_unsigned: true
|
||||
is_integral: true
|
||||
}
|
||||
builtin_types {
|
||||
type_info {
|
||||
name: "void"
|
||||
size: 0
|
||||
alignment: 0
|
||||
referenced_type: "type-10"
|
||||
source_file: ""
|
||||
linker_set_key: "void"
|
||||
self_type: "type-10"
|
||||
}
|
||||
is_unsigned: false
|
||||
is_integral: false
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "SuperSpeaker::SpeakLouder"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
parameters {
|
||||
referenced_type: "type-9"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-9"
|
||||
function_name: "SuperSpeaker::CreateSuperSpeaker"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
parameters {
|
||||
referenced_type: "type-2"
|
||||
default_arg: false
|
||||
is_this_ptr: false
|
||||
}
|
||||
linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-8"
|
||||
function_name: "SuperSpeaker::SpeakLoud"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
parameters {
|
||||
referenced_type: "type-9"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "LowVolumeSpeaker::Speak"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-4"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "LowVolumeSpeaker::Listen"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-4"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-12"
|
||||
function_name: "HighVolumeSpeaker::BadPractice"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-12"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
parameters {
|
||||
referenced_type: "type-3"
|
||||
default_arg: false
|
||||
is_this_ptr: false
|
||||
}
|
||||
linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "HighVolumeSpeaker::Speak"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-12"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "HighVolumeSpeaker::Listen"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-12"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
|
||||
access: public_access
|
||||
}
|
||||
elf_functions {
|
||||
name: "_Z26test_virtual_function_callP12SuperSpeaker"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN12NotReferenced"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN12SuperSpeaker11SpeakLouderEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN12SuperSpeaker9SpeakLoudEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN16LowVolumeSpeaker5SpeakEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN16LowVolumeSpeaker6ListenEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN17HighVolumeSpeaker5SpeakEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN17HighVolumeSpeaker6ListenEv"
|
||||
}
|
||||
elf_objects {
|
||||
name: "_ZTV16LowVolumeSpeaker"
|
||||
}
|
||||
elf_objects {
|
||||
name: "_ZTV17HighVolumeSpeaker"
|
||||
}
|
||||
@@ -0,0 +1,487 @@
|
||||
record_types {
|
||||
type_info {
|
||||
name: "SuperSpeaker"
|
||||
size: 16
|
||||
alignment: 8
|
||||
referenced_type: "type-1"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
linker_set_key: "SuperSpeaker"
|
||||
self_type: "type-1"
|
||||
}
|
||||
fields {
|
||||
referenced_type: "type-2"
|
||||
field_offset: 64
|
||||
field_name: "mSpeakderId"
|
||||
access: private_access
|
||||
}
|
||||
vtable_layout {
|
||||
vtable_components {
|
||||
kind: OffsetToTop
|
||||
mangled_component_name: ""
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: RTTI
|
||||
mangled_component_name: "_ZTI12SuperSpeaker"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: CompleteDtorPointer
|
||||
mangled_component_name: "_ZN12SuperSpeakerD1Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: DeletingDtorPointer
|
||||
mangled_component_name: "_ZN12SuperSpeakerD0Ev"
|
||||
component_value: 0
|
||||
}
|
||||
}
|
||||
access: public_access
|
||||
record_kind: class_kind
|
||||
tag_info {
|
||||
unique_id: "_ZTS12SuperSpeaker"
|
||||
}
|
||||
}
|
||||
record_types {
|
||||
type_info {
|
||||
name: "HighVolumeSpeaker"
|
||||
size: 16
|
||||
alignment: 8
|
||||
referenced_type: "type-11"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
linker_set_key: "HighVolumeSpeaker"
|
||||
self_type: "type-11"
|
||||
}
|
||||
base_specifiers {
|
||||
referenced_type: "type-1"
|
||||
is_virtual: false
|
||||
access: public_access
|
||||
}
|
||||
vtable_layout {
|
||||
vtable_components {
|
||||
kind: OffsetToTop
|
||||
mangled_component_name: ""
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: RTTI
|
||||
mangled_component_name: "_ZTI17HighVolumeSpeaker"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: CompleteDtorPointer
|
||||
mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: DeletingDtorPointer
|
||||
mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev"
|
||||
component_value: 0
|
||||
}
|
||||
}
|
||||
access: public_access
|
||||
record_kind: class_kind
|
||||
tag_info {
|
||||
unique_id: "_ZTS17HighVolumeSpeaker"
|
||||
}
|
||||
}
|
||||
record_types {
|
||||
type_info {
|
||||
name: "LowVolumeSpeaker"
|
||||
size: 40
|
||||
alignment: 8
|
||||
referenced_type: "type-5"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
linker_set_key: "LowVolumeSpeaker"
|
||||
self_type: "type-5"
|
||||
}
|
||||
fields {
|
||||
referenced_type: "type-6"
|
||||
field_offset: 64
|
||||
field_name: "speaker_uint_t"
|
||||
access: public_access
|
||||
}
|
||||
fields {
|
||||
referenced_type: "type-7"
|
||||
field_offset: 128
|
||||
field_name: "speaker_float_star"
|
||||
access: public_access
|
||||
}
|
||||
base_specifiers {
|
||||
referenced_type: "type-1"
|
||||
is_virtual: true
|
||||
access: public_access
|
||||
}
|
||||
vtable_layout {
|
||||
vtable_components {
|
||||
kind: VBaseOffset
|
||||
mangled_component_name: ""
|
||||
component_value: 24
|
||||
}
|
||||
vtable_components {
|
||||
kind: OffsetToTop
|
||||
mangled_component_name: ""
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: RTTI
|
||||
mangled_component_name: "_ZTI16LowVolumeSpeaker"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: CompleteDtorPointer
|
||||
mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: DeletingDtorPointer
|
||||
mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: VCallOffset
|
||||
mangled_component_name: ""
|
||||
component_value: -24
|
||||
}
|
||||
vtable_components {
|
||||
kind: VCallOffset
|
||||
mangled_component_name: ""
|
||||
component_value: -24
|
||||
}
|
||||
vtable_components {
|
||||
kind: VCallOffset
|
||||
mangled_component_name: ""
|
||||
component_value: -24
|
||||
}
|
||||
vtable_components {
|
||||
kind: OffsetToTop
|
||||
mangled_component_name: ""
|
||||
component_value: -24
|
||||
}
|
||||
vtable_components {
|
||||
kind: RTTI
|
||||
mangled_component_name: "_ZTI16LowVolumeSpeaker"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZTv0_n24_N16LowVolumeSpeaker5SpeakEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZTv0_n32_N16LowVolumeSpeaker6ListenEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: CompleteDtorPointer
|
||||
mangled_component_name: "_ZTv0_n40_N16LowVolumeSpeakerD1Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: DeletingDtorPointer
|
||||
mangled_component_name: "_ZTv0_n40_N16LowVolumeSpeakerD0Ev"
|
||||
component_value: 0
|
||||
}
|
||||
}
|
||||
access: public_access
|
||||
record_kind: class_kind
|
||||
tag_info {
|
||||
unique_id: "_ZTS16LowVolumeSpeaker"
|
||||
}
|
||||
}
|
||||
enum_types {
|
||||
type_info {
|
||||
name: "SuperSpeaker::Volume"
|
||||
size: 4
|
||||
alignment: 4
|
||||
referenced_type: "type-8"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
linker_set_key: "SuperSpeaker::Volume"
|
||||
self_type: "type-8"
|
||||
}
|
||||
underlying_type: "type-6"
|
||||
enum_fields {
|
||||
enum_field_value: 1
|
||||
name: "SuperSpeaker::Volume::Loud"
|
||||
}
|
||||
enum_fields {
|
||||
enum_field_value: 2
|
||||
name: "SuperSpeaker::Volume::Louder"
|
||||
}
|
||||
enum_fields {
|
||||
enum_field_value: 3
|
||||
name: "SuperSpeaker::Volume::Loudest"
|
||||
}
|
||||
enum_fields {
|
||||
enum_field_value: 4
|
||||
name: "SuperSpeaker::Volume::Lower"
|
||||
}
|
||||
access: private_access
|
||||
tag_info {
|
||||
unique_id: "_ZTSN12SuperSpeaker6VolumeE"
|
||||
}
|
||||
}
|
||||
pointer_types {
|
||||
type_info {
|
||||
name: "SuperSpeaker *"
|
||||
size: 8
|
||||
alignment: 8
|
||||
referenced_type: "type-1"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
linker_set_key: "SuperSpeaker *"
|
||||
self_type: "type-9"
|
||||
}
|
||||
}
|
||||
pointer_types {
|
||||
type_info {
|
||||
name: "HighVolumeSpeaker *"
|
||||
size: 8
|
||||
alignment: 8
|
||||
referenced_type: "type-11"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
linker_set_key: "HighVolumeSpeaker *"
|
||||
self_type: "type-12"
|
||||
}
|
||||
}
|
||||
pointer_types {
|
||||
type_info {
|
||||
name: "float *"
|
||||
size: 8
|
||||
alignment: 8
|
||||
referenced_type: "type-3"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
linker_set_key: "float *"
|
||||
self_type: "type-7"
|
||||
}
|
||||
}
|
||||
pointer_types {
|
||||
type_info {
|
||||
name: "LowVolumeSpeaker *"
|
||||
size: 8
|
||||
alignment: 8
|
||||
referenced_type: "type-5"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
linker_set_key: "LowVolumeSpeaker *"
|
||||
self_type: "type-4"
|
||||
}
|
||||
}
|
||||
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-6"
|
||||
source_file: ""
|
||||
linker_set_key: "unsigned int"
|
||||
self_type: "type-6"
|
||||
}
|
||||
is_unsigned: true
|
||||
is_integral: true
|
||||
}
|
||||
builtin_types {
|
||||
type_info {
|
||||
name: "void"
|
||||
size: 0
|
||||
alignment: 0
|
||||
referenced_type: "type-10"
|
||||
source_file: ""
|
||||
linker_set_key: "void"
|
||||
self_type: "type-10"
|
||||
}
|
||||
is_unsigned: false
|
||||
is_integral: false
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "SuperSpeaker::SpeakLouder"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
parameters {
|
||||
referenced_type: "type-9"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-9"
|
||||
function_name: "SuperSpeaker::CreateSuperSpeaker"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
parameters {
|
||||
referenced_type: "type-2"
|
||||
default_arg: false
|
||||
is_this_ptr: false
|
||||
}
|
||||
linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-8"
|
||||
function_name: "SuperSpeaker::SpeakLoud"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
parameters {
|
||||
referenced_type: "type-9"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "LowVolumeSpeaker::Speak"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-4"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "LowVolumeSpeaker::Listen"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-4"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-12"
|
||||
function_name: "HighVolumeSpeaker::BadPractice"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-12"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
parameters {
|
||||
referenced_type: "type-3"
|
||||
default_arg: false
|
||||
is_this_ptr: false
|
||||
}
|
||||
linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "HighVolumeSpeaker::Speak"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-12"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "HighVolumeSpeaker::Listen"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-12"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
|
||||
access: public_access
|
||||
}
|
||||
elf_functions {
|
||||
name: "_Z26test_virtual_function_callP12SuperSpeaker"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN12NotReferenced"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN12SuperSpeaker11SpeakLouderEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN12SuperSpeaker9SpeakLoudEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN16LowVolumeSpeaker5SpeakEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN16LowVolumeSpeaker6ListenEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN17HighVolumeSpeaker5SpeakEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN17HighVolumeSpeaker6ListenEv"
|
||||
}
|
||||
elf_objects {
|
||||
name: "_ZTV16LowVolumeSpeaker"
|
||||
}
|
||||
elf_objects {
|
||||
name: "_ZTV17HighVolumeSpeaker"
|
||||
}
|
||||
@@ -0,0 +1,487 @@
|
||||
record_types {
|
||||
type_info {
|
||||
name: "SuperSpeaker"
|
||||
size: 8
|
||||
alignment: 4
|
||||
referenced_type: "type-1"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
linker_set_key: "SuperSpeaker"
|
||||
self_type: "type-1"
|
||||
}
|
||||
fields {
|
||||
referenced_type: "type-2"
|
||||
field_offset: 32
|
||||
field_name: "mSpeakderId"
|
||||
access: private_access
|
||||
}
|
||||
vtable_layout {
|
||||
vtable_components {
|
||||
kind: OffsetToTop
|
||||
mangled_component_name: ""
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: RTTI
|
||||
mangled_component_name: "_ZTI12SuperSpeaker"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: CompleteDtorPointer
|
||||
mangled_component_name: "_ZN12SuperSpeakerD1Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: DeletingDtorPointer
|
||||
mangled_component_name: "_ZN12SuperSpeakerD0Ev"
|
||||
component_value: 0
|
||||
}
|
||||
}
|
||||
access: public_access
|
||||
record_kind: class_kind
|
||||
tag_info {
|
||||
unique_id: "_ZTS12SuperSpeaker"
|
||||
}
|
||||
}
|
||||
record_types {
|
||||
type_info {
|
||||
name: "HighVolumeSpeaker"
|
||||
size: 8
|
||||
alignment: 4
|
||||
referenced_type: "type-11"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
linker_set_key: "HighVolumeSpeaker"
|
||||
self_type: "type-11"
|
||||
}
|
||||
base_specifiers {
|
||||
referenced_type: "type-1"
|
||||
is_virtual: false
|
||||
access: public_access
|
||||
}
|
||||
vtable_layout {
|
||||
vtable_components {
|
||||
kind: OffsetToTop
|
||||
mangled_component_name: ""
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: RTTI
|
||||
mangled_component_name: "_ZTI17HighVolumeSpeaker"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: CompleteDtorPointer
|
||||
mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: DeletingDtorPointer
|
||||
mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev"
|
||||
component_value: 0
|
||||
}
|
||||
}
|
||||
access: public_access
|
||||
record_kind: class_kind
|
||||
tag_info {
|
||||
unique_id: "_ZTS17HighVolumeSpeaker"
|
||||
}
|
||||
}
|
||||
record_types {
|
||||
type_info {
|
||||
name: "LowVolumeSpeaker"
|
||||
size: 20
|
||||
alignment: 4
|
||||
referenced_type: "type-5"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
linker_set_key: "LowVolumeSpeaker"
|
||||
self_type: "type-5"
|
||||
}
|
||||
fields {
|
||||
referenced_type: "type-6"
|
||||
field_offset: 32
|
||||
field_name: "speaker_uint_t"
|
||||
access: public_access
|
||||
}
|
||||
fields {
|
||||
referenced_type: "type-7"
|
||||
field_offset: 64
|
||||
field_name: "speaker_float_star"
|
||||
access: public_access
|
||||
}
|
||||
base_specifiers {
|
||||
referenced_type: "type-1"
|
||||
is_virtual: true
|
||||
access: public_access
|
||||
}
|
||||
vtable_layout {
|
||||
vtable_components {
|
||||
kind: VBaseOffset
|
||||
mangled_component_name: ""
|
||||
component_value: 12
|
||||
}
|
||||
vtable_components {
|
||||
kind: OffsetToTop
|
||||
mangled_component_name: ""
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: RTTI
|
||||
mangled_component_name: "_ZTI16LowVolumeSpeaker"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: CompleteDtorPointer
|
||||
mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: DeletingDtorPointer
|
||||
mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: VCallOffset
|
||||
mangled_component_name: ""
|
||||
component_value: -12
|
||||
}
|
||||
vtable_components {
|
||||
kind: VCallOffset
|
||||
mangled_component_name: ""
|
||||
component_value: -12
|
||||
}
|
||||
vtable_components {
|
||||
kind: VCallOffset
|
||||
mangled_component_name: ""
|
||||
component_value: -12
|
||||
}
|
||||
vtable_components {
|
||||
kind: OffsetToTop
|
||||
mangled_component_name: ""
|
||||
component_value: -12
|
||||
}
|
||||
vtable_components {
|
||||
kind: RTTI
|
||||
mangled_component_name: "_ZTI16LowVolumeSpeaker"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZTv0_n12_N16LowVolumeSpeaker5SpeakEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZTv0_n16_N16LowVolumeSpeaker6ListenEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: CompleteDtorPointer
|
||||
mangled_component_name: "_ZTv0_n20_N16LowVolumeSpeakerD1Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: DeletingDtorPointer
|
||||
mangled_component_name: "_ZTv0_n20_N16LowVolumeSpeakerD0Ev"
|
||||
component_value: 0
|
||||
}
|
||||
}
|
||||
access: public_access
|
||||
record_kind: class_kind
|
||||
tag_info {
|
||||
unique_id: "_ZTS16LowVolumeSpeaker"
|
||||
}
|
||||
}
|
||||
enum_types {
|
||||
type_info {
|
||||
name: "SuperSpeaker::Volume"
|
||||
size: 4
|
||||
alignment: 4
|
||||
referenced_type: "type-8"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
linker_set_key: "SuperSpeaker::Volume"
|
||||
self_type: "type-8"
|
||||
}
|
||||
underlying_type: "type-6"
|
||||
enum_fields {
|
||||
enum_field_value: 1
|
||||
name: "SuperSpeaker::Volume::Loud"
|
||||
}
|
||||
enum_fields {
|
||||
enum_field_value: 2
|
||||
name: "SuperSpeaker::Volume::Louder"
|
||||
}
|
||||
enum_fields {
|
||||
enum_field_value: 3
|
||||
name: "SuperSpeaker::Volume::Loudest"
|
||||
}
|
||||
enum_fields {
|
||||
enum_field_value: 4
|
||||
name: "SuperSpeaker::Volume::Lower"
|
||||
}
|
||||
access: private_access
|
||||
tag_info {
|
||||
unique_id: "_ZTSN12SuperSpeaker6VolumeE"
|
||||
}
|
||||
}
|
||||
pointer_types {
|
||||
type_info {
|
||||
name: "SuperSpeaker *"
|
||||
size: 4
|
||||
alignment: 4
|
||||
referenced_type: "type-1"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
linker_set_key: "SuperSpeaker *"
|
||||
self_type: "type-9"
|
||||
}
|
||||
}
|
||||
pointer_types {
|
||||
type_info {
|
||||
name: "HighVolumeSpeaker *"
|
||||
size: 4
|
||||
alignment: 4
|
||||
referenced_type: "type-11"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
linker_set_key: "HighVolumeSpeaker *"
|
||||
self_type: "type-12"
|
||||
}
|
||||
}
|
||||
pointer_types {
|
||||
type_info {
|
||||
name: "float *"
|
||||
size: 4
|
||||
alignment: 4
|
||||
referenced_type: "type-3"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
linker_set_key: "float *"
|
||||
self_type: "type-7"
|
||||
}
|
||||
}
|
||||
pointer_types {
|
||||
type_info {
|
||||
name: "LowVolumeSpeaker *"
|
||||
size: 4
|
||||
alignment: 4
|
||||
referenced_type: "type-5"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
linker_set_key: "LowVolumeSpeaker *"
|
||||
self_type: "type-4"
|
||||
}
|
||||
}
|
||||
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-6"
|
||||
source_file: ""
|
||||
linker_set_key: "unsigned int"
|
||||
self_type: "type-6"
|
||||
}
|
||||
is_unsigned: true
|
||||
is_integral: true
|
||||
}
|
||||
builtin_types {
|
||||
type_info {
|
||||
name: "void"
|
||||
size: 0
|
||||
alignment: 0
|
||||
referenced_type: "type-10"
|
||||
source_file: ""
|
||||
linker_set_key: "void"
|
||||
self_type: "type-10"
|
||||
}
|
||||
is_unsigned: false
|
||||
is_integral: false
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "SuperSpeaker::SpeakLouder"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
parameters {
|
||||
referenced_type: "type-9"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-9"
|
||||
function_name: "SuperSpeaker::CreateSuperSpeaker"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
parameters {
|
||||
referenced_type: "type-2"
|
||||
default_arg: false
|
||||
is_this_ptr: false
|
||||
}
|
||||
linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-8"
|
||||
function_name: "SuperSpeaker::SpeakLoud"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
parameters {
|
||||
referenced_type: "type-9"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "LowVolumeSpeaker::Speak"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-4"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "LowVolumeSpeaker::Listen"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-4"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-12"
|
||||
function_name: "HighVolumeSpeaker::BadPractice"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-12"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
parameters {
|
||||
referenced_type: "type-3"
|
||||
default_arg: false
|
||||
is_this_ptr: false
|
||||
}
|
||||
linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "HighVolumeSpeaker::Speak"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-12"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "HighVolumeSpeaker::Listen"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-12"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
|
||||
access: public_access
|
||||
}
|
||||
elf_functions {
|
||||
name: "_Z26test_virtual_function_callP12SuperSpeaker"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN12NotReferenced"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN12SuperSpeaker11SpeakLouderEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN12SuperSpeaker9SpeakLoudEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN16LowVolumeSpeaker5SpeakEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN16LowVolumeSpeaker6ListenEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN17HighVolumeSpeaker5SpeakEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN17HighVolumeSpeaker6ListenEv"
|
||||
}
|
||||
elf_objects {
|
||||
name: "_ZTV16LowVolumeSpeaker"
|
||||
}
|
||||
elf_objects {
|
||||
name: "_ZTV17HighVolumeSpeaker"
|
||||
}
|
||||
@@ -0,0 +1,487 @@
|
||||
record_types {
|
||||
type_info {
|
||||
name: "SuperSpeaker"
|
||||
size: 16
|
||||
alignment: 8
|
||||
referenced_type: "type-1"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
linker_set_key: "SuperSpeaker"
|
||||
self_type: "type-1"
|
||||
}
|
||||
fields {
|
||||
referenced_type: "type-2"
|
||||
field_offset: 64
|
||||
field_name: "mSpeakderId"
|
||||
access: private_access
|
||||
}
|
||||
vtable_layout {
|
||||
vtable_components {
|
||||
kind: OffsetToTop
|
||||
mangled_component_name: ""
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: RTTI
|
||||
mangled_component_name: "_ZTI12SuperSpeaker"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: CompleteDtorPointer
|
||||
mangled_component_name: "_ZN12SuperSpeakerD1Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: DeletingDtorPointer
|
||||
mangled_component_name: "_ZN12SuperSpeakerD0Ev"
|
||||
component_value: 0
|
||||
}
|
||||
}
|
||||
access: public_access
|
||||
record_kind: class_kind
|
||||
tag_info {
|
||||
unique_id: "_ZTS12SuperSpeaker"
|
||||
}
|
||||
}
|
||||
record_types {
|
||||
type_info {
|
||||
name: "HighVolumeSpeaker"
|
||||
size: 16
|
||||
alignment: 8
|
||||
referenced_type: "type-11"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
linker_set_key: "HighVolumeSpeaker"
|
||||
self_type: "type-11"
|
||||
}
|
||||
base_specifiers {
|
||||
referenced_type: "type-1"
|
||||
is_virtual: false
|
||||
access: public_access
|
||||
}
|
||||
vtable_layout {
|
||||
vtable_components {
|
||||
kind: OffsetToTop
|
||||
mangled_component_name: ""
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: RTTI
|
||||
mangled_component_name: "_ZTI17HighVolumeSpeaker"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: CompleteDtorPointer
|
||||
mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: DeletingDtorPointer
|
||||
mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev"
|
||||
component_value: 0
|
||||
}
|
||||
}
|
||||
access: public_access
|
||||
record_kind: class_kind
|
||||
tag_info {
|
||||
unique_id: "_ZTS17HighVolumeSpeaker"
|
||||
}
|
||||
}
|
||||
record_types {
|
||||
type_info {
|
||||
name: "LowVolumeSpeaker"
|
||||
size: 40
|
||||
alignment: 8
|
||||
referenced_type: "type-5"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
linker_set_key: "LowVolumeSpeaker"
|
||||
self_type: "type-5"
|
||||
}
|
||||
fields {
|
||||
referenced_type: "type-6"
|
||||
field_offset: 64
|
||||
field_name: "speaker_uint_t"
|
||||
access: public_access
|
||||
}
|
||||
fields {
|
||||
referenced_type: "type-7"
|
||||
field_offset: 128
|
||||
field_name: "speaker_float_star"
|
||||
access: public_access
|
||||
}
|
||||
base_specifiers {
|
||||
referenced_type: "type-1"
|
||||
is_virtual: true
|
||||
access: public_access
|
||||
}
|
||||
vtable_layout {
|
||||
vtable_components {
|
||||
kind: VBaseOffset
|
||||
mangled_component_name: ""
|
||||
component_value: 24
|
||||
}
|
||||
vtable_components {
|
||||
kind: OffsetToTop
|
||||
mangled_component_name: ""
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: RTTI
|
||||
mangled_component_name: "_ZTI16LowVolumeSpeaker"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: CompleteDtorPointer
|
||||
mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: DeletingDtorPointer
|
||||
mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: VCallOffset
|
||||
mangled_component_name: ""
|
||||
component_value: -24
|
||||
}
|
||||
vtable_components {
|
||||
kind: VCallOffset
|
||||
mangled_component_name: ""
|
||||
component_value: -24
|
||||
}
|
||||
vtable_components {
|
||||
kind: VCallOffset
|
||||
mangled_component_name: ""
|
||||
component_value: -24
|
||||
}
|
||||
vtable_components {
|
||||
kind: OffsetToTop
|
||||
mangled_component_name: ""
|
||||
component_value: -24
|
||||
}
|
||||
vtable_components {
|
||||
kind: RTTI
|
||||
mangled_component_name: "_ZTI16LowVolumeSpeaker"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZTv0_n24_N16LowVolumeSpeaker5SpeakEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZTv0_n32_N16LowVolumeSpeaker6ListenEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: CompleteDtorPointer
|
||||
mangled_component_name: "_ZTv0_n40_N16LowVolumeSpeakerD1Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: DeletingDtorPointer
|
||||
mangled_component_name: "_ZTv0_n40_N16LowVolumeSpeakerD0Ev"
|
||||
component_value: 0
|
||||
}
|
||||
}
|
||||
access: public_access
|
||||
record_kind: class_kind
|
||||
tag_info {
|
||||
unique_id: "_ZTS16LowVolumeSpeaker"
|
||||
}
|
||||
}
|
||||
enum_types {
|
||||
type_info {
|
||||
name: "SuperSpeaker::Volume"
|
||||
size: 4
|
||||
alignment: 4
|
||||
referenced_type: "type-8"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
linker_set_key: "SuperSpeaker::Volume"
|
||||
self_type: "type-8"
|
||||
}
|
||||
underlying_type: "type-6"
|
||||
enum_fields {
|
||||
enum_field_value: 1
|
||||
name: "SuperSpeaker::Volume::Loud"
|
||||
}
|
||||
enum_fields {
|
||||
enum_field_value: 2
|
||||
name: "SuperSpeaker::Volume::Louder"
|
||||
}
|
||||
enum_fields {
|
||||
enum_field_value: 3
|
||||
name: "SuperSpeaker::Volume::Loudest"
|
||||
}
|
||||
enum_fields {
|
||||
enum_field_value: 4
|
||||
name: "SuperSpeaker::Volume::Lower"
|
||||
}
|
||||
access: private_access
|
||||
tag_info {
|
||||
unique_id: "_ZTSN12SuperSpeaker6VolumeE"
|
||||
}
|
||||
}
|
||||
pointer_types {
|
||||
type_info {
|
||||
name: "SuperSpeaker *"
|
||||
size: 8
|
||||
alignment: 8
|
||||
referenced_type: "type-1"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
linker_set_key: "SuperSpeaker *"
|
||||
self_type: "type-9"
|
||||
}
|
||||
}
|
||||
pointer_types {
|
||||
type_info {
|
||||
name: "HighVolumeSpeaker *"
|
||||
size: 8
|
||||
alignment: 8
|
||||
referenced_type: "type-11"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
linker_set_key: "HighVolumeSpeaker *"
|
||||
self_type: "type-12"
|
||||
}
|
||||
}
|
||||
pointer_types {
|
||||
type_info {
|
||||
name: "float *"
|
||||
size: 8
|
||||
alignment: 8
|
||||
referenced_type: "type-3"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
linker_set_key: "float *"
|
||||
self_type: "type-7"
|
||||
}
|
||||
}
|
||||
pointer_types {
|
||||
type_info {
|
||||
name: "LowVolumeSpeaker *"
|
||||
size: 8
|
||||
alignment: 8
|
||||
referenced_type: "type-5"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
linker_set_key: "LowVolumeSpeaker *"
|
||||
self_type: "type-4"
|
||||
}
|
||||
}
|
||||
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-6"
|
||||
source_file: ""
|
||||
linker_set_key: "unsigned int"
|
||||
self_type: "type-6"
|
||||
}
|
||||
is_unsigned: true
|
||||
is_integral: true
|
||||
}
|
||||
builtin_types {
|
||||
type_info {
|
||||
name: "void"
|
||||
size: 0
|
||||
alignment: 0
|
||||
referenced_type: "type-10"
|
||||
source_file: ""
|
||||
linker_set_key: "void"
|
||||
self_type: "type-10"
|
||||
}
|
||||
is_unsigned: false
|
||||
is_integral: false
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "SuperSpeaker::SpeakLouder"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
parameters {
|
||||
referenced_type: "type-9"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-9"
|
||||
function_name: "SuperSpeaker::CreateSuperSpeaker"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
parameters {
|
||||
referenced_type: "type-2"
|
||||
default_arg: false
|
||||
is_this_ptr: false
|
||||
}
|
||||
linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-8"
|
||||
function_name: "SuperSpeaker::SpeakLoud"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
parameters {
|
||||
referenced_type: "type-9"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "LowVolumeSpeaker::Speak"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-4"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "LowVolumeSpeaker::Listen"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-4"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-12"
|
||||
function_name: "HighVolumeSpeaker::BadPractice"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-12"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
parameters {
|
||||
referenced_type: "type-3"
|
||||
default_arg: false
|
||||
is_this_ptr: false
|
||||
}
|
||||
linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "HighVolumeSpeaker::Speak"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-12"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "HighVolumeSpeaker::Listen"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-12"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
|
||||
access: public_access
|
||||
}
|
||||
elf_functions {
|
||||
name: "_Z26test_virtual_function_callP12SuperSpeaker"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN12NotReferenced"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN12SuperSpeaker11SpeakLouderEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN12SuperSpeaker9SpeakLoudEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN16LowVolumeSpeaker5SpeakEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN16LowVolumeSpeaker6ListenEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN17HighVolumeSpeaker5SpeakEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN17HighVolumeSpeaker6ListenEv"
|
||||
}
|
||||
elf_objects {
|
||||
name: "_ZTV16LowVolumeSpeaker"
|
||||
}
|
||||
elf_objects {
|
||||
name: "_ZTV17HighVolumeSpeaker"
|
||||
}
|
||||
@@ -0,0 +1,487 @@
|
||||
record_types {
|
||||
type_info {
|
||||
name: "SuperSpeaker"
|
||||
size: 8
|
||||
alignment: 4
|
||||
referenced_type: "type-1"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
linker_set_key: "SuperSpeaker"
|
||||
self_type: "type-1"
|
||||
}
|
||||
fields {
|
||||
referenced_type: "type-2"
|
||||
field_offset: 32
|
||||
field_name: "mSpeakderId"
|
||||
access: private_access
|
||||
}
|
||||
vtable_layout {
|
||||
vtable_components {
|
||||
kind: OffsetToTop
|
||||
mangled_component_name: ""
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: RTTI
|
||||
mangled_component_name: "_ZTI12SuperSpeaker"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: CompleteDtorPointer
|
||||
mangled_component_name: "_ZN12SuperSpeakerD1Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: DeletingDtorPointer
|
||||
mangled_component_name: "_ZN12SuperSpeakerD0Ev"
|
||||
component_value: 0
|
||||
}
|
||||
}
|
||||
access: public_access
|
||||
record_kind: class_kind
|
||||
tag_info {
|
||||
unique_id: "_ZTS12SuperSpeaker"
|
||||
}
|
||||
}
|
||||
record_types {
|
||||
type_info {
|
||||
name: "HighVolumeSpeaker"
|
||||
size: 8
|
||||
alignment: 4
|
||||
referenced_type: "type-11"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
linker_set_key: "HighVolumeSpeaker"
|
||||
self_type: "type-11"
|
||||
}
|
||||
base_specifiers {
|
||||
referenced_type: "type-1"
|
||||
is_virtual: false
|
||||
access: public_access
|
||||
}
|
||||
vtable_layout {
|
||||
vtable_components {
|
||||
kind: OffsetToTop
|
||||
mangled_component_name: ""
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: RTTI
|
||||
mangled_component_name: "_ZTI17HighVolumeSpeaker"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: CompleteDtorPointer
|
||||
mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: DeletingDtorPointer
|
||||
mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev"
|
||||
component_value: 0
|
||||
}
|
||||
}
|
||||
access: public_access
|
||||
record_kind: class_kind
|
||||
tag_info {
|
||||
unique_id: "_ZTS17HighVolumeSpeaker"
|
||||
}
|
||||
}
|
||||
record_types {
|
||||
type_info {
|
||||
name: "LowVolumeSpeaker"
|
||||
size: 20
|
||||
alignment: 4
|
||||
referenced_type: "type-5"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
linker_set_key: "LowVolumeSpeaker"
|
||||
self_type: "type-5"
|
||||
}
|
||||
fields {
|
||||
referenced_type: "type-6"
|
||||
field_offset: 32
|
||||
field_name: "speaker_uint_t"
|
||||
access: public_access
|
||||
}
|
||||
fields {
|
||||
referenced_type: "type-7"
|
||||
field_offset: 64
|
||||
field_name: "speaker_float_star"
|
||||
access: public_access
|
||||
}
|
||||
base_specifiers {
|
||||
referenced_type: "type-1"
|
||||
is_virtual: true
|
||||
access: public_access
|
||||
}
|
||||
vtable_layout {
|
||||
vtable_components {
|
||||
kind: VBaseOffset
|
||||
mangled_component_name: ""
|
||||
component_value: 12
|
||||
}
|
||||
vtable_components {
|
||||
kind: OffsetToTop
|
||||
mangled_component_name: ""
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: RTTI
|
||||
mangled_component_name: "_ZTI16LowVolumeSpeaker"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: CompleteDtorPointer
|
||||
mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: DeletingDtorPointer
|
||||
mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: VCallOffset
|
||||
mangled_component_name: ""
|
||||
component_value: -12
|
||||
}
|
||||
vtable_components {
|
||||
kind: VCallOffset
|
||||
mangled_component_name: ""
|
||||
component_value: -12
|
||||
}
|
||||
vtable_components {
|
||||
kind: VCallOffset
|
||||
mangled_component_name: ""
|
||||
component_value: -12
|
||||
}
|
||||
vtable_components {
|
||||
kind: OffsetToTop
|
||||
mangled_component_name: ""
|
||||
component_value: -12
|
||||
}
|
||||
vtable_components {
|
||||
kind: RTTI
|
||||
mangled_component_name: "_ZTI16LowVolumeSpeaker"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZTv0_n12_N16LowVolumeSpeaker5SpeakEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZTv0_n16_N16LowVolumeSpeaker6ListenEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: CompleteDtorPointer
|
||||
mangled_component_name: "_ZTv0_n20_N16LowVolumeSpeakerD1Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: DeletingDtorPointer
|
||||
mangled_component_name: "_ZTv0_n20_N16LowVolumeSpeakerD0Ev"
|
||||
component_value: 0
|
||||
}
|
||||
}
|
||||
access: public_access
|
||||
record_kind: class_kind
|
||||
tag_info {
|
||||
unique_id: "_ZTS16LowVolumeSpeaker"
|
||||
}
|
||||
}
|
||||
enum_types {
|
||||
type_info {
|
||||
name: "SuperSpeaker::Volume"
|
||||
size: 4
|
||||
alignment: 4
|
||||
referenced_type: "type-8"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
linker_set_key: "SuperSpeaker::Volume"
|
||||
self_type: "type-8"
|
||||
}
|
||||
underlying_type: "type-6"
|
||||
enum_fields {
|
||||
enum_field_value: 1
|
||||
name: "SuperSpeaker::Volume::Loud"
|
||||
}
|
||||
enum_fields {
|
||||
enum_field_value: 2
|
||||
name: "SuperSpeaker::Volume::Louder"
|
||||
}
|
||||
enum_fields {
|
||||
enum_field_value: 3
|
||||
name: "SuperSpeaker::Volume::Loudest"
|
||||
}
|
||||
enum_fields {
|
||||
enum_field_value: 4
|
||||
name: "SuperSpeaker::Volume::Lower"
|
||||
}
|
||||
access: private_access
|
||||
tag_info {
|
||||
unique_id: "_ZTSN12SuperSpeaker6VolumeE"
|
||||
}
|
||||
}
|
||||
pointer_types {
|
||||
type_info {
|
||||
name: "SuperSpeaker *"
|
||||
size: 4
|
||||
alignment: 4
|
||||
referenced_type: "type-1"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
linker_set_key: "SuperSpeaker *"
|
||||
self_type: "type-9"
|
||||
}
|
||||
}
|
||||
pointer_types {
|
||||
type_info {
|
||||
name: "HighVolumeSpeaker *"
|
||||
size: 4
|
||||
alignment: 4
|
||||
referenced_type: "type-11"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
linker_set_key: "HighVolumeSpeaker *"
|
||||
self_type: "type-12"
|
||||
}
|
||||
}
|
||||
pointer_types {
|
||||
type_info {
|
||||
name: "float *"
|
||||
size: 4
|
||||
alignment: 4
|
||||
referenced_type: "type-3"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
linker_set_key: "float *"
|
||||
self_type: "type-7"
|
||||
}
|
||||
}
|
||||
pointer_types {
|
||||
type_info {
|
||||
name: "LowVolumeSpeaker *"
|
||||
size: 4
|
||||
alignment: 4
|
||||
referenced_type: "type-5"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
linker_set_key: "LowVolumeSpeaker *"
|
||||
self_type: "type-4"
|
||||
}
|
||||
}
|
||||
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-6"
|
||||
source_file: ""
|
||||
linker_set_key: "unsigned int"
|
||||
self_type: "type-6"
|
||||
}
|
||||
is_unsigned: true
|
||||
is_integral: true
|
||||
}
|
||||
builtin_types {
|
||||
type_info {
|
||||
name: "void"
|
||||
size: 0
|
||||
alignment: 0
|
||||
referenced_type: "type-10"
|
||||
source_file: ""
|
||||
linker_set_key: "void"
|
||||
self_type: "type-10"
|
||||
}
|
||||
is_unsigned: false
|
||||
is_integral: false
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "SuperSpeaker::SpeakLouder"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
parameters {
|
||||
referenced_type: "type-9"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-9"
|
||||
function_name: "SuperSpeaker::CreateSuperSpeaker"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
parameters {
|
||||
referenced_type: "type-2"
|
||||
default_arg: false
|
||||
is_this_ptr: false
|
||||
}
|
||||
linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-8"
|
||||
function_name: "SuperSpeaker::SpeakLoud"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
parameters {
|
||||
referenced_type: "type-9"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "LowVolumeSpeaker::Speak"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-4"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "LowVolumeSpeaker::Listen"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-4"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-12"
|
||||
function_name: "HighVolumeSpeaker::BadPractice"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-12"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
parameters {
|
||||
referenced_type: "type-3"
|
||||
default_arg: false
|
||||
is_this_ptr: false
|
||||
}
|
||||
linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "HighVolumeSpeaker::Speak"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-12"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "HighVolumeSpeaker::Listen"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-12"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
|
||||
access: public_access
|
||||
}
|
||||
elf_functions {
|
||||
name: "_Z26test_virtual_function_callP12SuperSpeaker"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN12NotReferenced"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN12SuperSpeaker11SpeakLouderEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN12SuperSpeaker9SpeakLoudEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN16LowVolumeSpeaker5SpeakEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN16LowVolumeSpeaker6ListenEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN17HighVolumeSpeaker5SpeakEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN17HighVolumeSpeaker6ListenEv"
|
||||
}
|
||||
elf_objects {
|
||||
name: "_ZTV16LowVolumeSpeaker"
|
||||
}
|
||||
elf_objects {
|
||||
name: "_ZTV17HighVolumeSpeaker"
|
||||
}
|
||||
@@ -0,0 +1,487 @@
|
||||
record_types {
|
||||
type_info {
|
||||
name: "SuperSpeaker"
|
||||
size: 16
|
||||
alignment: 8
|
||||
referenced_type: "type-1"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
linker_set_key: "SuperSpeaker"
|
||||
self_type: "type-1"
|
||||
}
|
||||
fields {
|
||||
referenced_type: "type-2"
|
||||
field_offset: 64
|
||||
field_name: "mSpeakderId"
|
||||
access: private_access
|
||||
}
|
||||
vtable_layout {
|
||||
vtable_components {
|
||||
kind: OffsetToTop
|
||||
mangled_component_name: ""
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: RTTI
|
||||
mangled_component_name: "_ZTI12SuperSpeaker"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: CompleteDtorPointer
|
||||
mangled_component_name: "_ZN12SuperSpeakerD1Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: DeletingDtorPointer
|
||||
mangled_component_name: "_ZN12SuperSpeakerD0Ev"
|
||||
component_value: 0
|
||||
}
|
||||
}
|
||||
access: public_access
|
||||
record_kind: class_kind
|
||||
tag_info {
|
||||
unique_id: "_ZTS12SuperSpeaker"
|
||||
}
|
||||
}
|
||||
record_types {
|
||||
type_info {
|
||||
name: "HighVolumeSpeaker"
|
||||
size: 16
|
||||
alignment: 8
|
||||
referenced_type: "type-11"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
linker_set_key: "HighVolumeSpeaker"
|
||||
self_type: "type-11"
|
||||
}
|
||||
base_specifiers {
|
||||
referenced_type: "type-1"
|
||||
is_virtual: false
|
||||
access: public_access
|
||||
}
|
||||
vtable_layout {
|
||||
vtable_components {
|
||||
kind: OffsetToTop
|
||||
mangled_component_name: ""
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: RTTI
|
||||
mangled_component_name: "_ZTI17HighVolumeSpeaker"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: CompleteDtorPointer
|
||||
mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: DeletingDtorPointer
|
||||
mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev"
|
||||
component_value: 0
|
||||
}
|
||||
}
|
||||
access: public_access
|
||||
record_kind: class_kind
|
||||
tag_info {
|
||||
unique_id: "_ZTS17HighVolumeSpeaker"
|
||||
}
|
||||
}
|
||||
record_types {
|
||||
type_info {
|
||||
name: "LowVolumeSpeaker"
|
||||
size: 40
|
||||
alignment: 8
|
||||
referenced_type: "type-5"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
linker_set_key: "LowVolumeSpeaker"
|
||||
self_type: "type-5"
|
||||
}
|
||||
fields {
|
||||
referenced_type: "type-6"
|
||||
field_offset: 64
|
||||
field_name: "speaker_uint_t"
|
||||
access: public_access
|
||||
}
|
||||
fields {
|
||||
referenced_type: "type-7"
|
||||
field_offset: 128
|
||||
field_name: "speaker_float_star"
|
||||
access: public_access
|
||||
}
|
||||
base_specifiers {
|
||||
referenced_type: "type-1"
|
||||
is_virtual: true
|
||||
access: public_access
|
||||
}
|
||||
vtable_layout {
|
||||
vtable_components {
|
||||
kind: VBaseOffset
|
||||
mangled_component_name: ""
|
||||
component_value: 24
|
||||
}
|
||||
vtable_components {
|
||||
kind: OffsetToTop
|
||||
mangled_component_name: ""
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: RTTI
|
||||
mangled_component_name: "_ZTI16LowVolumeSpeaker"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: CompleteDtorPointer
|
||||
mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: DeletingDtorPointer
|
||||
mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: VCallOffset
|
||||
mangled_component_name: ""
|
||||
component_value: -24
|
||||
}
|
||||
vtable_components {
|
||||
kind: VCallOffset
|
||||
mangled_component_name: ""
|
||||
component_value: -24
|
||||
}
|
||||
vtable_components {
|
||||
kind: VCallOffset
|
||||
mangled_component_name: ""
|
||||
component_value: -24
|
||||
}
|
||||
vtable_components {
|
||||
kind: OffsetToTop
|
||||
mangled_component_name: ""
|
||||
component_value: -24
|
||||
}
|
||||
vtable_components {
|
||||
kind: RTTI
|
||||
mangled_component_name: "_ZTI16LowVolumeSpeaker"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZTv0_n24_N16LowVolumeSpeaker5SpeakEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: FunctionPointer
|
||||
mangled_component_name: "_ZTv0_n32_N16LowVolumeSpeaker6ListenEv"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: CompleteDtorPointer
|
||||
mangled_component_name: "_ZTv0_n40_N16LowVolumeSpeakerD1Ev"
|
||||
component_value: 0
|
||||
}
|
||||
vtable_components {
|
||||
kind: DeletingDtorPointer
|
||||
mangled_component_name: "_ZTv0_n40_N16LowVolumeSpeakerD0Ev"
|
||||
component_value: 0
|
||||
}
|
||||
}
|
||||
access: public_access
|
||||
record_kind: class_kind
|
||||
tag_info {
|
||||
unique_id: "_ZTS16LowVolumeSpeaker"
|
||||
}
|
||||
}
|
||||
enum_types {
|
||||
type_info {
|
||||
name: "SuperSpeaker::Volume"
|
||||
size: 4
|
||||
alignment: 4
|
||||
referenced_type: "type-8"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
linker_set_key: "SuperSpeaker::Volume"
|
||||
self_type: "type-8"
|
||||
}
|
||||
underlying_type: "type-6"
|
||||
enum_fields {
|
||||
enum_field_value: 1
|
||||
name: "SuperSpeaker::Volume::Loud"
|
||||
}
|
||||
enum_fields {
|
||||
enum_field_value: 2
|
||||
name: "SuperSpeaker::Volume::Louder"
|
||||
}
|
||||
enum_fields {
|
||||
enum_field_value: 3
|
||||
name: "SuperSpeaker::Volume::Loudest"
|
||||
}
|
||||
enum_fields {
|
||||
enum_field_value: 4
|
||||
name: "SuperSpeaker::Volume::Lower"
|
||||
}
|
||||
access: private_access
|
||||
tag_info {
|
||||
unique_id: "_ZTSN12SuperSpeaker6VolumeE"
|
||||
}
|
||||
}
|
||||
pointer_types {
|
||||
type_info {
|
||||
name: "SuperSpeaker *"
|
||||
size: 8
|
||||
alignment: 8
|
||||
referenced_type: "type-1"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
linker_set_key: "SuperSpeaker *"
|
||||
self_type: "type-9"
|
||||
}
|
||||
}
|
||||
pointer_types {
|
||||
type_info {
|
||||
name: "HighVolumeSpeaker *"
|
||||
size: 8
|
||||
alignment: 8
|
||||
referenced_type: "type-11"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
linker_set_key: "HighVolumeSpeaker *"
|
||||
self_type: "type-12"
|
||||
}
|
||||
}
|
||||
pointer_types {
|
||||
type_info {
|
||||
name: "float *"
|
||||
size: 8
|
||||
alignment: 8
|
||||
referenced_type: "type-3"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
linker_set_key: "float *"
|
||||
self_type: "type-7"
|
||||
}
|
||||
}
|
||||
pointer_types {
|
||||
type_info {
|
||||
name: "LowVolumeSpeaker *"
|
||||
size: 8
|
||||
alignment: 8
|
||||
referenced_type: "type-5"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
linker_set_key: "LowVolumeSpeaker *"
|
||||
self_type: "type-4"
|
||||
}
|
||||
}
|
||||
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-6"
|
||||
source_file: ""
|
||||
linker_set_key: "unsigned int"
|
||||
self_type: "type-6"
|
||||
}
|
||||
is_unsigned: true
|
||||
is_integral: true
|
||||
}
|
||||
builtin_types {
|
||||
type_info {
|
||||
name: "void"
|
||||
size: 0
|
||||
alignment: 0
|
||||
referenced_type: "type-10"
|
||||
source_file: ""
|
||||
linker_set_key: "void"
|
||||
self_type: "type-10"
|
||||
}
|
||||
is_unsigned: false
|
||||
is_integral: false
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "SuperSpeaker::SpeakLouder"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
parameters {
|
||||
referenced_type: "type-9"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-9"
|
||||
function_name: "SuperSpeaker::CreateSuperSpeaker"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
parameters {
|
||||
referenced_type: "type-2"
|
||||
default_arg: false
|
||||
is_this_ptr: false
|
||||
}
|
||||
linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-8"
|
||||
function_name: "SuperSpeaker::SpeakLoud"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
|
||||
parameters {
|
||||
referenced_type: "type-9"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "LowVolumeSpeaker::Speak"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-4"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "LowVolumeSpeaker::Listen"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-4"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-12"
|
||||
function_name: "HighVolumeSpeaker::BadPractice"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-12"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
parameters {
|
||||
referenced_type: "type-3"
|
||||
default_arg: false
|
||||
is_this_ptr: false
|
||||
}
|
||||
linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "HighVolumeSpeaker::Speak"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-12"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
|
||||
access: public_access
|
||||
}
|
||||
functions {
|
||||
return_type: "type-10"
|
||||
function_name: "HighVolumeSpeaker::Listen"
|
||||
source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
|
||||
parameters {
|
||||
referenced_type: "type-12"
|
||||
default_arg: false
|
||||
is_this_ptr: true
|
||||
}
|
||||
linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
|
||||
access: public_access
|
||||
}
|
||||
elf_functions {
|
||||
name: "_Z26test_virtual_function_callP12SuperSpeaker"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN12NotReferenced"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN12SuperSpeaker11SpeakLouderEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN12SuperSpeaker9SpeakLoudEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN16LowVolumeSpeaker5SpeakEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN16LowVolumeSpeaker6ListenEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN17HighVolumeSpeaker5SpeakEv"
|
||||
}
|
||||
elf_functions {
|
||||
name: "_ZN17HighVolumeSpeaker6ListenEv"
|
||||
}
|
||||
elf_objects {
|
||||
name: "_ZTV16LowVolumeSpeaker"
|
||||
}
|
||||
elf_objects {
|
||||
name: "_ZTV17HighVolumeSpeaker"
|
||||
}
|
||||
@@ -267,6 +267,11 @@ class MyTest(unittest.TestCase):
|
||||
"libgolden_cpp_internal_private_struct", 8, [], True,
|
||||
True)
|
||||
|
||||
def test_libgolden_cpp_inheritance_type_changed(self):
|
||||
self.prepare_and_run_abi_diff_all_archs(
|
||||
"libgolden_cpp", "libgolden_cpp_inheritance_type_changed", 8, [],
|
||||
True, True)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user