9#ifndef LLDB_SOURCE_PLUGINS_LANGUAGERUNTIME_CPLUSPLUS_COMMONABIRUNTIME_H
10#define LLDB_SOURCE_PLUGINS_LANGUAGERUNTIME_CPLUSPLUS_COMMONABIRUNTIME_H
25 virtual llvm::StringRef
GetName()
const = 0;
38 bool catch_bp,
bool throw_bp,
39 bool for_expressions) {}
59 bool &any_found)
const;
A section + offset based address class.
virtual void AppendExceptionBreakpointFilterModules(FileSpecList &list, const Target &target)
std::map< Address, TypeAndOrName > DynamicTypeCache
virtual bool IsVTableSymbol(Mangled &mangled) const
CommonABIRuntime(Process *process)
void SetDynamicTypeInfo(const lldb_private::Address &vtable_addr, const TypeAndOrName &type_info)
virtual bool GetDynamicTypeAndAddress(ValueObject &in_value, lldb::DynamicValueType use_dynamic, const LanguageRuntime::VTableInfo &vtable_info, TypeAndOrName &class_type_or_name, Address &dynamic_address)
virtual lldb::ValueObjectSP GetExceptionObjectForThread(lldb::ThreadSP thread_sp)
virtual ~CommonABIRuntime()=default
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.
virtual llvm::StringRef GetName() const =0
virtual void AppendExceptionBreakpointFunctions(std::vector< const char * > &names, bool catch_bp, bool throw_bp, bool for_expressions)
DynamicTypeCache m_dynamic_type_map
TypeAndOrName GetDynamicTypeInfo(const lldb_private::Address &vtable_addr)
A class that handles mangled names.
A plug-in interface definition class for debugging a process.
Sometimes you can find the name of the type corresponding to an object, but we don't have debug infor...
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::Thread > ThreadSP
std::shared_ptr< lldb_private::ValueObject > ValueObjectSP
std::shared_ptr< lldb_private::Type > TypeSP
std::shared_ptr< lldb_private::Module > ModuleSP