xref: /openbsd-src/gnu/llvm/lldb/source/Utility/DataBufferLLVM.cpp (revision f6aab3d83b51b91c24247ad2c2573574de475a82)
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*f6aab3d8Srobert DataBufferLLVM::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*f6aab3d8Srobert const uint8_t *DataBufferLLVM::GetBytesImpl() const {
26061da546Spatrick   return reinterpret_cast<const uint8_t *>(Buffer->getBufferStart());
27061da546Spatrick }
28061da546Spatrick 
GetByteSize() const29061da546Spatrick lldb::offset_t DataBufferLLVM::GetByteSize() const {
30061da546Spatrick   return Buffer->getBufferSize();
31061da546Spatrick }
32*f6aab3d8Srobert 
WritableDataBufferLLVM(std::unique_ptr<llvm::WritableMemoryBuffer> MemBuffer)33*f6aab3d8Srobert WritableDataBufferLLVM::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*f6aab3d8Srobert const uint8_t *WritableDataBufferLLVM::GetBytesImpl() const {
43*f6aab3d8Srobert   return reinterpret_cast<const uint8_t *>(Buffer->getBufferStart());
44*f6aab3d8Srobert }
45*f6aab3d8Srobert 
GetByteSize() const46*f6aab3d8Srobert lldb::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