LLDB mainline
lldb_private::npdb Namespace Reference

Classes

struct  CompilandIndexItem
 Represents a single compile unit. More...
class  CompileUnitIndex
 Indexes information about all compile units. More...
struct  CVTagRecord
struct  DeclStatus
struct  MemberValLocation
class  PdbAstBuilder
struct  PdbCompilandId
struct  PdbCompilandSymId
struct  PdbFieldListMemberId
struct  PdbGlobalSymId
class  PdbIndex
 PdbIndex - Lazy access to the important parts of a PDB file. More...
class  PdbSymUid
struct  PdbTypeSymId
struct  SegmentOffset
struct  SegmentOffsetLength
struct  SymbolAndUid
class  SymbolFileNativePDB
class  UdtRecordCompleter
struct  VariableInfo

Enumerations

enum class  PdbSymUidKind : uint8_t {
  Compiland , CompilandSym , PublicSym , GlobalSym ,
  Type , FieldListMember
}

Functions

uint32_t GetLLDBRegisterNumber (llvm::Triple::ArchType arch_type, llvm::codeview::RegisterId register_id)
uint32_t GetRegisterSize (llvm::codeview::RegisterId register_id)
DWARFExpression MakeEnregisteredLocationExpression (llvm::codeview::RegisterId reg, lldb::ModuleSP module)
DWARFExpression MakeRegRelLocationExpression (llvm::codeview::RegisterId reg, int32_t offset, lldb::ModuleSP module)
DWARFExpression MakeVFrameRelLocationExpression (llvm::StringRef fpo_program, int32_t offset, lldb::ModuleSP module)
DWARFExpression MakeGlobalLocationExpression (uint16_t section, uint32_t offset, lldb::ModuleSP module)
DWARFExpression MakeConstantLocationExpression (llvm::codeview::TypeIndex underlying_ti, llvm::pdb::TpiStream &tpi, const llvm::APSInt &constant, lldb::ModuleSP module)
DWARFExpression MakeEnregisteredLocationExpressionForComposite (const std::map< uint64_t, MemberValLocation > &offset_to_location, std::map< uint64_t, size_t > &offset_to_size, size_t total_size, lldb::ModuleSP module)
bool TranslateFPOProgramToDWARFExpression (llvm::StringRef program, llvm::StringRef register_name, llvm::Triple::ArchType arch_type, lldb_private::Stream &stream)
template<typename T>
uint64_t toOpaqueUid (const T &cid)
llvm::pdb::PDB_SymType CVSymToPDBSym (llvm::codeview::SymbolKind kind)
llvm::pdb::PDB_SymType CVTypeToPDBType (llvm::codeview::TypeLeafKind kind)
bool SymbolHasAddress (const llvm::codeview::CVSymbol &sym)
bool SymbolIsCode (const llvm::codeview::CVSymbol &sym)
SegmentOffset GetSegmentAndOffset (const llvm::codeview::CVSymbol &sym)
SegmentOffsetLength GetSegmentOffsetAndLength (const llvm::codeview::CVSymbol &sym)
template<typename RecordT>
bool IsValidRecord (const RecordT &sym)
bool IsValidRecord (const llvm::codeview::ProcRefSym &sym)
bool IsForwardRefUdt (llvm::codeview::CVType cvt)
bool IsTagRecord (llvm::codeview::CVType cvt)
bool IsClassStructUnion (llvm::codeview::CVType cvt)
bool IsForwardRefUdt (const PdbTypeSymId &id, llvm::pdb::TpiStream &tpi)
bool IsTagRecord (const PdbTypeSymId &id, llvm::pdb::TpiStream &tpi)
lldb::AccessType TranslateMemberAccess (llvm::codeview::MemberAccess access)
llvm::codeview::TypeIndex GetFieldListIndex (llvm::codeview::CVType cvt)
llvm::codeview::TypeIndex LookThroughModifierRecord (llvm::codeview::CVType modifier)
llvm::StringRef DropNameScope (llvm::StringRef name)
VariableInfo GetVariableNameInfo (llvm::codeview::CVSymbol symbol)
VariableInfo GetVariableLocationInfo (PdbIndex &index, PdbCompilandSymId var_id, Block &func_block, lldb::ModuleSP module)
size_t GetTypeSizeForSimpleKind (llvm::codeview::SimpleTypeKind kind)
lldb::BasicType GetCompilerTypeForSimpleKind (llvm::codeview::SimpleTypeKind kind)
PdbTypeSymId GetBestPossibleDecl (PdbTypeSymId id, llvm::pdb::TpiStream &tpi)
size_t GetSizeOfType (PdbTypeSymId id, llvm::pdb::TpiStream &tpi)

