9#ifndef LLDB_UTILITY_REGISTERVALUE_H
10#define LLDB_UTILITY_REGISTERVALUE_H
17#include "llvm/ADT/APInt.h"
18#include "llvm/ADT/SmallVector.h"
19#include "llvm/ADT/StringRef.h"
73 m_scalar = llvm::APInt(std::move(inst));
88 SetBytes(bytes.data(), bytes.size(), byte_order);
119 bool *success_ptr =
nullptr)
const {
130 uint16_t
GetAsUInt16(uint16_t fail_value = UINT16_MAX,
131 bool *success_ptr =
nullptr)
const;
134 bool *success_ptr =
nullptr)
const;
137 bool *success_ptr =
nullptr)
const;
140 bool *success_ptr =
nullptr)
const;
142 float GetAsFloat(
float fail_value = 0.0f,
bool *success_ptr =
nullptr)
const;
145 bool *success_ptr =
nullptr)
const;
148 bool *success_ptr =
nullptr)
const;
182 m_scalar = llvm::APInt(std::move(uint));
225 bool SetUInt(uint64_t uint, uint32_t byte_size);
247 llvm::StringRef value_str);
249 const char *value_str) =
delete;
static llvm::raw_ostream & error(Stream &strm)
void operator=(llvm::APInt uint)
bool operator==(const RegisterValue &rhs) const
RegisterValue::Type m_type
uint16_t GetAsUInt16(uint16_t fail_value=UINT16_MAX, bool *success_ptr=nullptr) const
bool SignExtend(uint32_t sign_bitpos)
RegisterValue(uint64_t inst)
uint32_t SetFromMemoryData(const RegisterInfo ®_info, const void *src, uint32_t src_len, lldb::ByteOrder src_byte_order, Status &error)
long double GetAsLongDouble(long double fail_value=0.0, bool *success_ptr=nullptr) const
bool GetData(DataExtractor &data) const
void SetUInt64(uint64_t uint, Type t=eTypeUInt64)
uint8_t GetAsUInt8(uint8_t fail_value=UINT8_MAX, bool *success_ptr=nullptr) const
void SetUInt16(uint16_t uint)
double GetAsDouble(double fail_value=0.0, bool *success_ptr=nullptr) const
bool ClearBit(uint32_t bit)
bool SetUInt(uint64_t uint, uint32_t byte_size)
Status SetValueFromString(const RegisterInfo *reg_info, llvm::StringRef value_str)
uint32_t GetAsMemoryData(const RegisterInfo ®_info, void *dst, uint32_t dst_len, lldb::ByteOrder dst_byte_order, Status &error) const
@ kTypicalRegisterByteSize
uint64_t GetAsUInt64(uint64_t fail_value=UINT64_MAX, bool *success_ptr=nullptr) const
float GetAsFloat(float fail_value=0.0f, bool *success_ptr=nullptr) const
void SetUInt8(uint8_t uint)
RegisterValue(double value)
void operator=(long double f)
llvm::APInt GetAsUInt128(const llvm::APInt &fail_value, bool *success_ptr=nullptr) const
struct lldb_private::RegisterValue::RegisterValueBuffer buffer
RegisterValue(uint8_t inst)
RegisterValue(float value)
void SetBytes(const void *bytes, size_t length, lldb::ByteOrder byte_order)
void operator=(uint8_t uint)
bool GetScalarValue(Scalar &scalar) const
const void * GetBytes() const
RegisterValue::Type GetType() const
void SetLongDouble(long double f)
void SetUInt128(llvm::APInt uint)
bool operator!=(const RegisterValue &rhs) const
Status SetValueFromData(const RegisterInfo ®_info, DataExtractor &data, lldb::offset_t offset, bool partial_data_ok)
void SetType(RegisterValue::Type type)
RegisterValue(llvm::APInt inst)
RegisterValue(uint32_t inst)
void operator=(uint64_t uint)
bool SetBit(uint32_t bit)
uint32_t GetAsUInt32(uint32_t fail_value=UINT32_MAX, bool *success_ptr=nullptr) const
void operator=(uint32_t uint)
RegisterValue(uint16_t inst)
bool CopyValue(const RegisterValue &rhs)
RegisterValue(long double value)
void SetUInt32(uint32_t uint, Type t=eTypeUInt32)
uint32_t GetByteSize() const
lldb::ByteOrder GetByteOrder() const
RegisterValue(llvm::ArrayRef< uint8_t > bytes, lldb::ByteOrder byte_order)
void operator=(uint16_t uint)
Status SetValueFromString(const RegisterInfo *reg_info, const char *value_str)=delete
llvm::SmallVector< uint8_t, kTypicalRegisterByteSize > BytesContainer
unsigned char UChar(unsigned char fail_value=0) const
lldb::ByteOrder InlHostByteOrder()
A class that represents a running process on the host machine.
ByteOrder
Byte ordering definitions.
Every register is described in detail including its name, alternate name (optional),...
lldb::ByteOrder byte_order