Go to the documentation of this file.
20 InfoStream::InfoStream(std::unique_ptr<BinaryStream> Stream)
21 : Stream(
std::
move(Stream)), Header(nullptr) {}
30 "PDB Stream does not contain a header."));
40 "Unsupported PDB stream version.");
44 if (
auto EC = NamedStreams.
load(Reader))
47 NamedStreamMapByteSize = NewOffset - Offset;
50 if (
auto EC = Reader.
readSubstream(SubNamedStreams, NamedStreamMapByteSize))
54 while (!Stop && !Reader.
empty()) {
79 FeatureSignatures.push_back(Sig);
88 if (!NamedStreams.
get(
Name, Result))
114 return NamedStreamMapByteSize;
120 return FeatureSignatures;
128 return SubNamedStreams;
void setOffset(uint64_t Off)
This is an optimization pass for GlobalISel generic memory operations.
static ErrorSuccess success()
Create a success value.
StringMap< uint32_t > entries() const
This represents the 'GUID' type from windows.h.
Tagged union holding either a T or a Error.
uint32_t getNamedStreamMapByteSize() const
PdbRaw_ImplVer getVersion() const
uint64_t getOffset() const
ArrayRef< PdbRaw_FeatureSig > getFeatureSignatures() const
@ PdbFeatureContainsIdStream
StringMap< uint32_t > named_streams() const
Error readSubstream(BinarySubstreamRef &Ref, uint32_t Length)
Read Length bytes from the underlying stream into Ref.
uint32_t getSignature() const
Provides read only access to a subclass of BinaryStream.
const NamedStreamMap & getNamedStreams() const
codeview::GUID getGuid() const
PdbRaw_Features getFeatures() const
Error load(BinaryStreamReader &Stream)
compiles ldr LCPI1_0 ldr ldr mov lsr tst moveq r1 ldr LCPI1_1 and r0 bx lr It would be better to do something like to fold the shift into the conditional move
bool get(StringRef Stream, uint32_t &StreamNo) const
Error joinErrors(Error E1, Error E2)
Concatenate errors.
uint32_t getStreamSize() const
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
Error readObject(const T *&Dest)
Get a pointer to an object of type T from the underlying stream, as if by memcpy, and store the resul...
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
bool containsIdStream() const
BinarySubstreamRef getNamedStreamsBuffer() const
StringRef - Represent a constant reference to a string, i.e.
#define LLVM_FALLTHROUGH
LLVM_FALLTHROUGH - Mark fallthrough cases in switch statements.
Lightweight error class with error context and mandatory checking.
Error readEnum(T &Dest)
Similar to readInteger.
Expected< uint32_t > getNamedStreamIndex(llvm::StringRef Name) const
@ PdbFeatureNoTypeMerging
@ PdbFeatureMinimalDebugInfo