16 using namespace llvm::msf;
23 Offset += Buffer.
size();
28 if (
auto EC = Stream.
readBytes(Offset, Size, Buffer))
108 }
while (*C !=
'\0');
138 Ref = Stream.
slice(Offset, Length);
152 auto EC = Stream.
readBytes(Offset, 1, Buffer);
153 assert(!EC &&
"Cannot peek an empty buffer!");
RefType slice(uint32_t Offset, uint32_t Len) const
Error readFixedString(StringRef &Dest, uint32_t Length)
void setOffset(uint32_t Off)
Error readZeroString(StringRef &Dest)
Error readBytes(uint32_t Offset, uint32_t Size, ArrayRef< uint8_t > &Buffer) const
size_t size() const
size - Get the array size.
Error readBytes(ArrayRef< uint8_t > &Buffer, uint32_t Size)
Error readInteger(uint8_t &Dest)
Error skip(uint32_t Amount)
Error readLongestContiguousChunk(ArrayRef< uint8_t > &Buffer)
void consumeError(Error Err)
Consume a Error without doing anything.
uint32_t getOffset() const
static ErrorSuccess success()
Create a success value.
static GCRegistry::Add< ShadowStackGC > C("shadow-stack","Very portable GC for uncooperative code generators")
Error readStreamRef(ReadableStreamRef &Ref)
uint32_t bytesRemaining() const
StreamReader(ReadableStreamRef Stream)
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
Error readLongestContiguousChunk(uint32_t Offset, ArrayRef< uint8_t > &Buffer) const
Lightweight error class with error context and mandatory checking.
StringRef - Represent a constant reference to a string, i.e.
Error readObject(const T *&Dest)