LLDB
mainline
llvm-project
lldb
include
lldb
Interpreter
OptionValueUInt64.h
Go to the documentation of this file.
1
//===-- OptionValueUInt64.h --------------------------------------*- C++
2
//-*-===//
3
//
4
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5
// See https://llvm.org/LICENSE.txt for license information.
6
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7
//
8
//===----------------------------------------------------------------------===//
9
10
#ifndef LLDB_INTERPRETER_OPTIONVALUEUINT64_H
11
#define LLDB_INTERPRETER_OPTIONVALUEUINT64_H
12
13
#include "
lldb/Interpreter/OptionValue.h
"
14
15
namespace
lldb_private
{
16
17
class
OptionValueUInt64
:
public
Cloneable
<OptionValueUInt64, OptionValue> {
18
public
:
19
OptionValueUInt64
() =
default
;
20
21
OptionValueUInt64
(uint64_t value)
22
:
m_current_value
(value),
m_default_value
(value) {}
23
24
OptionValueUInt64
(uint64_t current_value, uint64_t default_value)
25
:
m_current_value
(current_value),
m_default_value
(default_value) {}
26
27
~OptionValueUInt64
()
override
=
default
;
28
29
// Decode a uint64_t from "value_cstr" return a OptionValueUInt64 object
30
// inside of a lldb::OptionValueSP object if all goes well. If the string
31
// isn't a uint64_t value or any other error occurs, return an empty
32
// lldb::OptionValueSP and fill error in with the correct stuff.
33
static
lldb::OptionValueSP
Create
(llvm::StringRef value_str,
Status
&
error
);
34
// Virtual subclass pure virtual overrides
35
36
OptionValue::Type
GetType
()
const override
{
return
eTypeUInt64
; }
37
38
void
DumpValue
(
const
ExecutionContext
*exe_ctx,
Stream
&strm,
39
uint32_t
dump_mask)
override
;
40
41
llvm::json::Value
ToJSON
(
const
ExecutionContext
*exe_ctx)
override
{
42
return
m_current_value
;
43
}
44
45
Status
46
SetValueFromString
(llvm::StringRef value,
47
VarSetOperationType
op =
eVarSetOperationAssign
)
override
;
48
49
void
Clear
()
override
{
50
m_current_value
=
m_default_value
;
51
m_value_was_set
=
false
;
52
}
53
54
// Subclass specific functions
55
56
const
uint64_t &
operator=
(uint64_t value) {
57
m_current_value
= value;
58
return
m_current_value
;
59
}
60
61
operator
uint64_t()
const
{
return
m_current_value
; }
62
63
uint64_t
GetCurrentValue
()
const
{
return
m_current_value
; }
64
65
uint64_t
GetDefaultValue
()
const
{
return
m_default_value
; }
66
67
void
SetCurrentValue
(uint64_t value) {
m_current_value
= value; }
68
69
void
SetDefaultValue
(uint64_t value) {
m_default_value
= value; }
70
71
protected
:
72
uint64_t
m_current_value
= 0;
73
uint64_t
m_default_value
= 0;
74
};
75
76
}
// namespace lldb_private
77
78
#endif
// LLDB_INTERPRETER_OPTIONVALUEUINT64_H
error
static llvm::raw_ostream & error(Stream &strm)
Definition:
CommandReturnObject.cpp:17
OptionValue.h
lldb_private::Cloneable
A class that implements CRTP-based "virtual constructor" idiom.
Definition:
Cloneable.h:40
lldb_private::ExecutionContext
"lldb/Target/ExecutionContext.h" A class that contains an execution context.
Definition:
ExecutionContext.h:292
lldb_private::OptionValueUInt64
Definition:
OptionValueUInt64.h:17
lldb_private::OptionValueUInt64::OptionValueUInt64
OptionValueUInt64(uint64_t value)
Definition:
OptionValueUInt64.h:21
lldb_private::OptionValueUInt64::m_default_value
uint64_t m_default_value
Definition:
OptionValueUInt64.h:73
lldb_private::OptionValueUInt64::GetCurrentValue
uint64_t GetCurrentValue() const
Definition:
OptionValueUInt64.h:63
lldb_private::OptionValueUInt64::GetType
OptionValue::Type GetType() const override
Definition:
OptionValueUInt64.h:36
lldb_private::OptionValueUInt64::OptionValueUInt64
OptionValueUInt64()=default
lldb_private::OptionValueUInt64::m_current_value
uint64_t m_current_value
Definition:
OptionValueUInt64.h:72
lldb_private::OptionValueUInt64::ToJSON
llvm::json::Value ToJSON(const ExecutionContext *exe_ctx) override
Definition:
OptionValueUInt64.h:41
lldb_private::OptionValueUInt64::GetDefaultValue
uint64_t GetDefaultValue() const
Definition:
OptionValueUInt64.h:65
lldb_private::OptionValueUInt64::OptionValueUInt64
OptionValueUInt64(uint64_t current_value, uint64_t default_value)
Definition:
OptionValueUInt64.h:24
lldb_private::OptionValueUInt64::SetDefaultValue
void SetDefaultValue(uint64_t value)
Definition:
OptionValueUInt64.h:69
lldb_private::OptionValueUInt64::~OptionValueUInt64
~OptionValueUInt64() override=default
lldb_private::OptionValueUInt64::Create
static lldb::OptionValueSP Create(llvm::StringRef value_str, Status &error)
Definition:
OptionValueUInt64.cpp:16
lldb_private::OptionValueUInt64::SetValueFromString
Status SetValueFromString(llvm::StringRef value, VarSetOperationType op=eVarSetOperationAssign) override
Definition:
OptionValueUInt64.cpp:36
lldb_private::OptionValueUInt64::DumpValue
void DumpValue(const ExecutionContext *exe_ctx, Stream &strm, uint32_t dump_mask) override
Definition:
OptionValueUInt64.cpp:25
lldb_private::OptionValueUInt64::Clear
void Clear() override
Definition:
OptionValueUInt64.h:49
lldb_private::OptionValueUInt64::SetCurrentValue
void SetCurrentValue(uint64_t value)
Definition:
OptionValueUInt64.h:67
lldb_private::OptionValueUInt64::operator=
const uint64_t & operator=(uint64_t value)
Definition:
OptionValueUInt64.h:56
lldb_private::OptionValue::m_value_was_set
bool m_value_was_set
Definition:
OptionValue.h:342
lldb_private::OptionValue::Type
Type
Definition:
OptionValue.h:27
lldb_private::OptionValue::eTypeUInt64
@ eTypeUInt64
Definition:
OptionValue.h:46
lldb_private::Status
An error handling class.
Definition:
Status.h:44
lldb_private::Stream
A stream class that can stream formatted output to a file.
Definition:
Stream.h:28
uint32_t
lldb_private
A class that represents a running process on the host machine.
Definition:
SBCommandInterpreterRunOptions.h:16
lldb_private::VarSetOperationType
VarSetOperationType
Settable state variable types.
Definition:
lldb-private-enumerations.h:83
lldb_private::eVarSetOperationAssign
@ eVarSetOperationAssign
Definition:
lldb-private-enumerations.h:90
Generated on Sat Feb 4 2023 22:03:54 for LLDB by
1.9.6