LLVM  14.0.0git
Classes | Public Member Functions | List of all members
llvm::pdb::SymbolCache Class Reference

#include "llvm/DebugInfo/PDB/Native/SymbolCache.h"

Public Member Functions

 SymbolCache (NativeSession &Session, DbiStream *Dbi)
 
template<typename ConcreteSymbolT , typename... Args>
SymIndexId createSymbol (Args &&...ConstructorArgs) const
 
std::unique_ptr< IPDBEnumSymbolscreateTypeEnumerator (codeview::TypeLeafKind Kind)
 
std::unique_ptr< IPDBEnumSymbolscreateTypeEnumerator (std::vector< codeview::TypeLeafKind > Kinds)
 
std::unique_ptr< IPDBEnumSymbolscreateGlobalsEnumerator (codeview::SymbolKind Kind)
 
SymIndexId findSymbolByTypeIndex (codeview::TypeIndex TI) const
 
template<typename ConcreteSymbolT , typename... Args>
SymIndexId getOrCreateFieldListMember (codeview::TypeIndex FieldListTI, uint32_t Index, Args &&... ConstructorArgs)
 
SymIndexId getOrCreateGlobalSymbolByOffset (uint32_t Offset)
 
SymIndexId getOrCreateInlineSymbol (codeview::InlineSiteSym Sym, uint64_t ParentAddr, uint16_t Modi, uint32_t RecordOffset) const
 
std::unique_ptr< PDBSymbolfindSymbolBySectOffset (uint32_t Sect, uint32_t Offset, PDB_SymType Type)
 
std::unique_ptr< IPDBEnumLineNumbersfindLineNumbersByVA (uint64_t VA, uint32_t Length) const
 
std::unique_ptr< PDBSymbolCompilandgetOrCreateCompiland (uint32_t Index)
 
uint32_t getNumCompilands () const
 
std::unique_ptr< PDBSymbolgetSymbolById (SymIndexId SymbolId) const
 
NativeRawSymbolgetNativeSymbolById (SymIndexId SymbolId) const
 
template<typename ConcreteT >
ConcreteT & getNativeSymbolById (SymIndexId SymbolId) const
 
std::unique_ptr< IPDBSourceFilegetSourceFileById (SymIndexId FileId) const
 
SymIndexId getOrCreateSourceFile (const codeview::FileChecksumEntry &Checksum) const
 

Detailed Description

Definition at line 31 of file SymbolCache.h.

Constructor & Destructor Documentation

◆ SymbolCache()

SymbolCache::SymbolCache ( NativeSession Session,
DbiStream Dbi 
)

Member Function Documentation

◆ createGlobalsEnumerator()

std::unique_ptr< IPDBEnumSymbols > SymbolCache::createGlobalsEnumerator ( codeview::SymbolKind  Kind)

Definition at line 101 of file SymbolCache.cpp.

Referenced by llvm::pdb::NativeExeSymbol::findChildren().

◆ createSymbol()

template<typename ConcreteSymbolT , typename... Args>
SymIndexId llvm::pdb::SymbolCache::createSymbol ( Args &&...  ConstructorArgs) const
inline

Definition at line 121 of file SymbolCache.h.

References move.

◆ createTypeEnumerator() [1/2]

std::unique_ptr< IPDBEnumSymbols > SymbolCache::createTypeEnumerator ( codeview::TypeLeafKind  Kind)

Definition at line 84 of file SymbolCache.cpp.

Referenced by llvm::pdb::NativeExeSymbol::findChildren().

◆ createTypeEnumerator() [2/2]

std::unique_ptr< IPDBEnumSymbols > SymbolCache::createTypeEnumerator ( std::vector< codeview::TypeLeafKind Kinds)

◆ findLineNumbersByVA()

std::unique_ptr< IPDBEnumLineNumbers > SymbolCache::findLineNumbersByVA ( uint64_t  VA,
uint32_t  Length 
) const

◆ findSymbolBySectOffset()

std::unique_ptr< PDBSymbol > SymbolCache::findSymbolBySectOffset ( uint32_t  Sect,
uint32_t  Offset,
PDB_SymType  Type 
)

◆ findSymbolByTypeIndex()

SymIndexId SymbolCache::findSymbolByTypeIndex ( codeview::TypeIndex  TI) const

◆ getNativeSymbolById() [1/2]

NativeRawSymbol & SymbolCache::getNativeSymbolById ( SymIndexId  SymbolId) const

◆ getNativeSymbolById() [2/2]

template<typename ConcreteT >
ConcreteT& llvm::pdb::SymbolCache::getNativeSymbolById ( SymIndexId  SymbolId) const
inline

Definition at line 184 of file SymbolCache.h.

References getNativeSymbolById().

◆ getNumCompilands()

uint32_t SymbolCache::getNumCompilands ( ) const

◆ getOrCreateCompiland()

std::unique_ptr< PDBSymbolCompiland > SymbolCache::getOrCreateCompiland ( uint32_t  Index)

◆ getOrCreateFieldListMember()

template<typename ConcreteSymbolT , typename... Args>
SymIndexId llvm::pdb::SymbolCache::getOrCreateFieldListMember ( codeview::TypeIndex  FieldListTI,
uint32_t  Index,
Args &&...  ConstructorArgs 
)
inline

◆ getOrCreateGlobalSymbolByOffset()

SymIndexId SymbolCache::getOrCreateGlobalSymbolByOffset ( uint32_t  Offset)

◆ getOrCreateInlineSymbol()

SymIndexId SymbolCache::getOrCreateInlineSymbol ( codeview::InlineSiteSym  Sym,
uint64_t  ParentAddr,
uint16_t  Modi,
uint32_t  RecordOffset 
) const

Definition at line 295 of file SymbolCache.cpp.

◆ getOrCreateSourceFile()

SymIndexId SymbolCache::getOrCreateSourceFile ( const codeview::FileChecksumEntry Checksum) const

◆ getSourceFileById()

std::unique_ptr< IPDBSourceFile > SymbolCache::getSourceFileById ( SymIndexId  FileId) const

◆ getSymbolById()

std::unique_ptr< PDBSymbol > SymbolCache::getSymbolById ( SymIndexId  SymbolId) const

The documentation for this class was generated from the following files: