LLDB mainline
lldb_private::MicrosoftABIRuntime Class Reference

#include <MicrosoftABIRuntime.h>

Inheritance diagram for lldb_private::MicrosoftABIRuntime:
[legend]

Public Member Functions

 MicrosoftABIRuntime (Process *process)
llvm::StringRef GetName () 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
bool IsVTableSymbol (Mangled &mangled) const override
Public Member Functions inherited from lldb_private::CommonABIRuntime
virtual ~CommonABIRuntime ()=default
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)

Private Types

using OffsetToTopCache = std::map<Address, int64_t>

Private Member Functions

TypeAndOrName GetTypeInfo (ValueObject &in_value, const LanguageRuntime::VTableInfo &vtable_info, llvm::SmallVectorImpl< llvm::StringRef > &vtable_components)
std::optional< int64_t > GetOffsetToTop (ValueObject &in_value, TypeAndOrName &class_type_or_name, const LanguageRuntime::VTableInfo &vtable_info)
std::optional< int64_t > GetOffsetToTopFromRTTI (const LanguageRuntime::VTableInfo &vtable_info, const CompilerType &dynamic_type)
std::optional< int64_t > GetOffsetToTopFromAST (const CompilerType &in_type, ValueObject &in_value, const CompilerType &dyn_type, const LanguageRuntime::VTableInfo &vtable_info, llvm::ArrayRef< llvm::StringRef > vtable_components)

Private Attributes

OffsetToTopCache m_offset_to_top_map

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

Detailed Description

Definition at line 18 of file MicrosoftABIRuntime.h.

Member Typedef Documentation

◆ OffsetToTopCache

Definition at line 52 of file MicrosoftABIRuntime.h.

Constructor & Destructor Documentation

◆ MicrosoftABIRuntime()

MicrosoftABIRuntime::MicrosoftABIRuntime ( Process * process)

Member Function Documentation

◆ GetDynamicTypeAndAddress()

bool MicrosoftABIRuntime::GetDynamicTypeAndAddress ( ValueObject & in_value,
lldb::DynamicValueType use_dynamic,
const LanguageRuntime::VTableInfo & vtable_info,
TypeAndOrName & class_type_or_name,
Address & dynamic_address )
overridevirtual

◆ GetName()

llvm::StringRef lldb_private::MicrosoftABIRuntime::GetName ( ) const
inlineoverridevirtual

Implements lldb_private::CommonABIRuntime.

Definition at line 22 of file MicrosoftABIRuntime.h.

◆ GetOffsetToTop()

◆ GetOffsetToTopFromAST()

◆ GetOffsetToTopFromRTTI()

◆ GetTypeInfo()

◆ IsVTableSymbol()

bool MicrosoftABIRuntime::IsVTableSymbol ( Mangled & mangled) const
overridevirtual

Member Data Documentation

◆ m_offset_to_top_map

OffsetToTopCache lldb_private::MicrosoftABIRuntime::m_offset_to_top_map
private

Definition at line 54 of file MicrosoftABIRuntime.h.

Referenced by GetOffsetToTop().


The documentation for this class was generated from the following files: