LLDB mainline
SymbolFileNativePDB.cpp File Reference
#include "SymbolFileNativePDB.h"
#include "Plugins/ExpressionParser/Clang/ClangUtil.h"
#include "Plugins/Language/CPlusPlus/MSVCUndecoratedNameParser.h"
#include "Plugins/ObjectFile/PDB/ObjectFilePDB.h"
#include "Plugins/SymbolFile/PDB/SymbolFilePDB.h"
#include "Plugins/TypeSystem/Clang/TypeSystemClang.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Symbol/CompileUnit.h"
#include "lldb/Symbol/LineTable.h"
#include "lldb/Symbol/ObjectFile.h"
#include "lldb/Symbol/SymbolContext.h"
#include "lldb/Symbol/SymbolVendor.h"
#include "lldb/Symbol/Variable.h"
#include "lldb/Symbol/VariableList.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "llvm/DebugInfo/CodeView/CVRecord.h"
#include "llvm/DebugInfo/CodeView/CVTypeVisitor.h"
#include "llvm/DebugInfo/CodeView/DebugLinesSubsection.h"
#include "llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h"
#include "llvm/DebugInfo/CodeView/RecordName.h"
#include "llvm/DebugInfo/CodeView/SymbolDeserializer.h"
#include "llvm/DebugInfo/CodeView/SymbolRecordHelpers.h"
#include "llvm/DebugInfo/CodeView/TypeDeserializer.h"
#include "llvm/DebugInfo/PDB/Native/DbiStream.h"
#include "llvm/DebugInfo/PDB/Native/GlobalsStream.h"
#include "llvm/DebugInfo/PDB/Native/InfoStream.h"
#include "llvm/DebugInfo/PDB/Native/ModuleDebugStream.h"
#include "llvm/DebugInfo/PDB/Native/NativeSession.h"
#include "llvm/DebugInfo/PDB/Native/PDBFile.h"
#include "llvm/DebugInfo/PDB/Native/PublicsStream.h"
#include "llvm/DebugInfo/PDB/Native/SymbolStream.h"
#include "llvm/DebugInfo/PDB/Native/TpiStream.h"
#include "llvm/DebugInfo/PDB/PDB.h"
#include "llvm/DebugInfo/PDB/PDBTypes.h"
#include "llvm/Demangle/MicrosoftDemangle.h"
#include "llvm/Object/COFF.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/BinaryStreamReader.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/ErrorOr.h"
#include "llvm/Support/MemoryBuffer.h"
#include "DWARFLocationExpression.h"
#include "PdbSymUid.h"
#include "PdbUtil.h"
#include "UdtRecordCompleter.h"
#include <optional>
#include <string_view>

Go to the source code of this file.

Functions

static lldb::LanguageType TranslateLanguage (PDB_Lang lang)
static std::unique_ptr< PDBFile > loadMatchingPDBFile (std::string exe_path, llvm::BumpPtrAllocator &allocator)
static bool IsFunctionPrologue (const CompilandIndexItem &cci, lldb::addr_t addr)
static bool IsFunctionEpilogue (const CompilandIndexItem &cci, lldb::addr_t addr)
static llvm::StringRef GetSimpleTypeName (SimpleTypeKind kind)
static bool IsClassRecord (TypeLeafKind kind)
static std::optional< CVTagRecordGetNestedTagDefinition (const NestedTypeRecord &Record, const CVTagRecord &parent, TpiStream &tpi)
static std::string GetUnqualifiedTypeName (const TagRecord &record)
static bool NeedsResolvedCompileUnit (uint32_t resolve_scope)

Function Documentation

◆ GetNestedTagDefinition()

std::optional< CVTagRecord > GetNestedTagDefinition ( const NestedTypeRecord & Record,
const CVTagRecord & parent,
TpiStream & tpi )
static

◆ GetSimpleTypeName()

llvm::StringRef GetSimpleTypeName ( SimpleTypeKind kind)
static

◆ GetUnqualifiedTypeName()

std::string GetUnqualifiedTypeName ( const TagRecord & record)
static

◆ IsClassRecord()

bool IsClassRecord ( TypeLeafKind kind)
static

◆ IsFunctionEpilogue()

bool IsFunctionEpilogue ( const CompilandIndexItem & cci,
lldb::addr_t addr )
static

◆ IsFunctionPrologue()

bool IsFunctionPrologue ( const CompilandIndexItem & cci,
lldb::addr_t addr )
static

◆ loadMatchingPDBFile()

◆ NeedsResolvedCompileUnit()

bool NeedsResolvedCompileUnit ( uint32_t resolve_scope)
static

Definition at line 1129 of file SymbolFileNativePDB.cpp.

◆ TranslateLanguage()