LLDB mainline
MicrosoftABIRuntime.cpp File Reference
#include "MicrosoftABIRuntime.h"
#include "Plugins/TypeSystem/Clang/TypeSystemClang.h"
#include "lldb/Utility/LLDBLog.h"
#include "clang/AST/RecordLayout.h"
#include <deque>
#include <mutex>

Go to the source code of this file.

Functions

static llvm::StringRef StripDemangledVTableSuffix (llvm::StringRef demangled)
static bool SplitVTableComponents (llvm::StringRef demangled, llvm::SmallVectorImpl< llvm::StringRef > &components)
static std::optional< size_t > GetOffsetOfBaseFromAST (clang::ASTContext &ast, const clang::CXXRecordDecl *haystack, const clang::CXXRecordDecl *target_base, const llvm::ArrayRef< llvm::StringRef > checkpoints)
 Try to find the offset of target_base inside haystack while visiting all checkpoints.

Variables

static const llvm::StringRef s_vtable_demangled_indicator = "::`vftable'"
static const llvm::StringRef s_rtti_complete_object_locator_indicator

Function Documentation

◆ GetOffsetOfBaseFromAST()

std::optional< size_t > GetOffsetOfBaseFromAST ( clang::ASTContext & ast,
const clang::CXXRecordDecl * haystack,
const clang::CXXRecordDecl * target_base,
const llvm::ArrayRef< llvm::StringRef > checkpoints )
static

Try to find the offset of target_base inside haystack while visiting all checkpoints.

If this is std::nullopt, then this entry is on a path where we can't determine the offset.

Remaining checkpoints on this path.

Was target_base found on this path?

Definition at line 282 of file MicrosoftABIRuntime.cpp.

Referenced by lldb_private::MicrosoftABIRuntime::GetOffsetToTopFromAST().

◆ SplitVTableComponents()

bool SplitVTableComponents ( llvm::StringRef demangled,
llvm::SmallVectorImpl< llvm::StringRef > & components )
static

◆ StripDemangledVTableSuffix()

llvm::StringRef StripDemangledVTableSuffix ( llvm::StringRef demangled)
static

Variable Documentation

◆ s_rtti_complete_object_locator_indicator

const llvm::StringRef s_rtti_complete_object_locator_indicator
static
Initial value:
=
"::`RTTI Complete Object Locator'"

Definition at line 22 of file MicrosoftABIRuntime.cpp.

Referenced by lldb_private::MicrosoftABIRuntime::GetOffsetToTopFromRTTI().

◆ s_vtable_demangled_indicator

const llvm::StringRef s_vtable_demangled_indicator = "::`vftable'"
static