LLDB mainline
|
#include <AppleObjCRuntimeV1.h>
Public Member Functions | |
ClassDescriptorV1 (ValueObject &isa_pointer) | |
ClassDescriptorV1 (ObjCISA isa, lldb::ProcessSP process_sp) | |
~ClassDescriptorV1 () override=default | |
ConstString | GetClassName () override |
ClassDescriptorSP | GetSuperclass () override |
ClassDescriptorSP | GetMetaclass () const override |
bool | IsValid () override |
bool | GetTaggedPointerInfo (uint64_t *info_bits=nullptr, uint64_t *value_bits=nullptr, uint64_t *payload=nullptr) override |
There are two routines in the ObjC runtime that tagged pointer clients can call to get the value from their tagged pointer, one that retrieves it as an unsigned value and one a signed value. | |
bool | GetTaggedPointerInfoSigned (uint64_t *info_bits=nullptr, int64_t *value_bits=nullptr, uint64_t *payload=nullptr) override |
uint64_t | GetInstanceSize () override |
ObjCISA | GetISA () override |
bool | 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 override |
![]() | |
ClassDescriptor () | |
virtual | ~ClassDescriptor ()=default |
virtual ConstString | GetClassName ()=0 |
virtual ClassDescriptorSP | GetSuperclass ()=0 |
virtual ClassDescriptorSP | GetMetaclass () const =0 |
virtual bool | IsKVO () |
virtual bool | IsCFType () |
virtual lldb::LanguageType | GetImplementationLanguage () const |
Determine whether this class is implemented in Swift. | |
virtual bool | IsValid ()=0 |
virtual uint64_t | GetInstanceSize ()=0 |
virtual bool | CheckPointer (lldb::addr_t value, uint32_t ptr_size) const |
virtual ObjCISA | GetISA ()=0 |
virtual bool | Describe (std::function< void(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 |
lldb::TypeSP | GetType () |
void | SetType (const lldb::TypeSP &type_sp) |
virtual size_t | GetNumIVars () |
virtual iVarDescriptor | GetIVarAtIndex (size_t idx) |
Protected Member Functions | |
void | Initialize (ObjCISA isa, lldb::ProcessSP process_sp) |
![]() | |
bool | IsPointerValid (lldb::addr_t value, uint32_t ptr_size, bool allow_NULLs=false, bool allow_tagged=false, bool check_version_specific=false) const |
Private Attributes | |
ConstString | m_name |
ObjCISA | m_isa |
ObjCISA | m_parent_isa |
bool | m_valid |
lldb::ProcessWP | m_process_wp |
uint64_t | m_instance_size |
Definition at line 45 of file AppleObjCRuntimeV1.h.
AppleObjCRuntimeV1::ClassDescriptorV1::ClassDescriptorV1 | ( | ValueObject & | isa_pointer | ) |
Definition at line 170 of file AppleObjCRuntimeV1.cpp.
References lldb_private::ValueObject::GetProcessSP(), lldb_private::ValueObject::GetValueAsUnsigned(), and lldb_private::AppleObjCRuntimeV1::Initialize().
AppleObjCRuntimeV1::ClassDescriptorV1::ClassDescriptorV1 | ( | ObjCISA | isa, |
lldb::ProcessSP | process_sp | ||
) |
Definition at line 175 of file AppleObjCRuntimeV1.cpp.
References lldb_private::AppleObjCRuntimeV1::Initialize().
|
overridedefault |
|
override |
Definition at line 267 of file AppleObjCRuntimeV1.cpp.
|
inlineoverridevirtual |
Implements lldb_private::ObjCLanguageRuntime::ClassDescriptor.
Definition at line 52 of file AppleObjCRuntimeV1.h.
References m_name.
|
inlineoverridevirtual |
Implements lldb_private::ObjCLanguageRuntime::ClassDescriptor.
Definition at line 73 of file AppleObjCRuntimeV1.h.
References m_instance_size.
|
inlineoverridevirtual |
Implements lldb_private::ObjCLanguageRuntime::ClassDescriptor.
Definition at line 75 of file AppleObjCRuntimeV1.h.
References m_isa.
|
overridevirtual |
Implements lldb_private::ObjCLanguageRuntime::ClassDescriptor.
Definition at line 263 of file AppleObjCRuntimeV1.cpp.
|
overridevirtual |
Implements lldb_private::ObjCLanguageRuntime::ClassDescriptor.
Definition at line 252 of file AppleObjCRuntimeV1.cpp.
|
inlineoverridevirtual |
There are two routines in the ObjC runtime that tagged pointer clients can call to get the value from their tagged pointer, one that retrieves it as an unsigned value and one a signed value.
These two GetTaggedPointerInfo methods mirror those two ObjC runtime calls.
Implements lldb_private::ObjCLanguageRuntime::ClassDescriptor.
Definition at line 61 of file AppleObjCRuntimeV1.h.
|
inlineoverridevirtual |
Implements lldb_private::ObjCLanguageRuntime::ClassDescriptor.
Definition at line 67 of file AppleObjCRuntimeV1.h.
|
protected |
Definition at line 180 of file AppleObjCRuntimeV1.cpp.
References error().
|
inlineoverridevirtual |
Implements lldb_private::ObjCLanguageRuntime::ClassDescriptor.
Definition at line 58 of file AppleObjCRuntimeV1.h.
References m_valid.
|
private |
Definition at line 96 of file AppleObjCRuntimeV1.h.
Referenced by GetInstanceSize().
|
private |
Definition at line 92 of file AppleObjCRuntimeV1.h.
Referenced by GetISA().
|
private |
Definition at line 91 of file AppleObjCRuntimeV1.h.
Referenced by GetClassName().
|
private |
Definition at line 93 of file AppleObjCRuntimeV1.h.
|
private |
Definition at line 95 of file AppleObjCRuntimeV1.h.
|
private |
Definition at line 94 of file AppleObjCRuntimeV1.h.
Referenced by IsValid().