Enumeration Type Documentation

◆ PdbSymUidKind

enum class lldb_private::npdb::PdbSymUidKind : uint8_t
strong
Enumerator
Compiland 
CompilandSym 
PublicSym 
GlobalSym 
Type 
FieldListMember 

Definition at line 30 of file PdbSymUid.h.

Function Documentation

◆ CVSymToPDBSym()

llvm::pdb::PDB_SymType lldb_private::npdb::CVSymToPDBSym ( llvm::codeview::SymbolKind kind)

◆ CVTypeToPDBType()

llvm::pdb::PDB_SymType lldb_private::npdb::CVTypeToPDBType ( llvm::codeview::TypeLeafKind kind)

◆ DropNameScope()

llvm::StringRef lldb_private::npdb::DropNameScope ( llvm::StringRef name)

◆ GetBestPossibleDecl()

PdbTypeSymId lldb_private::npdb::GetBestPossibleDecl ( PdbTypeSymId id,
llvm::pdb::TpiStream & tpi )

◆ GetCompilerTypeForSimpleKind()

lldb::BasicType lldb_private::npdb::GetCompilerTypeForSimpleKind ( llvm::codeview::SimpleTypeKind kind)

◆ GetFieldListIndex()

llvm::codeview::TypeIndex lldb_private::npdb::GetFieldListIndex ( llvm::codeview::CVType cvt)

◆ GetLLDBRegisterNumber()

◆ GetRegisterSize()

uint32_t lldb_private::npdb::GetRegisterSize ( llvm::codeview::RegisterId register_id)

Definition at line 654 of file CodeViewRegisterMapping.cpp.

Referenced by GetVariableLocationInfo().

◆ GetSegmentAndOffset()

SegmentOffset lldb_private::npdb::GetSegmentAndOffset ( const llvm::codeview::CVSymbol & sym)

◆ GetSegmentOffsetAndLength()

◆ GetSizeOfType()

size_t lldb_private::npdb::GetSizeOfType ( PdbTypeSymId id,
llvm::pdb::TpiStream & tpi )

◆ GetTypeSizeForSimpleKind()

size_t lldb_private::npdb::GetTypeSizeForSimpleKind ( llvm::codeview::SimpleTypeKind kind)

◆ GetVariableLocationInfo()

◆ GetVariableNameInfo()

VariableInfo lldb_private::npdb::GetVariableNameInfo ( llvm::codeview::CVSymbol symbol)

◆ IsClassStructUnion()

bool lldb_private::npdb::IsClassStructUnion ( llvm::codeview::CVType cvt)

Definition at line 529 of file PdbUtil.cpp.

◆ IsForwardRefUdt() [1/2]

bool lldb_private::npdb::IsForwardRefUdt ( const PdbTypeSymId & id,
llvm::pdb::TpiStream & tpi )

◆ IsForwardRefUdt() [2/2]

bool lldb_private::npdb::IsForwardRefUdt ( llvm::codeview::CVType cvt)

◆ IsTagRecord() [1/2]

bool lldb_private::npdb::IsTagRecord ( const PdbTypeSymId & id,
llvm::pdb::TpiStream & tpi )

◆ IsTagRecord() [2/2]

◆ IsValidRecord() [1/2]

bool lldb_private::npdb::IsValidRecord ( const llvm::codeview::ProcRefSym & sym)
inline

Definition at line 133 of file PdbUtil.h.

◆ IsValidRecord() [2/2]

template<typename RecordT>
bool lldb_private::npdb::IsValidRecord ( const RecordT & sym)

Definition at line 129 of file PdbUtil.h.

Referenced by lldb_private::npdb::SymbolFileNativePDB::FindFunctions().

◆ LookThroughModifierRecord()

llvm::codeview::TypeIndex lldb_private::npdb::LookThroughModifierRecord ( llvm::codeview::CVType modifier)

◆ MakeConstantLocationExpression()

DWARFExpression lldb_private::npdb::MakeConstantLocationExpression ( llvm::codeview::TypeIndex underlying_ti,
llvm::pdb::TpiStream & tpi,
const llvm::APSInt & constant,
lldb::ModuleSP module )

◆ MakeEnregisteredLocationExpression()

DWARFExpression lldb_private::npdb::MakeEnregisteredLocationExpression ( llvm::codeview::RegisterId reg,
lldb::ModuleSP module )

◆ MakeEnregisteredLocationExpressionForComposite()

DWARFExpression lldb_private::npdb::MakeEnregisteredLocationExpressionForComposite ( const std::map< uint64_t, MemberValLocation > & offset_to_location,
std::map< uint64_t, size_t > & offset_to_size,
size_t total_size,
lldb::ModuleSP module )

