LLDB mainline
OptionValueSInt64.cpp
Go to the documentation of this file.
1//===-- OptionValueSInt64.cpp ---------------------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
10
12#include "lldb/Utility/Stream.h"
13
14using namespace lldb;
15using namespace lldb_private;
16
18 uint32_t dump_mask) {
19 // printf ("%p: DumpValue (exe_ctx=%p, strm, mask) m_current_value = %"
20 // PRIi64
21 // "\n", this, exe_ctx, m_current_value);
22 if (dump_mask & eDumpOptionType)
23 strm.Printf("(%s)", GetTypeAsCString());
24 // if (dump_mask & eDumpOptionName)
25 // DumpQualifiedName (strm);
26 if (dump_mask & eDumpOptionValue) {
27 if (dump_mask & eDumpOptionType)
28 strm.PutCString(" = ");
29 strm.Printf("%" PRIi64, m_current_value);
30 if (dump_mask & eDumpOptionDefaultValue &&
32 DefaultValueFormat label(strm);
33 strm.Printf("%" PRIi64, m_default_value);
34 }
35 }
36}
37
41 switch (op) {
43 Clear();
45 break;
46
49 llvm::StringRef value_trimmed = value_ref.trim();
50 int64_t value;
51 if (llvm::to_integer(value_trimmed, value)) {
52 if (value >= m_min_value && value <= m_max_value) {
53 m_value_was_set = true;
54 m_current_value = value;
56 } else
58 "%" PRIi64 " is out of range, valid values must be between %" PRIi64
59 " and %" PRIi64 ".",
60 value, m_min_value, m_max_value);
61 } else {
63 "invalid int64_t string value: '%s'", value_ref.str().c_str());
64 }
65 } break;
66
73 break;
74 }
75 return error;
76}
static llvm::raw_ostream & error(Stream &strm)
"lldb/Target/ExecutionContext.h" A class that contains an execution context.
void DumpValue(const ExecutionContext *exe_ctx, Stream &strm, uint32_t dump_mask) override
Status SetValueFromString(llvm::StringRef value, VarSetOperationType op=eVarSetOperationAssign) override
virtual Status SetValueFromString(llvm::StringRef value, VarSetOperationType op=eVarSetOperationAssign)
virtual const char * GetTypeAsCString() const
Definition OptionValue.h:89
An error handling class.
Definition Status.h:118
static Status FromErrorStringWithFormat(const char *format,...) __attribute__((format(printf
Definition Status.cpp:106
A stream class that can stream formatted output to a file.
Definition Stream.h:28
size_t Printf(const char *format,...) __attribute__((format(printf
Output printf formatted output to the stream.
Definition Stream.cpp:134
size_t PutCString(llvm::StringRef cstr)
Output a C string to the stream.
Definition Stream.cpp:65
A class that represents a running process on the host machine.
VarSetOperationType
Settable state variable types.