LLVM 20.0.0git
|
#include "llvm/DebugInfo/PDB/Native/SymbolCache.h"
Definition at line 37 of file SymbolCache.h.
SymbolCache::SymbolCache | ( | NativeSession & | Session, |
DbiStream * | Dbi | ||
) |
Definition at line 78 of file SymbolCache.cpp.
References llvm::pdb::DbiModuleList::getModuleCount(), and llvm::pdb::DbiStream::modules().
std::unique_ptr< IPDBEnumSymbols > SymbolCache::createGlobalsEnumerator | ( | codeview::SymbolKind | Kind | ) |
Definition at line 106 of file SymbolCache.cpp.
Referenced by llvm::pdb::NativeExeSymbol::findChildren().
|
inline |
Definition at line 127 of file SymbolCache.h.
std::unique_ptr< IPDBEnumSymbols > SymbolCache::createTypeEnumerator | ( | codeview::TypeLeafKind | Kind | ) |
Definition at line 89 of file SymbolCache.cpp.
References createTypeEnumerator().
Referenced by createTypeEnumerator(), and llvm::pdb::NativeExeSymbol::findChildren().
std::unique_ptr< IPDBEnumSymbols > SymbolCache::createTypeEnumerator | ( | std::vector< codeview::TypeLeafKind > | Kinds | ) |
Definition at line 94 of file SymbolCache.cpp.
References llvm::consumeError(), llvm::pdb::NativeSession::getPDBFile(), and llvm::pdb::PDBFile::getPDBTpiStream().
std::unique_ptr< IPDBEnumLineNumbers > SymbolCache::findLineNumbersByVA | ( | uint64_t | VA, |
uint32_t | Length | ||
) | const |
Definition at line 537 of file SymbolCache.cpp.
References llvm::pdb::NativeSession::addressForVA(), llvm::consumeError(), llvm::pdb::NativeSession::getModuleDebugStream(), getOrCreateSourceFile(), llvm::Length, llvm::pdb::LineNumbers, llvm::codeview::Lines, llvm::pdb::NativeSession::moduleIndexForVA(), llvm::partition_point(), and llvm::Expected< T >::takeError().
Referenced by llvm::pdb::NativeSession::findLineNumbersByAddress(), llvm::pdb::NativeSession::findLineNumbersByRVA(), and llvm::pdb::NativeSession::findLineNumbersBySectOffset().
std::unique_ptr< PDBSymbol > SymbolCache::findSymbolBySectOffset | ( | uint32_t | Sect, |
uint32_t | Offset, | ||
PDB_SymType | Type | ||
) |
Definition at line 314 of file SymbolCache.cpp.
References llvm::pdb::Compiland, llvm::pdb::Function, getOrCreateCompiland(), llvm::pdb::NativeSession::moduleIndexForSectOffset(), llvm::pdb::None, llvm::pdb::Offset, llvm::pdb::PublicSymbol, and Sym.
Referenced by llvm::pdb::NativeSession::findSymbolBySectOffset().
SymIndexId SymbolCache::findSymbolByTypeIndex | ( | codeview::TypeIndex | TI | ) | const |
Definition at line 158 of file SymbolCache.cpp.
References assert(), llvm::consumeError(), findSymbolByTypeIndex(), llvm::pdb::NativeSession::getPDBFile(), llvm::pdb::PDBFile::getPDBTpiStream(), llvm::codeview::isUdtForwardRef(), llvm::codeview::CVRecord< Kind >::kind(), and llvm::Expected< T >::takeError().
Referenced by findSymbolByTypeIndex(), llvm::pdb::NativeTypeArray::getArrayIndexTypeId(), llvm::pdb::NativeTypeEnum::getBuiltinType(), llvm::pdb::NativeEnumTypes::getChildAtIndex(), llvm::pdb::NativeTypePointer::getClassParentId(), llvm::pdb::NativeTypeEnum::getLength(), llvm::pdb::NativeTypeArray::getTypeId(), llvm::pdb::NativeTypeEnum::getTypeId(), llvm::pdb::NativeTypeFunctionSig::getTypeId(), llvm::pdb::NativeTypePointer::getTypeId(), llvm::pdb::NativeTypeTypedef::getTypeId(), llvm::pdb::NativeTypeUDT::getVirtualTableShapeId(), and llvm::pdb::NativeTypeFunctionSig::initialize().
NativeRawSymbol & SymbolCache::getNativeSymbolById | ( | SymIndexId | SymbolId | ) | const |
Definition at line 263 of file SymbolCache.cpp.
Referenced by llvm::pdb::NativeTypeArray::getCount(), llvm::pdb::NativeSession::getNativeGlobalScope(), getNativeSymbolById(), and llvm::pdb::NativeTypeEnum::getUnderlyingBuiltinType().
|
inline |
Definition at line 190 of file SymbolCache.h.
References getNativeSymbolById().
uint32_t SymbolCache::getNumCompilands | ( | ) | const |
Definition at line 267 of file SymbolCache.cpp.
References llvm::pdb::DbiModuleList::getModuleCount(), and llvm::pdb::DbiStream::modules().
Referenced by llvm::pdb::NativeEnumModules::getChildCount().
std::unique_ptr< PDBSymbolCompiland > SymbolCache::getOrCreateCompiland | ( | uint32_t | Index | ) |
Definition at line 601 of file SymbolCache.cpp.
References llvm::pdb::IPDBSession::getConcreteSymbolById(), llvm::pdb::DbiModuleList::getModuleDescriptor(), and llvm::pdb::DbiStream::modules().
Referenced by findSymbolBySectOffset(), and llvm::pdb::NativeEnumModules::getChildAtIndex().
|
inline |
Definition at line 157 of file SymbolCache.h.
References Index, and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::try_emplace().
SymIndexId SymbolCache::getOrCreateGlobalSymbolByOffset | ( | uint32_t | Offset | ) |
Definition at line 274 of file SymbolCache.cpp.
References assert(), llvm::cantFail(), llvm::pdb::NativeSession::getPDBFile(), llvm::pdb::PDBFile::getPDBSymbolStream(), llvm::codeview::CVRecord< Kind >::kind(), and llvm::pdb::Offset.
Referenced by llvm::pdb::NativeEnumGlobals::getChildAtIndex().
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 Sym.
Referenced by llvm::pdb::NativeFunctionSymbol::findInlineFramesByVA().
SymIndexId SymbolCache::getOrCreateSourceFile | ( | const codeview::FileChecksumEntry & | Checksum | ) | const |
Definition at line 629 of file SymbolCache.cpp.
References llvm::codeview::FileChecksumEntry::FileNameOffset.
Referenced by llvm::pdb::NativeInlineSiteSymbol::findInlineeLinesByVA(), and findLineNumbersByVA().
std::unique_ptr< IPDBSourceFile > SymbolCache::getSourceFileById | ( | SymIndexId | FileId | ) | const |
Definition at line 618 of file SymbolCache.cpp.
References assert(), and llvm::get().
Referenced by llvm::pdb::NativeInlineSiteSymbol::findInlineeLinesByVA(), and llvm::pdb::NativeSession::getSourceFileById().
std::unique_ptr< PDBSymbol > SymbolCache::getSymbolById | ( | SymIndexId | SymbolId | ) | const |
Definition at line 247 of file SymbolCache.cpp.
References assert(), and llvm::pdb::PDBSymbol::create().
Referenced by llvm::pdb::NativeEnumGlobals::getChildAtIndex(), llvm::pdb::NativeEnumSymbols::getChildAtIndex(), llvm::pdb::NativeEnumTypes::getChildAtIndex(), and llvm::pdb::NativeSession::getSymbolById().