|
LLDB mainline
|
#include <CommonABIRuntime.h>
Public Member Functions | |
| virtual | ~CommonABIRuntime ()=default |
| virtual llvm::StringRef | GetName () const =0 |
| virtual bool | IsVTableSymbol (Mangled &mangled) const |
| virtual bool | GetDynamicTypeAndAddress (ValueObject &in_value, lldb::DynamicValueType use_dynamic, const LanguageRuntime::VTableInfo &vtable_info, TypeAndOrName &class_type_or_name, Address &dynamic_address) |
| virtual void | AppendExceptionBreakpointFunctions (std::vector< const char * > &names, bool catch_bp, bool throw_bp, bool for_expressions) |
| virtual void | AppendExceptionBreakpointFilterModules (FileSpecList &list, const Target &target) |
| virtual lldb::ValueObjectSP | GetExceptionObjectForThread (lldb::ThreadSP thread_sp) |
Protected Member Functions | |
| CommonABIRuntime (Process *process) | |
| lldb::TypeSP | LookupTypeByName (llvm::StringRef type_name, lldb::ModuleSP preferred_module, bool &any_found) const |
| Find a type by its name, preferably in preferred_module. | |
| TypeAndOrName | GetDynamicTypeInfo (const lldb_private::Address &vtable_addr) |
| void | SetDynamicTypeInfo (const lldb_private::Address &vtable_addr, const TypeAndOrName &type_info) |
Protected Attributes | |
| Process * | m_process |
| std::mutex | m_mutex |
Private Types | |
| using | DynamicTypeCache = std::map<Address, TypeAndOrName> |
Private Attributes | |
| DynamicTypeCache | m_dynamic_type_map |
Definition at line 21 of file CommonABIRuntime.h.
|
private |
Definition at line 71 of file CommonABIRuntime.h.
|
virtualdefault |
|
protected |
Definition at line 18 of file CommonABIRuntime.cpp.
References m_process.
Referenced by lldb_private::ItaniumABIRuntime::ItaniumABIRuntime(), and lldb_private::MicrosoftABIRuntime::MicrosoftABIRuntime().
|
inlinevirtual |
Reimplemented in lldb_private::ItaniumABIRuntime.
Definition at line 41 of file CommonABIRuntime.h.
|
inlinevirtual |
Reimplemented in lldb_private::ItaniumABIRuntime.
Definition at line 37 of file CommonABIRuntime.h.
|
inlinevirtual |
Reimplemented in lldb_private::ItaniumABIRuntime, and lldb_private::MicrosoftABIRuntime.
Definition at line 29 of file CommonABIRuntime.h.
|
protected |
Definition at line 103 of file CommonABIRuntime.cpp.
References m_dynamic_type_map, and m_mutex.
Referenced by lldb_private::ItaniumABIRuntime::GetTypeInfo(), and lldb_private::MicrosoftABIRuntime::GetTypeInfo().
|
inlinevirtual |
Reimplemented in lldb_private::ItaniumABIRuntime.
Definition at line 45 of file CommonABIRuntime.h.
|
pure virtual |
Implemented in lldb_private::ItaniumABIRuntime, and lldb_private::MicrosoftABIRuntime.
|
inlinevirtual |
Reimplemented in lldb_private::ItaniumABIRuntime, and lldb_private::MicrosoftABIRuntime.
Definition at line 27 of file CommonABIRuntime.h.
|
protected |
Find a type by its name, preferably in preferred_module.
any_found will be set to true if any type with the name is found. Even if a type with the name was found, this function may return an empty TypeSP if the type is not a C++ type.
Definition at line 20 of file CommonABIRuntime.cpp.
References lldb_private::TypeList::Empty(), lldb_private::TypeResults::GetFirstType(), lldb_private::GetLog(), lldb_private::TypeList::GetSize(), lldb_private::ConstString::GetStringRef(), lldb_private::TypeList::GetTypeAtIndex(), lldb_private::TypeResults::GetTypeMap(), lldb_private::TypeList::Insert(), lldb_private::TypeSystemClang::IsCXXClassType(), LLDB_LOG, m_process, lldb_private::Object, lldb_private::TypeQuery::SetFindOne(), and lldb_private::TypeMap::Types().
Referenced by lldb_private::ItaniumABIRuntime::FindTypeInfoWithDemangling(), and lldb_private::MicrosoftABIRuntime::GetTypeInfo().
|
protected |
Definition at line 112 of file CommonABIRuntime.cpp.
References m_dynamic_type_map, and m_mutex.
Referenced by lldb_private::ItaniumABIRuntime::GetTypeInfo(), and lldb_private::MicrosoftABIRuntime::GetTypeInfo().
|
private |
Definition at line 73 of file CommonABIRuntime.h.
Referenced by GetDynamicTypeInfo(), and SetDynamicTypeInfo().
|
protected |
Definition at line 68 of file CommonABIRuntime.h.
Referenced by GetDynamicTypeInfo(), lldb_private::MicrosoftABIRuntime::GetOffsetToTop(), and SetDynamicTypeInfo().
|
protected |
Definition at line 67 of file CommonABIRuntime.h.
Referenced by CommonABIRuntime(), lldb_private::ItaniumABIRuntime::FindTypeInfoWithClangVTable(), lldb_private::ItaniumABIRuntime::GetDynamicTypeAndAddress(), lldb_private::MicrosoftABIRuntime::GetDynamicTypeAndAddress(), lldb_private::ItaniumABIRuntime::GetExceptionObjectForThread(), lldb_private::MicrosoftABIRuntime::GetOffsetToTopFromRTTI(), and LookupTypeByName().