#include "llvm/DebugInfo/PDB/Native/TpiStream.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h"
#include "llvm/DebugInfo/CodeView/RecordName.h"
#include "llvm/DebugInfo/CodeView/TypeRecord.h"
#include "llvm/DebugInfo/CodeView/TypeRecordHelpers.h"
#include "llvm/DebugInfo/MSF/MappedBlockStream.h"
#include "llvm/DebugInfo/PDB/Native/Hash.h"
#include "llvm/DebugInfo/PDB/Native/PDBFile.h"
#include "llvm/DebugInfo/PDB/Native/RawConstants.h"
#include "llvm/DebugInfo/PDB/Native/RawError.h"
#include "llvm/DebugInfo/PDB/Native/RawTypes.h"
#include "llvm/DebugInfo/PDB/Native/TpiHashing.h"
#include "llvm/Support/BinaryStreamReader.h"
#include "llvm/Support/Endian.h"
#include "llvm/Support/Error.h"
#include <algorithm>
#include <cstdint>
#include <vector>
usingnamespacellvm;
usingnamespacellvm::codeview;
usingnamespacellvm::support;
usingnamespacellvm::msf;
usingnamespacellvm::pdb;
TpiStream::TpiStream(PDBFile &File, std::unique_ptr<MappedBlockStream> Stream)
: … { … }
TpiStream::~TpiStream() = default;
Error TpiStream::reload() { … }
PdbRaw_TpiVer TpiStream::getTpiVersion() const { … }
uint32_t TpiStream::TypeIndexBegin() const { … }
uint32_t TpiStream::TypeIndexEnd() const { … }
uint32_t TpiStream::getNumTypeRecords() const { … }
uint16_t TpiStream::getTypeHashStreamIndex() const { … }
uint16_t TpiStream::getTypeHashStreamAuxIndex() const { … }
uint32_t TpiStream::getNumHashBuckets() const { … }
uint32_t TpiStream::getHashKeySize() const { … }
void TpiStream::buildHashMap() { … }
std::vector<TypeIndex> TpiStream::findRecordsByName(StringRef Name) const { … }
bool TpiStream::supportsTypeLookup() const { … }
Expected<TypeIndex>
TpiStream::findFullDeclForForwardRef(TypeIndex ForwardRefTI) const { … }
codeview::CVType TpiStream::getType(codeview::TypeIndex Index) { … }
BinarySubstreamRef TpiStream::getTypeRecordsSubstream() const { … }
FixedStreamArray<support::ulittle32_t> TpiStream::getHashValues() const { … }
FixedStreamArray<TypeIndexOffset> TpiStream::getTypeIndexOffsets() const { … }
HashTable<support::ulittle32_t> &TpiStream::getHashAdjusters() { … }
CVTypeRange TpiStream::types(bool *HadError) const { … }
Error TpiStream::commit() { … }