|
LLDB mainline
|
#include <ItaniumABIRuntime.h>
Public Member Functions | |
| ItaniumABIRuntime (Process *process) | |
| llvm::StringRef | GetName () const override |
| bool | IsVTableSymbol (Mangled &manged) const override |
| bool | GetDynamicTypeAndAddress (ValueObject &in_value, lldb::DynamicValueType use_dynamic, const LanguageRuntime::VTableInfo &vtable_info, TypeAndOrName &class_type_or_name, Address &dynamic_address) override |
| void | AppendExceptionBreakpointFunctions (std::vector< const char * > &names, bool catch_bp, bool throw_bp, bool for_expressions) override |
| void | AppendExceptionBreakpointFilterModules (FileSpecList &list, const Target &target) override |
| lldb::ValueObjectSP | GetExceptionObjectForThread (lldb::ThreadSP thread_sp) override |
| Public Member Functions inherited from lldb_private::CommonABIRuntime | |
| virtual | ~CommonABIRuntime ()=default |
Private Member Functions | |
| TypeAndOrName | GetTypeInfo (ValueObject &in_value, const LanguageRuntime::VTableInfo &vtable_info) |
Additional Inherited Members | |
| Protected Member Functions inherited from lldb_private::CommonABIRuntime | |
| 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 inherited from lldb_private::CommonABIRuntime | |
| Process * | m_process |
| std::mutex | m_mutex |
Definition at line 20 of file ItaniumABIRuntime.h.
| ItaniumABIRuntime::ItaniumABIRuntime | ( | Process * | process | ) |
Definition at line 22 of file ItaniumABIRuntime.cpp.
References lldb_private::CommonABIRuntime::CommonABIRuntime().
|
overridevirtual |
Reimplemented from lldb_private::CommonABIRuntime.
Definition at line 179 of file ItaniumABIRuntime.cpp.
References lldb_private::FileSpecList::EmplaceBack(), lldb_private::Target::GetArchitecture(), and lldb_private::ArchSpec::GetTriple().
|
overridevirtual |
Reimplemented from lldb_private::CommonABIRuntime.
Definition at line 152 of file ItaniumABIRuntime.cpp.
|
overridevirtual |
Reimplemented from lldb_private::CommonABIRuntime.
Definition at line 87 of file ItaniumABIRuntime.cpp.
References lldb_private::LanguageRuntime::VTableInfo::addr, lldb_private::ValueObject::AddrAndType::address, lldb_private::TypeSystemClang::AreTypesSame(), error(), lldb_private::TypeAndOrName::GetCompilerType(), lldb_private::ValueObject::GetCompilerType(), lldb_private::Address::GetLoadAddress(), lldb_private::ValueObject::GetPointerValue(), GetTypeInfo(), LLDB_INVALID_ADDRESS, lldb_private::CommonABIRuntime::m_process, lldb_private::Target::ReadSignedIntegerFromMemory(), and lldb_private::Address::SetRawAddress().
|
overridevirtual |
Reimplemented from lldb_private::CommonABIRuntime.
Definition at line 192 of file ItaniumABIRuntime.cpp.
References lldb_private::ValueObject::CreateValueObjectFromData(), lldb::eBasicTypeVoid, lldb::eDynamicDontRunTarget, lldb::eExpressionCompleted, lldb::eLanguageTypeC, error(), lldb::eSymbolTypeCode, lldb_private::FunctionCaller::ExecuteFunction(), lldb_private::ModuleList::FindSymbolsWithNameAndType(), lldb_private::Symbol::GetAddress(), lldb_private::formatters::InferiorSizedWord::GetAsData(), lldb_private::SymbolContextList::GetContextAtIndex(), lldb_private::ScratchTypeSystemClang::GetForTarget(), lldb_private::Value::GetScalar(), LLDB_INVALID_ADDRESS, lldb_private::CommonABIRuntime::m_process, lldb_private::EvaluateExpressionOptions::SetIgnoreBreakpoints(), lldb_private::EvaluateExpressionOptions::SetStopOthers(), lldb_private::EvaluateExpressionOptions::SetTimeout(), lldb_private::EvaluateExpressionOptions::SetTryAllThreads(), lldb_private::EvaluateExpressionOptions::SetUnwindOnError(), lldb_private::SymbolContext::symbol, and lldb_private::Scalar::ULongLong().
|
overridevirtual |
Implements lldb_private::CommonABIRuntime.
Definition at line 25 of file ItaniumABIRuntime.cpp.
|
private |
Definition at line 35 of file ItaniumABIRuntime.cpp.
References lldb_private::LanguageRuntime::VTableInfo::addr, lldb_private::ValueObject::AddrAndType::address, lldb_private::ConstString::AsCString(), lldb_private::Symbol::CalculateSymbolContextModule(), lldb_private::ConstString::GetCString(), lldb_private::Mangled::GetDemangledName(), lldb_private::CommonABIRuntime::GetDynamicTypeInfo(), lldb_private::GetLog(), lldb_private::Symbol::GetMangled(), lldb_private::ValueObject::GetPointerValue(), lldb_private::ConstString::GetStringRef(), lldb_private::ValueObject::GetTypeName(), lldb_private::Address::IsSectionOffset(), LLDB_LOGF, lldb_private::CommonABIRuntime::LookupTypeByName(), lldb_private::Object, lldb_private::CommonABIRuntime::SetDynamicTypeInfo(), lldb_private::TypeAndOrName::SetName(), lldb_private::TypeAndOrName::SetTypeSP(), lldb_private::LanguageRuntime::VTableInfo::symbol, and vtable_demangled_prefix.
Referenced by GetDynamicTypeAndAddress().
Reimplemented from lldb_private::CommonABIRuntime.
Definition at line 29 of file ItaniumABIRuntime.cpp.
References lldb_private::Mangled::GetDemangledName(), lldb_private::ConstString::GetStringRef(), and vtable_demangled_prefix.