LLDB  mainline
Functions
SymbolFileNativePDB.cpp File Reference
#include "SymbolFileNativePDB.h"
#include "clang/AST/Attr.h"
#include "clang/AST/CharUnits.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/Type.h"
#include "Plugins/Language/CPlusPlus/MSVCUndecoratedNameParser.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Core/StreamBuffer.h"
#include "lldb/Core/StreamFile.h"
#include "lldb/Symbol/ClangASTContext.h"
#include "lldb/Symbol/ClangASTImporter.h"
#include "lldb/Symbol/ClangExternalASTSourceCommon.h"
#include "lldb/Symbol/ClangUtil.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 "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/PDBFile.h"
#include "llvm/DebugInfo/PDB/Native/SymbolStream.h"
#include "llvm/DebugInfo/PDB/Native/TpiStream.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 "PdbAstBuilder.h"
#include "PdbSymUid.h"
#include "PdbUtil.h"
#include "UdtRecordCompleter.h"

Go to the source code of this file.

Functions

static lldb::LanguageType TranslateLanguage (PDB_Lang lang)
 
static std::unique_ptr< PDBFile > loadPDBFile (std::string PdbPath, llvm::BumpPtrAllocator &Allocator)
 
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::string GetUnqualifiedTypeName (const TagRecord &record)
 
static bool NeedsResolvedCompileUnit (uint32_t resolve_scope)
 
static void AppendLineEntryToSequence (LineTable &table, LineSequence &sequence, const CompilandIndexItem &cci, lldb::addr_t base_addr, uint32_t file_number, const LineFragmentHeader &block, const LineNumberEntry &cur)
 
static void TerminateLineSequence (LineTable &table, const LineFragmentHeader &block, lldb::addr_t base_addr, uint32_t file_number, uint32_t last_line, std::unique_ptr< LineSequence > seq)
 

Function Documentation

◆ AppendLineEntryToSequence()

static void AppendLineEntryToSequence ( LineTable table,
LineSequence sequence,
const CompilandIndexItem cci,
lldb::addr_t  base_addr,
uint32_t  file_number,
const LineFragmentHeader &  block,
const LineNumberEntry &  cur 
)
static

◆ GetSimpleTypeName()

static llvm::StringRef GetSimpleTypeName ( SimpleTypeKind  kind)
static

◆ GetUnqualifiedTypeName()

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

◆ IsClassRecord()

static bool IsClassRecord ( TypeLeafKind  kind)
static

Definition at line 235 of file SymbolFileNativePDB.cpp.

Referenced by GetUnqualifiedTypeName().

◆ IsFunctionEpilogue()

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

Definition at line 162 of file SymbolFileNativePDB.cpp.

Referenced by AppendLineEntryToSequence().

◆ IsFunctionPrologue()

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

Definition at line 156 of file SymbolFileNativePDB.cpp.

Referenced by AppendLineEntryToSequence().

◆ loadMatchingPDBFile()

static std::unique_ptr<PDBFile> loadMatchingPDBFile ( std::string  exe_path,
llvm::BumpPtrAllocator &  allocator 
)
static

◆ loadPDBFile()

static std::unique_ptr<PDBFile> loadPDBFile ( std::string  PdbPath,
llvm::BumpPtrAllocator &  Allocator 
)
static

◆ NeedsResolvedCompileUnit()

static bool NeedsResolvedCompileUnit ( uint32_t  resolve_scope)
static

◆ TerminateLineSequence()

static void TerminateLineSequence ( LineTable table,
const LineFragmentHeader &  block,
lldb::addr_t  base_addr,
uint32_t  file_number,
uint32_t  last_line,
std::unique_ptr< LineSequence seq 
)
static

◆ TranslateLanguage()

static lldb::LanguageType TranslateLanguage ( PDB_Lang  lang)
static