Changeset View
Changeset View
Standalone View
Standalone View
llvm/unittests/DebugInfo/MSF/MappedBlockStreamTest.cpp
Show All 30 Lines | public: | ||||
DiscontiguousStream(ArrayRef<uint32_t> Blocks, MutableArrayRef<uint8_t> Data) | DiscontiguousStream(ArrayRef<uint32_t> Blocks, MutableArrayRef<uint8_t> Data) | ||||
: Blocks(Blocks.begin(), Blocks.end()), Data(Data.begin(), Data.end()) {} | : Blocks(Blocks.begin(), Blocks.end()), Data(Data.begin(), Data.end()) {} | ||||
uint32_t block_size() const { return 1; } | uint32_t block_size() const { return 1; } | ||||
uint32_t block_count() const { return Blocks.size(); } | uint32_t block_count() const { return Blocks.size(); } | ||||
endianness getEndian() const override { return little; } | endianness getEndian() const override { return little; } | ||||
Error readBytes(uint32_t Offset, uint32_t Size, | Error readBytes(uint64_t Offset, uint64_t Size, | ||||
ArrayRef<uint8_t> &Buffer) override { | ArrayRef<uint8_t> &Buffer) override { | ||||
if (auto EC = checkOffsetForRead(Offset, Size)) | if (auto EC = checkOffsetForRead(Offset, Size)) | ||||
return EC; | return EC; | ||||
Buffer = Data.slice(Offset, Size); | Buffer = Data.slice(Offset, Size); | ||||
return Error::success(); | return Error::success(); | ||||
} | } | ||||
Error readLongestContiguousChunk(uint32_t Offset, | Error readLongestContiguousChunk(uint64_t Offset, | ||||
ArrayRef<uint8_t> &Buffer) override { | ArrayRef<uint8_t> &Buffer) override { | ||||
if (auto EC = checkOffsetForRead(Offset, 1)) | if (auto EC = checkOffsetForRead(Offset, 1)) | ||||
return EC; | return EC; | ||||
Buffer = Data.drop_front(Offset); | Buffer = Data.drop_front(Offset); | ||||
return Error::success(); | return Error::success(); | ||||
} | } | ||||
uint32_t getLength() override { return Data.size(); } | uint64_t getLength() override { return Data.size(); } | ||||
Error writeBytes(uint32_t Offset, ArrayRef<uint8_t> SrcData) override { | Error writeBytes(uint64_t Offset, ArrayRef<uint8_t> SrcData) override { | ||||
if (auto EC = checkOffsetForWrite(Offset, SrcData.size())) | if (auto EC = checkOffsetForWrite(Offset, SrcData.size())) | ||||
return EC; | return EC; | ||||
::memcpy(&Data[Offset], SrcData.data(), SrcData.size()); | ::memcpy(&Data[Offset], SrcData.data(), SrcData.size()); | ||||
return Error::success(); | return Error::success(); | ||||
} | } | ||||
Error commit() override { return Error::success(); } | Error commit() override { return Error::success(); } | ||||
MSFStreamLayout layout() const { | MSFStreamLayout layout() const { | ||||
▲ Show 20 Lines • Show All 482 Lines • Show Last 20 Lines |