LLVM  9.0.0svn
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)
 
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)
 
template<typename ConcreteSymbolT , typename... Args>
SymIndexId getOrCreateFieldListMember (codeview::TypeIndex FieldListTI, uint32_t Index, Args &&... ConstructorArgs)
 
SymIndexId getOrCreateGlobalSymbolByOffset (uint32_t Offset)
 
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
 

Detailed Description

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

◆ createSymbol()

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

◆ createTypeEnumerator() [1/2]

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

Definition at line 74 of file SymbolCache.cpp.

Referenced by createSymbol(), and llvm::pdb::NativeExeSymbol::findChildren().

◆ createTypeEnumerator() [2/2]

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

◆ findSymbolByTypeIndex()

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

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

◆ getSymbolById()

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

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