19 std::lock_guard<std::mutex> lock(other.
m_mutex);
28 std::scoped_lock<std::mutex, std::mutex> lock(
m_mutex, other.
m_mutex);
39 llvm::StringRef value) {
272 std::lock_guard<std::mutex> lock(
m_mutex);
274 return option_value->GetCurrentValue();
279 std::lock_guard<std::mutex> lock(
m_mutex);
281 option_value->SetCurrentValue(new_value);
288 std::lock_guard<std::mutex> lock(
m_mutex);
290 return option_value->GetCurrentValue();
295 std::lock_guard<std::mutex> lock(
m_mutex);
297 option_value->SetCurrentValue(new_value);
304 std::lock_guard<std::mutex> lock(
m_mutex);
306 return option_value->GetCurrentValue();
311 std::lock_guard<std::mutex> lock(
m_mutex);
313 option_value->SetCurrentValue(value);
320 std::lock_guard<std::mutex> lock(
m_mutex);
322 return option_value->GetCurrentValue();
327 std::lock_guard<std::mutex> lock(
m_mutex);
329 option_value->SetCurrentValue(file_spec,
false);
336 std::lock_guard<std::mutex> lock(
m_mutex);
338 option_value->AppendCurrentValue(file_spec);
345 std::lock_guard<std::mutex> lock(
m_mutex);
347 return option_value->GetCurrentValue();
352 std::lock_guard<std::mutex> lock(
m_mutex);
354 return option_value->GetCurrentValue();
359 std::lock_guard<std::mutex> lock(
m_mutex);
361 option_value->SetCurrentValue(new_value);
368 std::lock_guard<std::mutex> lock(
m_mutex);
370 return option_value->GetCurrentValue();
375 std::lock_guard<std::mutex> lock(
m_mutex);
377 option_value->SetCurrentValue(new_language);
384 std::lock_guard<std::mutex> lock(
m_mutex);
386 return &option_value->GetCurrentValue();
391 std::lock_guard<std::mutex> lock(
m_mutex);
393 return option_value->GetCurrentValue();
398 std::lock_guard<std::mutex> lock(
m_mutex);
400 return option_value->GetCurrentValue();
405 std::lock_guard<std::mutex> lock(
m_mutex);
407 option_value->SetCurrentValue(new_value);
414 std::lock_guard<std::mutex> lock(
m_mutex);
416 return option_value->GetCurrentValueAsRef();
421 std::lock_guard<std::mutex> lock(
m_mutex);
423 option_value->SetCurrentValue(new_value);
430 std::lock_guard<std::mutex> lock(
m_mutex);
432 return option_value->GetCurrentValue();
437 std::lock_guard<std::mutex> lock(
m_mutex);
439 option_value->SetCurrentValue(new_value);
446 std::lock_guard<std::mutex> lock(
m_mutex);
448 return option_value->GetCurrentValue();
453 std::lock_guard<std::mutex> lock(
m_mutex);
455 option_value->SetCurrentValue(uuid);
462 std::lock_guard<std::mutex> lock(
m_mutex);
464 return option_value->GetCurrentValue();
469 std::lock_guard<std::mutex> lock(
m_mutex);
471 option_value->SetCurrentValue(arch_spec,
false);
496 return "file:line:column specifier";
504 return "format-string";
526 const char *value_cstr, uint32_t type_mask,
Status &
error) {
532 value_sp = std::make_shared<OptionValueArch>();
535 value_sp = std::make_shared<OptionValueBoolean>(
false);
538 value_sp = std::make_shared<OptionValueChar>(
'\0');
541 value_sp = std::make_shared<OptionValueFileSpec>();
547 value_sp = std::make_shared<OptionValueFormatEntity>(
nullptr);
553 value_sp = std::make_shared<OptionValueSInt64>();
556 value_sp = std::make_shared<OptionValueString>();
559 value_sp = std::make_shared<OptionValueUInt64>();
562 value_sp = std::make_shared<OptionValueUUID>();
574 bool dumped_something =
false;
577 if (m_parent_sp->DumpQualifiedName(strm))
578 dumped_something =
true;
580 llvm::StringRef name(
GetName());
582 if (dumped_something)
585 dumped_something =
true;
588 return dumped_something;
593 clone->SetParent(new_parent);
606 "%s objects do not support the 'replace' operation",
611 "%s objects do not support the 'insert-before' operation",
616 "%s objects do not support the 'insert-after' operation",
static llvm::raw_ostream & error(Stream &strm)
An architecture specification class.
"lldb/Utility/ArgCompletionRequest.h"
"lldb/Target/ExecutionContext.h" A class that contains an execution context.
virtual bool DumpQualifiedName(Stream &strm) const
std::optional< char > GetCharValue() const
std::optional< FileSpecList > GetFileSpecListValue() const
bool SetArchSpecValue(ArchSpec arch_spec)
std::optional< ArchSpec > GetArchSpecValue() const
OptionValueDictionary * GetAsDictionary()
virtual Status SetValueFromString(llvm::StringRef value, VarSetOperationType op=eVarSetOperationAssign)
OptionValueSInt64 * GetAsSInt64()
std::optional< FileSpec > GetFileSpecValue() const
static lldb::OptionValueSP CreateValueFromCStringForTypeMask(const char *value_cstr, uint32_t type_mask, Status &error)
std::optional< uint64_t > GetUInt64Value() const
bool SetFileSpecValue(FileSpec file_spec)
virtual lldb::OptionValueSP Clone() const =0
virtual Type GetType() const =0
lldb::OptionValueWP m_parent_wp
OptionValueFileSpecList * GetAsFileSpecList()
OptionValueRegex * GetAsRegex()
OptionValueUInt64 * GetAsUInt64()
OptionValue & operator=(const OptionValue &other)
OptionValueFormatEntity * GetAsFormatEntity()
bool SetCharValue(char new_value)
OptionValuePathMappings * GetAsPathMappings()
virtual void AutoComplete(CommandInterpreter &interpreter, CompletionRequest &request)
OptionValueProperties * GetAsProperties()
OptionValueEnumeration * GetAsEnumeration()
virtual lldb::OptionValueSP DeepCopy(const lldb::OptionValueSP &new_parent) const
static const char * GetBuiltinTypeAsCString(Type t)
OptionValueFormat * GetAsFormat()
OptionValueArgs * GetAsArgs()
virtual const char * GetTypeAsCString() const
OptionValueChar * GetAsChar()
bool AppendFileSpecValue(FileSpec file_spec)
OptionValueArray * GetAsArray()
std::optional< lldb::LanguageType > GetLanguageValue() const
bool SetStringValue(llvm::StringRef new_value)
std::optional< int64_t > GetSInt64Value() const
bool SetUUIDValue(const UUID &uuid)
std::optional< lldb::Format > GetFormatValue() const
std::optional< int64_t > GetEnumerationValue() const
std::optional< bool > GetBooleanValue() const
bool SetBooleanValue(bool new_value)
std::optional< llvm::StringRef > GetStringValue() const
OptionValueBoolean * GetAsBoolean()
OptionValueFileSpec * GetAsFileSpec()
const RegularExpression * GetRegexValue() const
const FormatEntity::Entry * GetFormatEntity() const
bool SetEnumerationValue(int64_t value)
OptionValueUUID * GetAsUUID()
bool SetUInt64Value(uint64_t new_value)
virtual llvm::StringRef GetName() const
OptionValueArch * GetAsArch()
bool SetFormatValue(lldb::Format new_value)
bool SetLanguageValue(lldb::LanguageType new_language)
std::function< void()> m_callback
OptionValueLanguage * GetAsLanguage()
std::optional< UUID > GetUUIDValue() const
bool SetSInt64Value(int64_t new_value)
virtual Status SetSubValue(const ExecutionContext *exe_ctx, VarSetOperationType op, llvm::StringRef name, llvm::StringRef value)
OptionValueString * GetAsString()
static Status FromErrorStringWithFormat(const char *format,...) __attribute__((format(printf
static Status FromErrorString(const char *str)
A stream class that can stream formatted output to a file.
A class that represents a running process on the host machine.
std::unique_ptr< T > clone(const std::unique_ptr< T > &src)
VarSetOperationType
Settable state variable types.
@ eVarSetOperationReplace
@ eVarSetOperationInvalid
@ eVarSetOperationInsertBefore
@ eVarSetOperationInsertAfter
Format
Display format definitions.
LanguageType
Programming language type.
@ eLanguageTypeUnknown
Unknown or invalid language value.
std::shared_ptr< lldb_private::OptionValue > OptionValueSP