{
 "array_types" : [],
 "builtin_types" :
 [
  {
   "alignment" : 4,
   "linker_set_key" : "_ZTIf",
   "name" : "float",
   "size" : 4
  },
  {
   "alignment" : 4,
   "is_integral" : true,
   "linker_set_key" : "_ZTIi",
   "name" : "int",
   "size" : 4
  },
  {
   "alignment" : 4,
   "is_integral" : true,
   "is_unsigned" : true,
   "linker_set_key" : "_ZTIj",
   "name" : "unsigned int",
   "size" : 4
  },
  {
   "linker_set_key" : "_ZTIv",
   "name" : "void"
  }
 ],
 "elf_functions" :
 [
  {
   "name" : "_Z26test_virtual_function_callP12SuperSpeaker"
  },
  {
   "name" : "_ZN12NotReferenced"
  },
  {
   "name" : "_ZN12SuperSpeaker11SpeakLouderEv"
  },
  {
   "name" : "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
  },
  {
   "name" : "_ZN12SuperSpeaker9SpeakLoudEv"
  },
  {
   "name" : "_ZN16LowVolumeSpeaker5SpeakEv"
  },
  {
   "name" : "_ZN16LowVolumeSpeaker6ListenEv"
  },
  {
   "name" : "_ZN17HighVolumeSpeaker11BadPracticeEf"
  },
  {
   "name" : "_ZN17HighVolumeSpeaker5SpeakEv"
  },
  {
   "name" : "_ZN17HighVolumeSpeaker6ListenEv"
  }
 ],
 "elf_objects" :
 [
  {
   "name" : "_ZTV16LowVolumeSpeaker"
  },
  {
   "name" : "_ZTV17HighVolumeSpeaker"
  }
 ],
 "enum_types" :
 [
  {
   "access" : "private",
   "alignment" : 4,
   "enum_fields" :
   [
    {
     "enum_field_value" : 1,
     "name" : "SuperSpeaker::Loud"
    },
    {
     "enum_field_value" : 2,
     "name" : "SuperSpeaker::Louder"
    },
    {
     "enum_field_value" : 3,
     "name" : "SuperSpeaker::Loudest"
    },
    {
     "enum_field_value" : 0,
     "name" : "SuperSpeaker::Lower"
    }
   ],
   "linker_set_key" : "_ZTIN12SuperSpeaker6VolumeE",
   "name" : "SuperSpeaker::Volume",
   "size" : 4,
   "source_file" : "development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h",
   "underlying_type" : "_ZTIj"
  }
 ],
 "function_types" : [],
 "functions" :
 [
  {
   "function_name" : "SuperSpeaker::SpeakLouder",
   "linker_set_key" : "_ZN12SuperSpeaker11SpeakLouderEv",
   "parameters" :
   [
    {
     "is_this_ptr" : true,
     "referenced_type" : "_ZTIP12SuperSpeaker"
    }
   ],
   "return_type" : "_ZTIv",
   "source_file" : "development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
  },
  {
   "function_name" : "SuperSpeaker::CreateSuperSpeaker",
   "linker_set_key" : "_ZN12SuperSpeaker18CreateSuperSpeakerEi",
   "parameters" :
   [
    {
     "referenced_type" : "_ZTIi"
    }
   ],
   "return_type" : "_ZTIP12SuperSpeaker",
   "source_file" : "development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
  },
  {
   "function_name" : "SuperSpeaker::SpeakLoud",
   "linker_set_key" : "_ZN12SuperSpeaker9SpeakLoudEv",
   "parameters" :
   [
    {
     "is_this_ptr" : true,
     "referenced_type" : "_ZTIP12SuperSpeaker"
    }
   ],
   "return_type" : "_ZTIN12SuperSpeaker6VolumeE",
   "source_file" : "development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
  },
  {
   "function_name" : "LowVolumeSpeaker::Speak",
   "linker_set_key" : "_ZN16LowVolumeSpeaker5SpeakEv",
   "parameters" :
   [
    {
     "is_this_ptr" : true,
     "referenced_type" : "_ZTIP16LowVolumeSpeaker"
    }
   ],
   "return_type" : "_ZTIv",
   "source_file" : "development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
  },
  {
   "function_name" : "LowVolumeSpeaker::Listen",
   "linker_set_key" : "_ZN16LowVolumeSpeaker6ListenEv",
   "parameters" :
   [
    {
     "is_this_ptr" : true,
     "referenced_type" : "_ZTIP16LowVolumeSpeaker"
    }
   ],
   "return_type" : "_ZTIv",
   "source_file" : "development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
  },
  {
   "function_name" : "HighVolumeSpeaker::BadPractice",
   "linker_set_key" : "_ZN17HighVolumeSpeaker11BadPracticeEf",
   "parameters" :
   [
    {
     "is_this_ptr" : true,
     "referenced_type" : "_ZTIP17HighVolumeSpeaker"
    },
    {
     "referenced_type" : "_ZTIf"
    }
   ],
   "return_type" : "_ZTIP17HighVolumeSpeaker",
   "source_file" : "development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
  },
  {
   "function_name" : "HighVolumeSpeaker::Speak",
   "linker_set_key" : "_ZN17HighVolumeSpeaker5SpeakEv",
   "parameters" :
   [
    {
     "is_this_ptr" : true,
     "referenced_type" : "_ZTIP17HighVolumeSpeaker"
    }
   ],
   "return_type" : "_ZTIv",
   "source_file" : "development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
  },
  {
   "function_name" : "HighVolumeSpeaker::Listen",
   "linker_set_key" : "_ZN17HighVolumeSpeaker6ListenEv",
   "parameters" :
   [
    {
     "is_this_ptr" : true,
     "referenced_type" : "_ZTIP17HighVolumeSpeaker"
    }
   ],
   "return_type" : "_ZTIv",
   "source_file" : "development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
  }
 ],
 "global_vars" : [],
 "lvalue_reference_types" : [],
 "pointer_types" :
 [
  {
   "alignment" : 4,
   "linker_set_key" : "_ZTIP12SuperSpeaker",
   "name" : "SuperSpeaker *",
   "referenced_type" : "_ZTI12SuperSpeaker",
   "size" : 4,
   "source_file" : "development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
  },
  {
   "alignment" : 4,
   "linker_set_key" : "_ZTIP16LowVolumeSpeaker",
   "name" : "LowVolumeSpeaker *",
   "referenced_type" : "_ZTI16LowVolumeSpeaker",
   "size" : 4,
   "source_file" : "development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
  },
  {
   "alignment" : 4,
   "linker_set_key" : "_ZTIP17HighVolumeSpeaker",
   "name" : "HighVolumeSpeaker *",
   "referenced_type" : "_ZTI17HighVolumeSpeaker",
   "size" : 4,
   "source_file" : "development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
  },
  {
   "alignment" : 4,
   "linker_set_key" : "_ZTIPf",
   "name" : "float *",
   "referenced_type" : "_ZTIf",
   "size" : 4,
   "source_file" : "development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
  }
 ],
 "qualified_types" : [],
 "record_types" :
 [
  {
   "alignment" : 4,
   "fields" :
   [
    {
     "access" : "private",
     "field_name" : "mSpeakderId",
     "field_offset" : 32,
     "referenced_type" : "_ZTIi"
    }
   ],
   "linker_set_key" : "_ZTI12SuperSpeaker",
   "name" : "SuperSpeaker",
   "record_kind" : "class",
   "size" : 8,
   "source_file" : "development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h",
   "vtable_components" :
   [
    {
     "kind" : "offset_to_top"
    },
    {
     "kind" : "rtti",
     "mangled_component_name" : "_ZTI12SuperSpeaker"
    },
    {
     "is_pure" : true,
     "mangled_component_name" : "_ZN12SuperSpeaker5SpeakEv"
    },
    {
     "is_pure" : true,
     "mangled_component_name" : "_ZN12SuperSpeaker6ListenEv"
    },
    {
     "kind" : "complete_dtor_pointer",
     "mangled_component_name" : "_ZN12SuperSpeakerD1Ev"
    },
    {
     "kind" : "deleting_dtor_pointer",
     "mangled_component_name" : "_ZN12SuperSpeakerD0Ev"
    }
   ]
  },
  {
   "alignment" : 4,
   "base_specifiers" :
   [
    {
     "referenced_type" : "_ZTI12SuperSpeaker"
    }
   ],
   "fields" :
   [
    {
     "field_name" : "speaker_uint_t",
     "field_offset" : 64,
     "referenced_type" : "_ZTIj"
    },
    {
     "field_name" : "speaker_float_star",
     "field_offset" : 96,
     "referenced_type" : "_ZTIPf"
    }
   ],
   "linker_set_key" : "_ZTI16LowVolumeSpeaker",
   "name" : "LowVolumeSpeaker",
   "record_kind" : "class",
   "size" : 16,
   "source_file" : "development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h",
   "vtable_components" :
   [
    {
     "kind" : "offset_to_top"
    },
    {
     "kind" : "rtti",
     "mangled_component_name" : "_ZTI16LowVolumeSpeaker"
    },
    {
     "mangled_component_name" : "_ZN16LowVolumeSpeaker5SpeakEv"
    },
    {
     "mangled_component_name" : "_ZN16LowVolumeSpeaker6ListenEv"
    },
    {
     "kind" : "complete_dtor_pointer",
     "mangled_component_name" : "_ZN16LowVolumeSpeakerD1Ev"
    },
    {
     "kind" : "deleting_dtor_pointer",
     "mangled_component_name" : "_ZN16LowVolumeSpeakerD0Ev"
    }
   ]
  },
  {
   "alignment" : 4,
   "base_specifiers" :
   [
    {
     "referenced_type" : "_ZTI12SuperSpeaker"
    }
   ],
   "linker_set_key" : "_ZTI17HighVolumeSpeaker",
   "name" : "HighVolumeSpeaker",
   "record_kind" : "class",
   "size" : 8,
   "source_file" : "development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h",
   "vtable_components" :
   [
    {
     "kind" : "offset_to_top"
    },
    {
     "kind" : "rtti",
     "mangled_component_name" : "_ZTI17HighVolumeSpeaker"
    },
    {
     "mangled_component_name" : "_ZN17HighVolumeSpeaker5SpeakEv"
    },
    {
     "mangled_component_name" : "_ZN17HighVolumeSpeaker6ListenEv"
    },
    {
     "kind" : "complete_dtor_pointer",
     "mangled_component_name" : "_ZN17HighVolumeSpeakerD1Ev"
    },
    {
     "kind" : "deleting_dtor_pointer",
     "mangled_component_name" : "_ZN17HighVolumeSpeakerD0Ev"
    }
   ]
  }
 ],
 "rvalue_reference_types" : []
}