1cfca06d7SDimitry Andric //===-- DataBufferLLVM.cpp ------------------------------------------------===// 274a628f7SDimitry Andric // 35f29bb8aSDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 45f29bb8aSDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 55f29bb8aSDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 674a628f7SDimitry Andric // 774a628f7SDimitry Andric //===----------------------------------------------------------------------===// 874a628f7SDimitry Andric 974a628f7SDimitry Andric #include "lldb/Utility/DataBufferLLVM.h" 1074a628f7SDimitry Andric 1174a628f7SDimitry Andric #include "llvm/Support/MemoryBuffer.h" 1274a628f7SDimitry Andric 13344a3780SDimitry Andric #include <cassert> 1474a628f7SDimitry Andric 1574a628f7SDimitry Andric using namespace lldb_private; 1674a628f7SDimitry Andric DataBufferLLVM(std::unique_ptr<llvm::MemoryBuffer> MemBuffer)17145449b1SDimitry AndricDataBufferLLVM::DataBufferLLVM(std::unique_ptr<llvm::MemoryBuffer> MemBuffer) 1874a628f7SDimitry Andric : Buffer(std::move(MemBuffer)) { 1974a628f7SDimitry Andric assert(Buffer != nullptr && 2074a628f7SDimitry Andric "Cannot construct a DataBufferLLVM with a null buffer"); 2174a628f7SDimitry Andric } 2274a628f7SDimitry Andric 23344a3780SDimitry Andric DataBufferLLVM::~DataBufferLLVM() = default; 2474a628f7SDimitry Andric GetBytesImpl() const25145449b1SDimitry Andricconst uint8_t *DataBufferLLVM::GetBytesImpl() const { 2623629167SDimitry Andric return reinterpret_cast<const uint8_t *>(Buffer->getBufferStart()); 2723629167SDimitry Andric } 2874a628f7SDimitry Andric GetByteSize() const2974a628f7SDimitry Andriclldb::offset_t DataBufferLLVM::GetByteSize() const { 3074a628f7SDimitry Andric return Buffer->getBufferSize(); 3174a628f7SDimitry Andric } 32145449b1SDimitry Andric WritableDataBufferLLVM(std::unique_ptr<llvm::WritableMemoryBuffer> MemBuffer)33145449b1SDimitry AndricWritableDataBufferLLVM::WritableDataBufferLLVM( 34145449b1SDimitry Andric std::unique_ptr<llvm::WritableMemoryBuffer> MemBuffer) 35145449b1SDimitry Andric : Buffer(std::move(MemBuffer)) { 36145449b1SDimitry Andric assert(Buffer != nullptr && 37145449b1SDimitry Andric "Cannot construct a WritableDataBufferLLVM with a null buffer"); 38145449b1SDimitry Andric } 39145449b1SDimitry Andric 40145449b1SDimitry Andric WritableDataBufferLLVM::~WritableDataBufferLLVM() = default; 41145449b1SDimitry Andric GetBytesImpl() const42145449b1SDimitry Andricconst uint8_t *WritableDataBufferLLVM::GetBytesImpl() const { 43145449b1SDimitry Andric return reinterpret_cast<const uint8_t *>(Buffer->getBufferStart()); 44145449b1SDimitry Andric } 45145449b1SDimitry Andric GetByteSize() const46145449b1SDimitry Andriclldb::offset_t WritableDataBufferLLVM::GetByteSize() const { 47145449b1SDimitry Andric return Buffer->getBufferSize(); 48145449b1SDimitry Andric } 49145449b1SDimitry Andric 50145449b1SDimitry Andric char DataBufferLLVM::ID; 51145449b1SDimitry Andric char WritableDataBufferLLVM::ID; 52