#include "AppleObjCClassDescriptorV2.h"
#include "lldb/Expression/FunctionCaller.h"
#include "lldb/Target/ABI.h"
#include "lldb/Target/Language.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "lldb/lldb-enumerations.h"
usingnamespacelldb;
usingnamespacelldb_private;
bool ClassDescriptorV2::Read_objc_class(
Process *process, std::unique_ptr<objc_class_t> &objc_class) const { … }
static lldb::addr_t GetClassDataMask(Process *process) { … }
bool ClassDescriptorV2::objc_class_t::Read(Process *process,
lldb::addr_t addr) { … }
bool ClassDescriptorV2::class_rw_t::Read(Process *process, lldb::addr_t addr) { … }
bool ClassDescriptorV2::class_ro_t::Read(Process *process, lldb::addr_t addr) { … }
bool ClassDescriptorV2::Read_class_row(
Process *process, const objc_class_t &objc_class,
std::unique_ptr<class_ro_t> &class_ro,
std::unique_ptr<class_rw_t> &class_rw) const { … }
bool ClassDescriptorV2::method_list_t::Read(Process *process,
lldb::addr_t addr) { … }
bool ClassDescriptorV2::method_t::Read(Process *process, lldb::addr_t addr,
lldb::addr_t relative_selector_base_addr,
bool is_small, bool has_direct_sel) { … }
bool ClassDescriptorV2::ivar_list_t::Read(Process *process, lldb::addr_t addr) { … }
bool ClassDescriptorV2::ivar_t::Read(Process *process, lldb::addr_t addr) { … }
bool ClassDescriptorV2::relative_list_entry_t::Read(Process *process,
lldb::addr_t addr) { … }
bool ClassDescriptorV2::relative_list_list_t::Read(Process *process,
lldb::addr_t addr) { … }
std::optional<ClassDescriptorV2::method_list_t>
ClassDescriptorV2::GetMethodList(Process *process,
lldb::addr_t method_list_ptr) const { … }
bool ClassDescriptorV2::ProcessMethodList(
std::function<bool(const char *, const char *)> const &instance_method_func,
ClassDescriptorV2::method_list_t &method_list) const { … }
bool ClassDescriptorV2::ProcessRelativeMethodLists(
std::function<bool(const char *, const char *)> const &instance_method_func,
lldb::addr_t relative_method_list_ptr) const { … }
bool ClassDescriptorV2::Describe(
std::function<void(ObjCLanguageRuntime::ObjCISA)> const &superclass_func,
std::function<bool(const char *, const char *)> const &instance_method_func,
std::function<bool(const char *, const char *)> const &class_method_func,
std::function<bool(const char *, const char *, lldb::addr_t,
uint64_t)> const &ivar_func) const { … }
ConstString ClassDescriptorV2::GetClassName() { … }
ObjCLanguageRuntime::ClassDescriptorSP ClassDescriptorV2::GetSuperclass() { … }
ObjCLanguageRuntime::ClassDescriptorSP ClassDescriptorV2::GetMetaclass() const { … }
uint64_t ClassDescriptorV2::GetInstanceSize() { … }
static uint8_t IS_SWIFT_STABLE = …;
LanguageType ClassDescriptorV2::GetImplementationLanguage() const { … }
ClassDescriptorV2::iVarsStorage::iVarsStorage() : … { … }
size_t ClassDescriptorV2::iVarsStorage::size() { … }
ClassDescriptorV2::iVarDescriptor &ClassDescriptorV2::iVarsStorage::
operator[](size_t idx) { … }
void ClassDescriptorV2::iVarsStorage::fill(AppleObjCRuntimeV2 &runtime,
ClassDescriptorV2 &descriptor) { … }
void ClassDescriptorV2::GetIVarInformation() { … }