9#ifndef LLDB_SOURCE_PLUGINS_LANGUAGERUNTIME_CPLUSPLUS_MICROSOFTABIRUNTIME_H
10#define LLDB_SOURCE_PLUGINS_LANGUAGERUNTIME_CPLUSPLUS_MICROSOFTABIRUNTIME_H
22 llvm::StringRef
GetName()
const override {
return "Microsoft ABI runtime"; }
28 Address &dynamic_address)
override;
38 std::optional<int64_t>
42 std::optional<int64_t>
46 std::optional<int64_t>
50 llvm::ArrayRef<llvm::StringRef> vtable_components);
A section + offset based address class.
CommonABIRuntime(Process *process)
Generic representation of a type in a programming language.
A class that handles mangled names.
bool GetDynamicTypeAndAddress(ValueObject &in_value, lldb::DynamicValueType use_dynamic, const LanguageRuntime::VTableInfo &vtable_info, TypeAndOrName &class_type_or_name, Address &dynamic_address) override
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)
OffsetToTopCache m_offset_to_top_map
llvm::StringRef GetName() const override
std::optional< int64_t > GetOffsetToTopFromRTTI(const LanguageRuntime::VTableInfo &vtable_info, const CompilerType &dynamic_type)
std::optional< int64_t > GetOffsetToTop(ValueObject &in_value, TypeAndOrName &class_type_or_name, const LanguageRuntime::VTableInfo &vtable_info)
bool IsVTableSymbol(Mangled &mangled) const override
std::map< Address, int64_t > OffsetToTopCache
MicrosoftABIRuntime(Process *process)
TypeAndOrName GetTypeInfo(ValueObject &in_value, const LanguageRuntime::VTableInfo &vtable_info, llvm::SmallVectorImpl< llvm::StringRef > &vtable_components)
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.