1dda28197Spatrick //===-- DataBufferLLVM.cpp ------------------------------------------------===// 2061da546Spatrick // 3061da546Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4061da546Spatrick // See https://llvm.org/LICENSE.txt for license information. 5061da546Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6061da546Spatrick // 7061da546Spatrick //===----------------------------------------------------------------------===// 8061da546Spatrick 9061da546Spatrick #include "lldb/Utility/DataBufferLLVM.h" 10061da546Spatrick 11061da546Spatrick #include "llvm/Support/MemoryBuffer.h" 12061da546Spatrick 13be691f3bSpatrick #include <cassert> 14061da546Spatrick 15061da546Spatrick using namespace lldb_private; 16061da546Spatrick DataBufferLLVM(std::unique_ptr<llvm::MemoryBuffer> MemBuffer)17*f6aab3d8SrobertDataBufferLLVM::DataBufferLLVM(std::unique_ptr<llvm::MemoryBuffer> MemBuffer) 18061da546Spatrick : Buffer(std::move(MemBuffer)) { 19061da546Spatrick assert(Buffer != nullptr && 20061da546Spatrick "Cannot construct a DataBufferLLVM with a null buffer"); 21061da546Spatrick } 22061da546Spatrick 23be691f3bSpatrick DataBufferLLVM::~DataBufferLLVM() = default; 24061da546Spatrick GetBytesImpl() const25*f6aab3d8Srobertconst uint8_t *DataBufferLLVM::GetBytesImpl() const { 26061da546Spatrick return reinterpret_cast<const uint8_t *>(Buffer->getBufferStart()); 27061da546Spatrick } 28061da546Spatrick GetByteSize() const29061da546Spatricklldb::offset_t DataBufferLLVM::GetByteSize() const { 30061da546Spatrick return Buffer->getBufferSize(); 31061da546Spatrick } 32*f6aab3d8Srobert WritableDataBufferLLVM(std::unique_ptr<llvm::WritableMemoryBuffer> MemBuffer)33*f6aab3d8SrobertWritableDataBufferLLVM::WritableDataBufferLLVM( 34*f6aab3d8Srobert std::unique_ptr<llvm::WritableMemoryBuffer> MemBuffer) 35*f6aab3d8Srobert : Buffer(std::move(MemBuffer)) { 36*f6aab3d8Srobert assert(Buffer != nullptr && 37*f6aab3d8Srobert "Cannot construct a WritableDataBufferLLVM with a null buffer"); 38*f6aab3d8Srobert } 39*f6aab3d8Srobert 40*f6aab3d8Srobert WritableDataBufferLLVM::~WritableDataBufferLLVM() = default; 41*f6aab3d8Srobert GetBytesImpl() const42*f6aab3d8Srobertconst uint8_t *WritableDataBufferLLVM::GetBytesImpl() const { 43*f6aab3d8Srobert return reinterpret_cast<const uint8_t *>(Buffer->getBufferStart()); 44*f6aab3d8Srobert } 45*f6aab3d8Srobert GetByteSize() const46*f6aab3d8Srobertlldb::offset_t WritableDataBufferLLVM::GetByteSize() const { 47*f6aab3d8Srobert return Buffer->getBufferSize(); 48*f6aab3d8Srobert } 49*f6aab3d8Srobert 50*f6aab3d8Srobert char DataBufferLLVM::ID; 51*f6aab3d8Srobert char WritableDataBufferLLVM::ID; 52