LLDB  mainline
OptionValue.h
Go to the documentation of this file.
1 //===-- OptionValue.h -------------------------------------------*- C++ -*-===//
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 
9 #ifndef LLDB_INTERPRETER_OPTIONVALUE_H
10 #define LLDB_INTERPRETER_OPTIONVALUE_H
11 
12 #include "lldb/Core/FormatEntity.h"
13 #include "lldb/Utility/Cloneable.h"
16 #include "lldb/Utility/Status.h"
17 #include "lldb/lldb-defines.h"
20 #include "llvm/Support/JSON.h"
21 
22 namespace lldb_private {
23 
24 // OptionValue
25 class OptionValue {
26 public:
27  enum Type {
49  };
50 
51  enum {
52  eDumpOptionName = (1u << 0),
53  eDumpOptionType = (1u << 1),
54  eDumpOptionValue = (1u << 2),
56  eDumpOptionRaw = (1u << 4),
57  eDumpOptionCommand = (1u << 5),
62  };
63 
64  OptionValue() = default;
65 
66  virtual ~OptionValue() = default;
67 
68  // Subclasses should override these functions
69  virtual Type GetType() const = 0;
70 
71  // If this value is always hidden, the avoid showing any info on this value,
72  // just show the info for the child values.
73  virtual bool ValueIsTransparent() const {
74  return GetType() == eTypeProperties;
75  }
76 
77  virtual const char *GetTypeAsCString() const {
79  }
80 
81  static const char *GetBuiltinTypeAsCString(Type t);
82 
83  virtual void DumpValue(const ExecutionContext *exe_ctx, Stream &strm,
84  uint32_t dump_mask) = 0;
85 
86  // TODO: make this function pure virtual after implementing it in all
87  // child classes.
88  virtual llvm::json::Value ToJSON(const ExecutionContext *exe_ctx) {
89  // Return nullptr which will create a llvm::json::Value() that is a NULL
90  // value. No setting should ever really have a NULL value in JSON. This
91  // indicates an error occurred and if/when we add a FromJSON() it will know
92  // to fail if someone tries to set it with a NULL JSON value.
93  return nullptr;
94  }
95 
96  virtual Status
97  SetValueFromString(llvm::StringRef value,
99 
100  virtual void Clear() = 0;
101 
102  virtual lldb::OptionValueSP
103  DeepCopy(const lldb::OptionValueSP &new_parent) const;
104 
105  virtual void AutoComplete(CommandInterpreter &interpreter,
106  CompletionRequest &request);
107 
108  // Subclasses can override these functions
109  virtual lldb::OptionValueSP GetSubValue(const ExecutionContext *exe_ctx,
110  llvm::StringRef name,
111  bool will_modify,
112  Status &error) const {
113  error.SetErrorStringWithFormat("'%s' is not a value subvalue", name.str().c_str());
114  return lldb::OptionValueSP();
115  }
116 
117  virtual Status SetSubValue(const ExecutionContext *exe_ctx,
118  VarSetOperationType op, llvm::StringRef name,
119  llvm::StringRef value);
120 
121  virtual bool IsAggregateValue() const { return false; }
122 
123  virtual ConstString GetName() const { return ConstString(); }
124 
125  virtual bool DumpQualifiedName(Stream &strm) const;
126 
127  // Subclasses should NOT override these functions as they use the above
128  // functions to implement functionality
129  uint32_t GetTypeAsMask() { return 1u << GetType(); }
130 
132  return 1u << type;
133  }
134 
136  // If only one bit is set, then return an appropriate enumeration
137  switch (type_mask) {
138  case 1u << eTypeArch:
139  return eTypeArch;
140  case 1u << eTypeArgs:
141  return eTypeArgs;
142  case 1u << eTypeArray:
143  return eTypeArray;
144  case 1u << eTypeBoolean:
145  return eTypeBoolean;
146  case 1u << eTypeChar:
147  return eTypeChar;
148  case 1u << eTypeDictionary:
149  return eTypeDictionary;
150  case 1u << eTypeEnum:
151  return eTypeEnum;
152  case 1u << eTypeFileLineColumn:
153  return eTypeFileLineColumn;
154  case 1u << eTypeFileSpec:
155  return eTypeFileSpec;
156  case 1u << eTypeFileSpecList:
157  return eTypeFileSpecList;
158  case 1u << eTypeFormat:
159  return eTypeFormat;
160  case 1u << eTypeLanguage:
161  return eTypeLanguage;
162  case 1u << eTypePathMap:
163  return eTypePathMap;
164  case 1u << eTypeProperties:
165  return eTypeProperties;
166  case 1u << eTypeRegex:
167  return eTypeRegex;
168  case 1u << eTypeSInt64:
169  return eTypeSInt64;
170  case 1u << eTypeString:
171  return eTypeString;
172  case 1u << eTypeUInt64:
173  return eTypeUInt64;
174  case 1u << eTypeUUID:
175  return eTypeUUID;
176  }
177  // Else return invalid
178  return eTypeInvalid;
179  }
180 
181  static lldb::OptionValueSP
182  CreateValueFromCStringForTypeMask(const char *value_cstr, uint32_t type_mask,
183  Status &error);
184 
185  // Get this value as a uint64_t value if it is encoded as a boolean, uint64_t
186  // or int64_t. Other types will cause "fail_value" to be returned
187  uint64_t GetUInt64Value(uint64_t fail_value, bool *success_ptr);
188 
190 
191  const OptionValueArch *GetAsArch() const;
192 
194 
195  const OptionValueArray *GetAsArray() const;
196 
198 
199  const OptionValueArgs *GetAsArgs() const;
200 
202 
204 
205  const OptionValueBoolean *GetAsBoolean() const;
206 
207  const OptionValueChar *GetAsChar() const;
208 
210 
211  const OptionValueDictionary *GetAsDictionary() const;
212 
214 
216 
218 
219  const OptionValueFileSpec *GetAsFileSpec() const;
220 
222 
224 
226 
227  const OptionValueFormat *GetAsFormat() const;
228 
230 
231  const OptionValueLanguage *GetAsLanguage() const;
232 
234 
236 
238 
239  const OptionValueProperties *GetAsProperties() const;
240 
242 
243  const OptionValueRegex *GetAsRegex() const;
244 
246 
247  const OptionValueSInt64 *GetAsSInt64() const;
248 
250 
251  const OptionValueString *GetAsString() const;
252 
254 
255  const OptionValueUInt64 *GetAsUInt64() const;
256 
258 
259  const OptionValueUUID *GetAsUUID() const;
260 
262 
264 
265  bool GetBooleanValue(bool fail_value = false) const;
266 
267  bool SetBooleanValue(bool new_value);
268 
269  char GetCharValue(char fail_value) const;
270 
271  char SetCharValue(char new_value);
272 
273  int64_t GetEnumerationValue(int64_t fail_value = -1) const;
274 
275  bool SetEnumerationValue(int64_t value);
276 
277  FileSpec GetFileSpecValue() const;
278 
279  bool SetFileSpecValue(const FileSpec &file_spec);
280 
281  FileSpecList GetFileSpecListValue() const;
282 
285 
286  bool SetFormatValue(lldb::Format new_value);
287 
290 
291  bool SetLanguageValue(lldb::LanguageType new_language);
292 
293  const FormatEntity::Entry *GetFormatEntity() const;
294 
295  const RegularExpression *GetRegexValue() const;
296 
297  int64_t GetSInt64Value(int64_t fail_value = 0) const;
298 
299  bool SetSInt64Value(int64_t new_value);
300 
301  llvm::StringRef GetStringValue(llvm::StringRef fail_value) const;
302  llvm::StringRef GetStringValue() const { return GetStringValue(llvm::StringRef()); }
303 
304  bool SetStringValue(llvm::StringRef new_value);
305 
306  uint64_t GetUInt64Value(uint64_t fail_value = 0) const;
307 
308  bool SetUInt64Value(uint64_t new_value);
309 
310  UUID GetUUIDValue() const;
311 
312  bool SetUUIDValue(const UUID &uuid);
313 
314  bool OptionWasSet() const { return m_value_was_set; }
315 
316  void SetOptionWasSet() { m_value_was_set = true; }
317 
318  void SetParent(const lldb::OptionValueSP &parent_sp) {
319  m_parent_wp = parent_sp;
320  }
321 
322  lldb::OptionValueSP GetParent() const { return m_parent_wp.lock(); }
323 
324  void SetValueChangedCallback(std::function<void()> callback) {
325  m_callback = std::move(callback);
326  }
327 
329  if (m_callback)
330  m_callback();
331  }
332 
333 protected:
335 
336  // Must be overriden by a derived class for correct downcasting the result of
337  // DeepCopy to it. Inherit from Cloneable to avoid doing this manually.
338  virtual lldb::OptionValueSP Clone() const = 0;
339 
340  lldb::OptionValueWP m_parent_wp;
341  std::function<void()> m_callback;
342  bool m_value_was_set = false; // This can be used to see if a value has been
343  // set by a call to SetValueFromCString(). It is
344  // often handy to know if an option value was
345  // set from the command line or as a setting,
346  // versus if we just have the default value that
347  // was already populated in the option value.
348 };
349 
350 } // namespace lldb_private
351 
352 #endif // LLDB_INTERPRETER_OPTIONVALUE_H
lldb_private::OptionValueArgs
Definition: OptionValueArgs.h:16
lldb_private::OptionValue::SetStringValue
bool SetStringValue(llvm::StringRef new_value)
Definition: OptionValue.cpp:415
lldb_private::OptionValue::DeepCopy
virtual lldb::OptionValueSP DeepCopy(const lldb::OptionValueSP &new_parent) const
Definition: OptionValue.cpp:570
lldb_private::UUID
Definition: UUID.h:23
lldb_private::OptionValue::GetName
virtual ConstString GetName() const
Definition: OptionValue.h:123
lldb_private::ExecutionContext
Definition: ExecutionContext.h:292
lldb_private::OptionValue::GetFormatValue
lldb::Format GetFormatValue(lldb::Format fail_value=lldb::eFormatDefault) const
Definition: OptionValue.cpp:345
lldb_private::OptionValue::GetAsDictionary
OptionValueDictionary * GetAsDictionary()
Definition: OptionValue.cpp:130
lldb_private::OptionValue::SetOptionWasSet
void SetOptionWasSet()
Definition: OptionValue.h:316
lldb_private::RegularExpression
Definition: RegularExpression.h:18
lldb_private::OptionValue::OptionWasSet
bool OptionWasSet() const
Definition: OptionValue.h:314
lldb_private::OptionValue::OptionValue
OptionValue()=default
lldb::Format
Format
Display format definitions.
Definition: lldb-enumerations.h:155
lldb-private-interfaces.h
lldb-defines.h
lldb_private::OptionValueBoolean
Definition: OptionValueBoolean.h:16
lldb_private::OptionValue::eTypeInvalid
@ eTypeInvalid
Definition: OptionValue.h:28
lldb_private::OptionValue::eTypeBoolean
@ eTypeBoolean
Definition: OptionValue.h:32
lldb_private::OptionValue::GetType
virtual Type GetType() const =0
lldb_private::OptionValue::eTypeFileSpecList
@ eTypeFileSpecList
Definition: OptionValue.h:38
lldb_private::OptionValue::eDumpGroupExport
@ eDumpGroupExport
Definition: OptionValue.h:61
lldb_private::OptionValue::GetAsChar
OptionValueChar * GetAsChar()
Definition: OptionValue.cpp:58
lldb_private::OptionValue::GetAsFormatEntity
OptionValueFormatEntity * GetAsFormatEntity()
Definition: OptionValue.cpp:178
lldb_private::OptionValue::GetFileSpecListValue
FileSpecList GetFileSpecListValue() const
Definition: OptionValue.cpp:338
lldb_private::OptionValue::eTypePathMap
@ eTypePathMap
Definition: OptionValue.h:41
lldb_private::OptionValue::GetParent
lldb::OptionValueSP GetParent() const
Definition: OptionValue.h:322
lldb_private::OptionValue::SetLanguageValue
bool SetLanguageValue(lldb::LanguageType new_language)
Definition: OptionValue.cpp:369
lldb::LanguageType
LanguageType
Programming language type.
Definition: lldb-enumerations.h:436
lldb_private::OptionValue::eTypeUInt64
@ eTypeUInt64
Definition: OptionValue.h:46
lldb_private::OptionValueArch
Definition: OptionValueArch.h:18
lldb_private::OptionValue::GetFileSpecValue
FileSpec GetFileSpecValue() const
Definition: OptionValue.cpp:322
lldb_private::OptionValue::eDumpGroupValue
@ eDumpGroupValue
Definition: OptionValue.h:58
lldb_private::OptionValue::GetUInt64Value
uint64_t GetUInt64Value(uint64_t fail_value, bool *success_ptr)
Definition: OptionValue.cpp:20
lldb_private::OptionValue::eTypeSInt64
@ eTypeSInt64
Definition: OptionValue.h:44
lldb_private::Stream
Definition: Stream.h:28
lldb_private::OptionValue::GetStringValue
llvm::StringRef GetStringValue() const
Definition: OptionValue.h:302
lldb_private::OptionValue::GetAsUUID
OptionValueUUID * GetAsUUID()
Definition: OptionValue.cpp:262
lldb_private::OptionValue::eDumpOptionRaw
@ eDumpOptionRaw
Definition: OptionValue.h:56
lldb_private::OptionValue::SetParent
void SetParent(const lldb::OptionValueSP &parent_sp)
Definition: OptionValue.h:318
lldb_private::OptionValue::GetAsFileSpecList
OptionValueFileSpecList * GetAsFileSpecList()
Definition: OptionValue.cpp:82
lldb_private::OptionValue::eDumpOptionDescription
@ eDumpOptionDescription
Definition: OptionValue.h:55
lldb_private::OptionValue::GetAsArray
OptionValueArray * GetAsArray()
Definition: OptionValue.cpp:106
lldb-private-enumerations.h
CompletionRequest.h
lldb_private::OptionValueEnumeration
Definition: OptionValueEnumeration.h:22
lldb_private::OptionValue::eTypeRegex
@ eTypeRegex
Definition: OptionValue.h:43
lldb_private::OptionValueFileSpec
Definition: OptionValueFileSpec.h:20
lldb_private::OptionValue::GetFormatEntity
const FormatEntity::Entry * GetFormatEntity() const
Definition: OptionValue.cpp:378
lldb_private::OptionValue::eDumpGroupHelp
@ eDumpGroupHelp
Definition: OptionValue.h:59
lldb_private::OptionValue::GetAsSInt64
OptionValueSInt64 * GetAsSInt64()
Definition: OptionValue.cpp:226
lldb_private::FileSpec
Definition: FileSpec.h:55
error
static llvm::raw_ostream & error(Stream &strm)
Definition: CommandReturnObject.cpp:17
lldb_private::VarSetOperationType
VarSetOperationType
Settable state variable types.
Definition: lldb-private-enumerations.h:83
lldb_private::OptionValueLanguage
Definition: OptionValueLanguage.h:18
lldb_private::OptionValue::GetAsEnumeration
OptionValueEnumeration * GetAsEnumeration()
Definition: OptionValue.cpp:142
lldb_private::OptionValue::eDumpOptionValue
@ eDumpOptionValue
Definition: OptionValue.h:54
lldb_private::OptionValue::eTypeFileSpec
@ eTypeFileSpec
Definition: OptionValue.h:37
lldb_private::OptionValue::eTypeFileLineColumn
@ eTypeFileLineColumn
Definition: OptionValue.h:36
lldb_private::OptionValue::NotifyValueChanged
void NotifyValueChanged()
Definition: OptionValue.h:328
lldb_private::OptionValue::AutoComplete
virtual void AutoComplete(CommandInterpreter &interpreter, CompletionRequest &request)
Definition: OptionValue.cpp:576
lldb_private::OptionValueFormat
Definition: OptionValueFormat.h:16
lldb_private::OptionValue::SetValueFromString
virtual Status SetValueFromString(llvm::StringRef value, VarSetOperationType op=eVarSetOperationAssign)
Definition: OptionValue.cpp:579
lldb_private::OptionValue::GetSubValue
virtual lldb::OptionValueSP GetSubValue(const ExecutionContext *exe_ctx, llvm::StringRef name, bool will_modify, Status &error) const
Definition: OptionValue.h:109
lldb_private::OptionValue::GetUUIDValue
UUID GetUUIDValue() const
Definition: OptionValue.cpp:440
Cloneable.h
lldb_private::OptionValue::SetUUIDValue
bool SetUUIDValue(const UUID &uuid)
Definition: OptionValue.cpp:447
lldb_private::OptionValueProperties
Definition: OptionValueProperties.h:23
lldb_private::OptionValue::eDumpOptionName
@ eDumpOptionName
Definition: OptionValue.h:52
lldb_private::OptionValue::GetAsArch
OptionValueArch * GetAsArch()
Definition: OptionValue.cpp:94
lldb_private::ConstString
Definition: ConstString.h:39
lldb_private::OptionValue::SetCharValue
char SetCharValue(char new_value)
Definition: OptionValue.cpp:297
lldb_private::OptionValue::GetBooleanValue
bool GetBooleanValue(bool fail_value=false) const
Definition: OptionValue.cpp:274
lldb_private::OptionValue::eDumpOptionCommand
@ eDumpOptionCommand
Definition: OptionValue.h:57
lldb_private::OptionValue::GetRegexValue
const RegularExpression * GetRegexValue() const
Definition: OptionValue.cpp:385
lldb_private::OptionValue::GetAsUInt64
OptionValueUInt64 * GetAsUInt64()
Definition: OptionValue.cpp:250
lldb_private::OptionValue::eTypeUUID
@ eTypeUUID
Definition: OptionValue.h:47
lldb_private::OptionValueUUID
Definition: OptionValueUUID.h:17
lldb_private::CommandInterpreter
Definition: CommandInterpreter.h:214
lldb_private::OptionValueSInt64
Definition: OptionValueSInt64.h:17
lldb_private::OptionValue::ConvertTypeToMask
static uint32_t ConvertTypeToMask(OptionValue::Type type)
Definition: OptionValue.h:131
lldb_private::OptionValueString
Definition: OptionValueString.h:20
lldb_private::OptionValue::SetBooleanValue
bool SetBooleanValue(bool new_value)
Definition: OptionValue.cpp:281
lldb_private::OptionValueChar
Definition: OptionValueChar.h:16
lldb_private::OptionValue::SetUInt64Value
bool SetUInt64Value(uint64_t new_value)
Definition: OptionValue.cpp:431
lldb_private::OptionValue::Clone
virtual lldb::OptionValueSP Clone() const =0
lldb_private::OptionValue::eTypeFormat
@ eTypeFormat
Definition: OptionValue.h:39
lldb_private::OptionValue::SetSubValue
virtual Status SetSubValue(const ExecutionContext *exe_ctx, VarSetOperationType op, llvm::StringRef name, llvm::StringRef value)
Definition: OptionValue.cpp:38
lldb_private::OptionValue::ConvertTypeMaskToType
static OptionValue::Type ConvertTypeMaskToType(uint32_t type_mask)
Definition: OptionValue.h:135
lldb_private::OptionValue::GetTypeAsCString
virtual const char * GetTypeAsCString() const
Definition: OptionValue.h:77
lldb_private::OptionValue::SetFormatValue
bool SetFormatValue(lldb::Format new_value)
Definition: OptionValue.cpp:352
lldb_private::OptionValue::GetTypeAsMask
uint32_t GetTypeAsMask()
Definition: OptionValue.h:129
lldb_private::OptionValue::eTypeArch
@ eTypeArch
Definition: OptionValue.h:29
lldb_private::OptionValue::eTypeArray
@ eTypeArray
Definition: OptionValue.h:31
lldb_private::OptionValue::Clear
virtual void Clear()=0
lldb_private::OptionValue::ValueIsTransparent
virtual bool ValueIsTransparent() const
Definition: OptionValue.h:73
lldb_private::Status
Definition: Status.h:44
lldb_private::OptionValue::Type
Type
Definition: OptionValue.h:27
lldb_private::OptionValue::eTypeDictionary
@ eTypeDictionary
Definition: OptionValue.h:34
lldb::eLanguageTypeUnknown
@ eLanguageTypeUnknown
Unknown or invalid language value.
Definition: lldb-enumerations.h:437
lldb_private::OptionValue::eTypeChar
@ eTypeChar
Definition: OptionValue.h:33
lldb_private::OptionValue::GetAsPathMappings
OptionValuePathMappings * GetAsPathMappings()
Definition: OptionValue.cpp:190
uint32_t
lldb_private::OptionValue::m_value_was_set
bool m_value_was_set
Definition: OptionValue.h:342
lldb_private::OptionValue::eTypeString
@ eTypeString
Definition: OptionValue.h:45
lldb_private::OptionValue::eDumpOptionType
@ eDumpOptionType
Definition: OptionValue.h:53
lldb_private::OptionValue::GetAsArgs
OptionValueArgs * GetAsArgs()
Definition: OptionValue.cpp:118
lldb_private::OptionValue::GetAsRegex
OptionValueRegex * GetAsRegex()
Definition: OptionValue.cpp:214
lldb_private::Type
Definition: Type.h:66
lldb_private::OptionValue::~OptionValue
virtual ~OptionValue()=default
lldb_private::FormatEntity::Entry
Definition: FormatEntity.h:40
lldb_private::OptionValue::SetValueChangedCallback
void SetValueChangedCallback(std::function< void()> callback)
Definition: OptionValue.h:324
FormatEntity.h
lldb_private::OptionValue::DumpValue
virtual void DumpValue(const ExecutionContext *exe_ctx, Stream &strm, uint32_t dump_mask)=0
lldb_private::OptionValue::ToJSON
virtual llvm::json::Value ToJSON(const ExecutionContext *exe_ctx)
Definition: OptionValue.h:88
lldb_private::OptionValuePathMappings
Definition: OptionValuePathMappings.h:17
lldb_private::OptionValueFileSpecList
Definition: OptionValueFileSpecList.h:19
Status.h
lldb_private::OptionValue::GetAsBoolean
OptionValueBoolean * GetAsBoolean()
Definition: OptionValue.cpp:46
lldb_private::OptionValue::GetAsString
OptionValueString * GetAsString()
Definition: OptionValue.cpp:238
lldb_private
A class that represents a running process on the host machine.
Definition: SBCommandInterpreterRunOptions.h:16
lldb_private::OptionValue::IsAggregateValue
virtual bool IsAggregateValue() const
Definition: OptionValue.h:121
lldb_private::OptionValue::GetAsProperties
OptionValueProperties * GetAsProperties()
Definition: OptionValue.cpp:202
lldb_private::OptionValueUInt64
Definition: OptionValueUInt64.h:17
lldb_private::OptionValue::GetLanguageValue
lldb::LanguageType GetLanguageValue(lldb::LanguageType fail_value=lldb::eLanguageTypeUnknown) const
Definition: OptionValue.cpp:362
lldb_private::OptionValueDictionary
Definition: OptionValueDictionary.h:19
lldb_private::OptionValueFormatEntity
Definition: OptionValueFormatEntity.h:17
ConstString.h
lldb_private::OptionValue::GetEnumerationValue
int64_t GetEnumerationValue(int64_t fail_value=-1) const
Definition: OptionValue.cpp:306
lldb_private::OptionValue::GetBuiltinTypeAsCString
static const char * GetBuiltinTypeAsCString(Type t)
Definition: OptionValue.cpp:456
lldb_private::OptionValue::SetEnumerationValue
bool SetEnumerationValue(int64_t value)
Definition: OptionValue.cpp:313
lldb_private::OptionValue::eTypeFormatEntity
@ eTypeFormatEntity
Definition: OptionValue.h:48
lldb_private::OptionValue::eTypeLanguage
@ eTypeLanguage
Definition: OptionValue.h:40
lldb_private::OptionValue
Definition: OptionValue.h:25
lldb_private::OptionValue::eTypeProperties
@ eTypeProperties
Definition: OptionValue.h:42
lldb_private::OptionValue::m_parent_wp
lldb::OptionValueWP m_parent_wp
Definition: OptionValue.h:340
lldb_private::OptionValue::CreateValueFromCStringForTypeMask
static lldb::OptionValueSP CreateValueFromCStringForTypeMask(const char *value_cstr, uint32_t type_mask, Status &error)
Definition: OptionValue.cpp:504
lldb_private::OptionValue::DumpQualifiedName
virtual bool DumpQualifiedName(Stream &strm) const
Definition: OptionValue.cpp:552
lldb_private::OptionValue::GetAsFormat
OptionValueFormat * GetAsFormat()
Definition: OptionValue.cpp:154
lldb_private::OptionValue::GetCharValue
char GetCharValue(char fail_value) const
Definition: OptionValue.cpp:290
lldb_private::OptionValue::GetSInt64Value
int64_t GetSInt64Value(int64_t fail_value=0) const
Definition: OptionValue.cpp:392
lldb_private::OptionValue::SetSInt64Value
bool SetSInt64Value(int64_t new_value)
Definition: OptionValue.cpp:399
lldb_private::OptionValue::GetAsLanguage
OptionValueLanguage * GetAsLanguage()
Definition: OptionValue.cpp:166
lldb::eFormatDefault
@ eFormatDefault
Definition: lldb-enumerations.h:156
lldb_private::OptionValue::GetAsFileSpec
OptionValueFileSpec * GetAsFileSpec()
Definition: OptionValue.cpp:70
lldb_private::OptionValue::eTypeEnum
@ eTypeEnum
Definition: OptionValue.h:35
lldb_private::OptionValue::m_callback
std::function< void()> m_callback
Definition: OptionValue.h:341
lldb_private::CompletionRequest
Definition: CompletionRequest.h:100
lldb_private::OptionValueRegex
Definition: OptionValueRegex.h:17
lldb_private::OptionValue::SetFileSpecValue
bool SetFileSpecValue(const FileSpec &file_spec)
Definition: OptionValue.cpp:329
lldb_private::eVarSetOperationAssign
@ eVarSetOperationAssign
Definition: lldb-private-enumerations.h:90
lldb_private::OptionValueArray
Definition: OptionValueArray.h:18
lldb_private::OptionValue::eTypeArgs
@ eTypeArgs
Definition: OptionValue.h:30