◆ MakeGlobalLocationExpression()

◆ MakeRegRelLocationExpression()

DWARFExpression lldb_private::npdb::MakeRegRelLocationExpression ( llvm::codeview::RegisterId reg,
int32_t offset,
lldb::ModuleSP module )

◆ MakeVFrameRelLocationExpression()

DWARFExpression lldb_private::npdb::MakeVFrameRelLocationExpression ( llvm::StringRef fpo_program,
int32_t offset,
lldb::ModuleSP module )

◆ SymbolHasAddress()

bool lldb_private::npdb::SymbolHasAddress ( const llvm::codeview::CVSymbol & sym)

◆ SymbolIsCode()

bool lldb_private::npdb::SymbolIsCode ( const llvm::codeview::CVSymbol & sym)

◆ toOpaqueUid()

template<typename T>
uint64_t lldb_private::npdb::toOpaqueUid ( const T & cid)

Definition at line 114 of file PdbSymUid.h.

References lldb_private::npdb::PdbSymUid::toOpaqueId().

Referenced by lldb_private::npdb::SymbolFileNativePDB::CreateAndCacheType(), lldb_private::npdb::SymbolFileNativePDB::CreateArrayType(), lldb_private::npdb::SymbolFileNativePDB::CreateBlock(), lldb_private::npdb::SymbolFileNativePDB::CreateClassStructUnion(), lldb_private::npdb::SymbolFileNativePDB::CreateCompileUnit(), lldb_private::npdb::SymbolFileNativePDB::CreateConstantSymbol(), lldb_private::npdb::SymbolFileNativePDB::CreateFunction(), lldb_private::npdb::PdbAstBuilder::CreateFunctionParameters(), lldb_private::npdb::SymbolFileNativePDB::CreateFunctionType(), lldb_private::npdb::SymbolFileNativePDB::CreateGlobalVariable(), lldb_private::npdb::SymbolFileNativePDB::CreateLocalVariable(), lldb_private::npdb::SymbolFileNativePDB::CreateModifierType(), lldb_private::npdb::SymbolFileNativePDB::CreatePointerType(), lldb_private::npdb::SymbolFileNativePDB::CreateProcedureType(), lldb_private::npdb::PdbAstBuilder::CreateRecordType(), lldb_private::npdb::SymbolFileNativePDB::CreateSimpleType(), lldb_private::npdb::SymbolFileNativePDB::CreateTypedef(), lldb_private::npdb::PdbAstBuilder::CreateVariableDecl(), lldb_private::npdb::SymbolFileNativePDB::FindFunctions(), lldb_private::npdb::SymbolFileNativePDB::FindGlobalVariables(), lldb_private::npdb::SymbolFileNativePDB::GetOrCreateBlock(), lldb_private::npdb::PdbAstBuilder::GetOrCreateBlockDecl(), lldb_private::npdb::SymbolFileNativePDB::GetOrCreateCompileUnit(), lldb_private::npdb::PdbAstBuilder::GetOrCreateDeclForUid(), lldb_private::npdb::SymbolFileNativePDB::GetOrCreateFunction(), lldb_private::npdb::PdbAstBuilder::GetOrCreateFunctionDecl(), lldb_private::npdb::SymbolFileNativePDB::GetOrCreateGlobalVariable(), lldb_private::npdb::PdbAstBuilder::GetOrCreateInlinedFunctionDecl(), lldb_private::npdb::SymbolFileNativePDB::GetOrCreateLocalVariable(), lldb_private::npdb::PdbAstBuilder::GetOrCreateType(), lldb_private::npdb::SymbolFileNativePDB::GetOrCreateType(), lldb_private::npdb::SymbolFileNativePDB::GetOrCreateTypedef(), lldb_private::npdb::PdbAstBuilder::GetOrCreateTypedefDecl(), lldb_private::npdb::PdbAstBuilder::ParseBlockChildren(), lldb_private::npdb::SymbolFileNativePDB::ParseBlocksRecursive(), lldb_private::npdb::SymbolFileNativePDB::ParseInlineSite(), lldb_private::npdb::SymbolFileNativePDB::ParseLineTable(), and lldb_private::npdb::PdbAstBuilder::TryGetDecl().

◆ TranslateFPOProgramToDWARFExpression()

bool lldb_private::npdb::TranslateFPOProgramToDWARFExpression ( llvm::StringRef program,
llvm::StringRef register_name,
llvm::Triple::ArchType arch_type,
lldb_private::Stream & stream )

◆ TranslateMemberAccess()

lldb::AccessType lldb_private::npdb::TranslateMemberAccess ( llvm::codeview::MemberAccess access)