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

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

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

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 func_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 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]

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 123 of file PdbUtil.h.

◆ IsValidRecord() [2/2]

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

Definition at line 119 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()

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