180814287SRaphael Isemann //===-- DataBufferLLVM.cpp ------------------------------------------------===// 2666cc0b2SZachary Turner // 32946cd70SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 42946cd70SChandler Carruth // See https://llvm.org/LICENSE.txt for license information. 52946cd70SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6666cc0b2SZachary Turner // 7666cc0b2SZachary Turner //===----------------------------------------------------------------------===// 8666cc0b2SZachary Turner 9666cc0b2SZachary Turner #include "lldb/Utility/DataBufferLLVM.h" 10666cc0b2SZachary Turner 11666cc0b2SZachary Turner #include "llvm/Support/MemoryBuffer.h" 12666cc0b2SZachary Turner 1376e47d48SRaphael Isemann #include <cassert> 144479ac15SZachary Turner 15666cc0b2SZachary Turner using namespace lldb_private; 16666cc0b2SZachary Turner DataBufferLLVM(std::unique_ptr<llvm::MemoryBuffer> MemBuffer)17*fc54427eSJonas DevlieghereDataBufferLLVM::DataBufferLLVM(std::unique_ptr<llvm::MemoryBuffer> MemBuffer) 18666cc0b2SZachary Turner : Buffer(std::move(MemBuffer)) { 19666cc0b2SZachary Turner assert(Buffer != nullptr && 20666cc0b2SZachary Turner "Cannot construct a DataBufferLLVM with a null buffer"); 21666cc0b2SZachary Turner } 22666cc0b2SZachary Turner 23fd2433e1SJonas Devlieghere DataBufferLLVM::~DataBufferLLVM() = default; 24666cc0b2SZachary Turner GetBytesImpl() const25*fc54427eSJonas Devlieghereconst uint8_t *DataBufferLLVM::GetBytesImpl() const { 2650251fc7SPavel Labath return reinterpret_cast<const uint8_t *>(Buffer->getBufferStart()); 2750251fc7SPavel Labath } 28666cc0b2SZachary Turner GetByteSize() const29666cc0b2SZachary Turnerlldb::offset_t DataBufferLLVM::GetByteSize() const { 30666cc0b2SZachary Turner return Buffer->getBufferSize(); 31666cc0b2SZachary Turner } 32*fc54427eSJonas Devlieghere WritableDataBufferLLVM(std::unique_ptr<llvm::WritableMemoryBuffer> MemBuffer)33*fc54427eSJonas DevlieghereWritableDataBufferLLVM::WritableDataBufferLLVM( 34*fc54427eSJonas Devlieghere std::unique_ptr<llvm::WritableMemoryBuffer> MemBuffer) 35*fc54427eSJonas Devlieghere : Buffer(std::move(MemBuffer)) { 36*fc54427eSJonas Devlieghere assert(Buffer != nullptr && 37*fc54427eSJonas Devlieghere "Cannot construct a WritableDataBufferLLVM with a null buffer"); 38*fc54427eSJonas Devlieghere } 39*fc54427eSJonas Devlieghere 40*fc54427eSJonas Devlieghere WritableDataBufferLLVM::~WritableDataBufferLLVM() = default; 41*fc54427eSJonas Devlieghere GetBytesImpl() const42*fc54427eSJonas Devlieghereconst uint8_t *WritableDataBufferLLVM::GetBytesImpl() const { 43*fc54427eSJonas Devlieghere return reinterpret_cast<const uint8_t *>(Buffer->getBufferStart()); 44*fc54427eSJonas Devlieghere } 45*fc54427eSJonas Devlieghere GetByteSize() const46*fc54427eSJonas Devliegherelldb::offset_t WritableDataBufferLLVM::GetByteSize() const { 47*fc54427eSJonas Devlieghere return Buffer->getBufferSize(); 48*fc54427eSJonas Devlieghere } 49*fc54427eSJonas Devlieghere 50*fc54427eSJonas Devlieghere char DataBufferLLVM::ID; 51*fc54427eSJonas Devlieghere char WritableDataBufferLLVM::ID; 52