LLVM 22.0.0git
llvm::pdb::SymbolCache Class Reference

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

Public Member Functions

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

Detailed Description

Definition at line 38 of file SymbolCache.h.

Constructor & Destructor Documentation

◆ SymbolCache()

SymbolCache::SymbolCache ( NativeSession & Session,
DbiStream * Dbi )

Definition at line 78 of file SymbolCache.cpp.

Member Function Documentation

◆ createGlobalsEnumerator()

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

Definition at line 106 of file SymbolCache.cpp.

◆ createSymbol()

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

◆ createTypeEnumerator() [1/2]

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

Definition at line 89 of file SymbolCache.cpp.

References createTypeEnumerator().

Referenced by createTypeEnumerator().

◆ createTypeEnumerator() [2/2]

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

Definition at line 94 of file SymbolCache.cpp.

References llvm::consumeError().

◆ findLineNumbersByVA()

◆ findSymbolBySectOffset()

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

◆ findSymbolByTypeIndex()

◆ getNativeSymbolById() [1/2]

NativeRawSymbol & SymbolCache::getNativeSymbolById ( SymIndexId SymbolId) const

Definition at line 263 of file SymbolCache.cpp.

Referenced by getNativeSymbolById().

◆ getNativeSymbolById() [2/2]

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

Definition at line 193 of file SymbolCache.h.

References getNativeSymbolById().

◆ getNumCompilands()

uint32_t SymbolCache::getNumCompilands ( ) const

Definition at line 267 of file SymbolCache.cpp.

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

◆ getOrCreateInlineSymbol()

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

Definition at line 300 of file SymbolCache.cpp.

References createSymbol().

◆ getOrCreateSourceFile()

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

Definition at line 629 of file SymbolCache.cpp.

References llvm::codeview::FileChecksumEntry::FileNameOffset.

Referenced by findLineNumbersByVA().

◆ getSourceFileById()

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

Definition at line 618 of file SymbolCache.cpp.

References assert(), and llvm::get().

◆ getSymbolById()

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

Definition at line 247 of file SymbolCache.cpp.

References assert(), and llvm::pdb::PDBSymbol::create().


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