9#ifndef LLVM_DEBUGINFO_PDB_NATIVE_DBISTREAM_H
10#define LLVM_DEBUGINFO_PDB_NATIVE_DBISTREAM_H
29class MappedBlockStream;
32struct DbiStreamHeader;
34struct SectionContrib2;
37class ISectionContribVisitor;
43 explicit DbiStream(std::unique_ptr<BinaryStream> Stream);
96 Error initializeSectionContributionData();
98 Error initializeSectionMapData();
105 std::unique_ptr<BinaryStream> Stream;
126 std::unique_ptr<msf::MappedBlockStream> SectionHeaderStream;
129 std::unique_ptr<msf::MappedBlockStream> OldFpoStream;
132 std::unique_ptr<msf::MappedBlockStream> NewFpoStream;
Lightweight arrays that are backed by an arbitrary BinaryStream.
Lightweight error class with error context and mandatory checking.
Tagged union holding either a T or a Error.
FixedStreamArray is similar to VarStreamArray, except with each record having a fixed-length.
The instances of the Type class are immutable: once they are created, they are never changed.
Expected< StringRef > getECName(uint32_t NI) const
BinarySubstreamRef getSecMapSubstreamData() const
PDB_Machine getMachineType() const
BinarySubstreamRef getFileInfoSubstreamData() const
void visitSectionContributions(ISectionContribVisitor &Visitor) const
bool isIncrementallyLinked() const
uint16_t getFlags() const
PdbRaw_DbiVer getDbiVersion() const
bool hasNewFpoRecords() const
uint16_t getBuildMajorVersion() const
FixedStreamArray< object::coff_section > getSectionHeaders() const
uint16_t getGlobalSymbolStreamIndex() const
Error reload(PDBFile *Pdb)
BinarySubstreamRef getTypeServerMapSubstreamData() const
BinarySubstreamRef getModiSubstreamData() const
const DbiStreamHeader * getHeader() const
const DbiModuleList & modules() const
uint16_t getBuildNumber() const
const codeview::DebugFrameDataSubsectionRef & getNewFpoRecords() const
uint16_t getBuildMinorVersion() const
uint32_t getDebugStreamIndex(DbgHeaderType Type) const
If the given stream type is present, returns its stream index.
FixedStreamArray< object::FpoData > getOldFpoRecords() const
uint32_t getPdbDllVersion() const
uint32_t getSymRecordStreamIndex() const
uint16_t getPublicSymbolStreamIndex() const
BinarySubstreamRef getECSubstreamData() const
uint16_t getPdbDllRbld() const
FixedStreamArray< SecMapEntry > getSectionMap() const
BinarySubstreamRef getSectionContributionData() const
bool hasOldFpoRecords() const
This is an optimization pass for GlobalISel generic memory operations.