|
LLDB mainline
|
The implementation of lldb::Type's m_payload field for TypeSystemClang. More...
#include <TypeSystemClang.h>
Public Member Functions | |
| TypePayloadClang ()=default | |
| TypePayloadClang (OptionalClangModuleID owning_module, bool is_complete_objc_class=false) | |
| TypePayloadClang (clang::LangAS address_space) | |
| TypePayloadClang (uint32_t opaque_payload) | |
| operator Type::Payload () | |
| bool | IsCompleteObjCClass () |
| void | SetIsCompleteObjCClass (bool is_complete_objc_class) |
| OptionalClangModuleID | GetOwningModule () |
| void | SetOwningModule (OptionalClangModuleID id) |
Static Public Attributes | |
| static constexpr unsigned | ObjCClassBit = 1 << 31 |
Private Attributes | |
| Type::Payload | m_payload = 0 |
| The payload is used for typedefs, ptrauth types, and pointer types. | |
The implementation of lldb::Type's m_payload field for TypeSystemClang.
Definition at line 77 of file TypeSystemClang.h.
|
default |
|
explicit |
Definition at line 351 of file TypeSystemClang.cpp.
References m_payload, and SetIsCompleteObjCClass().
|
inlineexplicit |
Definition at line 92 of file TypeSystemClang.h.
References m_payload.
|
inlineexplicit |
Definition at line 94 of file TypeSystemClang.h.
References m_payload.
|
inline |
Definition at line 103 of file TypeSystemClang.h.
References m_payload, and ObjCClassBit.
|
inline |
Definition at line 98 of file TypeSystemClang.h.
References m_payload, ObjCClassBit, and lldb_private::Flags::Test().
Referenced by lldb_private::ObjCLanguageRuntime::LookupInCompleteClassCache(), and SetOwningModule().
|
inline |
Definition at line 95 of file TypeSystemClang.h.
References m_payload.
|
inline |
Definition at line 99 of file TypeSystemClang.h.
References lldb_private::Flags::Clear(), m_payload, ObjCClassBit, and lldb_private::Flags::Set().
Referenced by SetOwningModule(), and TypePayloadClang().
| void TypePayloadClang::SetOwningModule | ( | OptionalClangModuleID | id | ) |
Definition at line 357 of file TypeSystemClang.cpp.
References IsCompleteObjCClass(), m_payload, ObjCClassBit, and SetIsCompleteObjCClass().
|
private |
The payload is used for typedefs, ptrauth types, and pointer types.
For typedefs, the Layout is as follows:
/// bit 0..30 ... Owning Module ID. /// bit 31 ...... IsCompleteObjCClass. ///
For ptrauth types, we store the PointerAuthQualifier as an opaque value. For pointer types, we store the address space class of the pointee.
Definition at line 86 of file TypeSystemClang.h.
Referenced by GetOwningModule(), IsCompleteObjCClass(), operator Type::Payload(), SetIsCompleteObjCClass(), SetOwningModule(), TypePayloadClang(), TypePayloadClang(), and TypePayloadClang().
|
staticconstexpr |
Definition at line 97 of file TypeSystemClang.h.
Referenced by GetOwningModule(), IsCompleteObjCClass(), SetIsCompleteObjCClass(), and SetOwningModule().