LLDB  mainline
Classes | Enumerations | Functions
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
 
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  PdbSymUidKind : uint8_t {
  PdbSymUidKind::Compiland, PdbSymUidKind::CompilandSym, PdbSymUidKind::PublicSym, PdbSymUidKind::GlobalSym,
  PdbSymUidKind::Type, PdbSymUidKind::FieldListMember
}
 

Functions

uint32_t GetLLDBRegisterNumber (llvm::Triple::ArchType arch_type, 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)
 
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 &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 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()

uint32_t lldb_private::npdb::GetLLDBRegisterNumber ( llvm::Triple::ArchType  arch_type,
llvm::codeview::RegisterId  register_id 
)

◆ GetSegmentAndOffset()

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

◆ GetSegmentOffsetAndLength()

SegmentOffsetLength lldb_private::npdb::GetSegmentOffsetAndLength ( const llvm::codeview::CVSymbol &  sym)

◆ 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()

VariableInfo lldb_private::npdb::GetVariableLocationInfo ( PdbIndex index,
PdbCompilandSymId  var_id,
Block block,
lldb::ModuleSP  module 
)

◆ GetVariableNameInfo()

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

◆ IsClassStructUnion()

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

Definition at line 382 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]

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

◆ IsValidRecord() [1/2]

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

Definition at line 124 of file PdbUtil.h.

◆ IsValidRecord() [2/2]

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

Definition at line 120 of file PdbUtil.h.

◆ 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 
)

◆ MakeGlobalLocationExpression()

DWARFExpression lldb_private::npdb::MakeGlobalLocationExpression ( uint16_t  section,
uint32_t  offset,
lldb::ModuleSP  module 
)

◆ 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::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::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(), 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)