diff options
Diffstat (limited to 'llvm/lib/DebugInfo/CodeView/ByteStream.cpp')
-rw-r--r-- | llvm/lib/DebugInfo/CodeView/ByteStream.cpp | 32 |
1 files changed, 2 insertions, 30 deletions
diff --git a/llvm/lib/DebugInfo/CodeView/ByteStream.cpp b/llvm/lib/DebugInfo/CodeView/ByteStream.cpp index 1ea976b6a26..c0ac0b7a8ff 100644 --- a/llvm/lib/DebugInfo/CodeView/ByteStream.cpp +++ b/llvm/lib/DebugInfo/CodeView/ByteStream.cpp @@ -17,41 +17,13 @@ using namespace llvm::codeview; ByteStream::ByteStream() {} -ByteStream::ByteStream(MutableArrayRef<uint8_t> Data) : Data(Data) {} +ByteStream::ByteStream(ArrayRef<uint8_t> Data) : Data(Data) {} ByteStream::~ByteStream() {} -void ByteStream::reset() { - Ownership.reset(); - Data = MutableArrayRef<uint8_t>(); -} - -void ByteStream::load(uint32_t Length) { - reset(); - if (Length > 0) - Data = MutableArrayRef<uint8_t>(new uint8_t[Length], Length); - Ownership.reset(Data.data()); -} - -Error ByteStream::load(StreamReader &Reader, uint32_t Length) { - load(Length); - auto EC = Reader.readBytes(Data); - if (EC) - reset(); - return EC; -} - -Error ByteStream::readBytes(uint32_t Offset, - MutableArrayRef<uint8_t> Buffer) const { - if (Data.size() < Buffer.size() + Offset) - return make_error<CodeViewError>(cv_error_code::insufficient_buffer); - ::memcpy(Buffer.data() + Offset, Data.data(), Buffer.size()); - return Error::success(); -} - Error ByteStream::readBytes(uint32_t Offset, uint32_t Size, ArrayRef<uint8_t> &Buffer) const { - if (Data.size() < Buffer.size() + Offset) + if (Data.size() < Size + Offset) return make_error<CodeViewError>(cv_error_code::insufficient_buffer); Buffer = Data.slice(Offset, Size); return Error::success(); |