LLDB mainline
lldb_private::OptionValueString Class Reference

#include <OptionValueString.h>

Inheritance diagram for lldb_private::OptionValueString:
[legend]

Public Types

enum  Options { eOptionEncodeCharacterEscapeSequences = (1u << 0) }
typedef Status(* ValidatorCallback) (const char *string, void *baton)
Public Types inherited from lldb_private::OptionValue
enum  Type {
  eTypeInvalid = 0 , eTypeArch , eTypeArgs , eTypeArray ,
  eTypeBoolean , eTypeChar , eTypeDictionary , eTypeEnum ,
  eTypeFileLineColumn , eTypeFileSpec , eTypeFileSpecList , eTypeFormat ,
  eTypeLanguage , eTypePathMap , eTypeProperties , eTypeRegex ,
  eTypeSInt64 , eTypeString , eTypeUInt64 , eTypeUUID ,
  eTypeFormatEntity
}
enum  {
  eDumpOptionName = (1u << 0) , eDumpOptionType = (1u << 1) , eDumpOptionValue = (1u << 2) , eDumpOptionDescription = (1u << 3) ,
  eDumpOptionRaw = (1u << 4) , eDumpOptionCommand = (1u << 5) , eDumpOptionDefaultValue = (1u << 6) , eDumpOptionOnlyChanged = (1u << 7) ,
  eDumpGroupValue = (eDumpOptionName | eDumpOptionType | eDumpOptionValue) , eDumpGroupHelp , eDumpGroupExport = (eDumpOptionCommand | eDumpOptionName | eDumpOptionValue)
}

Public Member Functions

 OptionValueString ()=default
 OptionValueString (ValidatorCallback validator, void *baton=nullptr)
 OptionValueString (const char *value)
 OptionValueString (const char *current_value, const char *default_value)
 OptionValueString (const char *value, ValidatorCallback validator, void *baton=nullptr)
 OptionValueString (const char *current_value, const char *default_value, ValidatorCallback validator, void *baton=nullptr)
 ~OptionValueString () override=default
OptionValue::Type GetType () const override
void DumpValue (const ExecutionContext *exe_ctx, Stream &strm, uint32_t dump_mask) override
llvm::json::Value ToJSON (const ExecutionContext *exe_ctx) const override
Status SetValueFromString (llvm::StringRef value, VarSetOperationType op=eVarSetOperationAssign) override
bool IsDefault () const override
 Return true if the current value equals the default value.
Flags & GetOptions ()
const Flags & GetOptions () const
const char * operator= (const char *value)
const char * GetCurrentValue () const
llvm::StringRef GetCurrentValueAsRef () const
const char * GetDefaultValue () const
llvm::StringRef GetDefaultValueAsRef () const
Status SetCurrentValue (llvm::StringRef value)
Status AppendToCurrentValue (const char *value)
void SetDefaultValue (const char *value)
bool IsCurrentValueEmpty () const
bool IsDefaultValueEmpty () const
void SetValidator (ValidatorCallback validator, void *baton=nullptr)
Public Member Functions inherited from lldb_private::Cloneable< OptionValueString, OptionValue >
std::shared_ptr< typename OptionValue::TopmostBase > Clone () const override
Public Member Functions inherited from lldb_private::OptionValue
 OptionValue ()=default
virtual ~OptionValue ()=default
 OptionValue (const OptionValue &other)
OptionValue & operator= (const OptionValue &other)
virtual bool ValueIsTransparent () const
virtual const char * GetTypeAsCString () const
void Clear ()
virtual lldb::OptionValueSP DeepCopy (const lldb::OptionValueSP &new_parent) const
virtual void AutoComplete (CommandInterpreter &interpreter, CompletionRequest &request)
virtual lldb::OptionValueSP GetSubValue (const ExecutionContext *exe_ctx, llvm::StringRef name, Status &error) const
virtual Status SetSubValue (const ExecutionContext *exe_ctx, VarSetOperationType op, llvm::StringRef name, llvm::StringRef value)
virtual bool IsAggregateValue () const
virtual llvm::StringRef GetName () const
virtual bool DumpQualifiedName (Stream &strm, std::optional< Stream::HighlightSettings > highlight=std::nullopt) const
uint32_t GetTypeAsMask ()
OptionValueArch * GetAsArch ()
const OptionValueArch * GetAsArch () const
OptionValueArray * GetAsArray ()
const OptionValueArray * GetAsArray () const
OptionValueArgs * GetAsArgs ()
const OptionValueArgs * GetAsArgs () const
OptionValueBoolean * GetAsBoolean ()
const OptionValueBoolean * GetAsBoolean () const
OptionValueChar * GetAsChar ()
const OptionValueChar * GetAsChar () const
OptionValueDictionary * GetAsDictionary ()
const OptionValueDictionary * GetAsDictionary () const
OptionValueEnumeration * GetAsEnumeration ()
const OptionValueEnumeration * GetAsEnumeration () const
OptionValueFileSpec * GetAsFileSpec ()
const OptionValueFileSpec * GetAsFileSpec () const
OptionValueFileSpecList * GetAsFileSpecList ()
const OptionValueFileSpecList * GetAsFileSpecList () const
OptionValueFormat * GetAsFormat ()
const OptionValueFormat * GetAsFormat () const
OptionValueLanguage * GetAsLanguage ()
const OptionValueLanguage * GetAsLanguage () const
OptionValuePathMappings * GetAsPathMappings ()
const OptionValuePathMappings * GetAsPathMappings () const
OptionValueProperties * GetAsProperties ()
const OptionValueProperties * GetAsProperties () const
OptionValueRegex * GetAsRegex ()
const OptionValueRegex * GetAsRegex () const
OptionValueSInt64 * GetAsSInt64 ()
const OptionValueSInt64 * GetAsSInt64 () const
OptionValueString * GetAsString ()
const OptionValueString * GetAsString () const
OptionValueUInt64 * GetAsUInt64 ()
const OptionValueUInt64 * GetAsUInt64 () const
OptionValueUUID * GetAsUUID ()
const OptionValueUUID * GetAsUUID () const
OptionValueFormatEntity * GetAsFormatEntity ()
const OptionValueFormatEntity * GetAsFormatEntity () const
bool AppendFileSpecValue (FileSpec file_spec)
bool OptionWasSet () const
void SetOptionWasSet ()
void SetParent (const lldb::OptionValueSP &parent_sp)
lldb::OptionValueSP GetParent () const
void SetValueChangedCallback (std::function< void()> callback)
void NotifyValueChanged ()
template<typename T, std::enable_if_t<!std::is_pointer_v< T >, bool > = true>
std::optional< T > GetValueAs () const
template<typename T, typename U = typename std::remove_const< typename std::remove_pointer<T>::type>::type, std::enable_if_t< std::is_pointer_v< T >, bool > = true>
T GetValueAs () const
bool SetValueAs (bool v)
bool SetValueAs (char v)
bool SetValueAs (uint64_t v)
bool SetValueAs (int64_t v)
bool SetValueAs (UUID v)
bool SetValueAs (llvm::StringRef v)
bool SetValueAs (lldb::LanguageType v)
bool SetValueAs (lldb::Format v)
bool SetValueAs (FileSpec v)
bool SetValueAs (ArchSpec v)
bool SetValueAs (const FormatEntity::Entry &v)
template<typename T, std::enable_if_t< std::is_enum_v< T >, bool > = true>
bool SetValueAs (T t)

Protected Member Functions

void ClearImpl () override

Protected Attributes

std::string m_current_value
std::string m_default_value
Flags m_options
ValidatorCallback m_validator = nullptr
void * m_validator_baton = nullptr
Protected Attributes inherited from lldb_private::OptionValue
lldb::OptionValueWP m_parent_wp
std::function< void()> m_callback
bool m_value_was_set = false
std::mutex m_mutex

Additional Inherited Members

Static Public Member Functions inherited from lldb_private::OptionValue
static const char * GetBuiltinTypeAsCString (Type t)
static uint32_t ConvertTypeToMask (OptionValue::Type type)
static OptionValue::Type ConvertTypeMaskToType (uint32_t type_mask)
static lldb::OptionValueSP CreateValueFromCStringForTypeMask (const char *value_cstr, uint32_t type_mask, Status &error)
Protected Types inherited from lldb_private::OptionValue
using TopmostBase = OptionValue

Detailed Description

Definition at line 20 of file OptionValueString.h.

Member Typedef Documentation

◆ ValidatorCallback

typedef Status(* lldb_private::OptionValueString::ValidatorCallback) (const char *string, void *baton)

Definition at line 22 of file OptionValueString.h.

Member Enumeration Documentation

◆ Options

Enumerator
eOptionEncodeCharacterEscapeSequences 

Definition at line 24 of file OptionValueString.h.

Constructor & Destructor Documentation

◆ OptionValueString() [1/6]

lldb_private::OptionValueString::OptionValueString ( )
default

◆ OptionValueString() [2/6]

lldb_private::OptionValueString::OptionValueString ( ValidatorCallback validator,
void * baton = nullptr )
inline

Definition at line 28 of file OptionValueString.h.

References m_validator, m_validator_baton, and lldb_private::validator.

◆ OptionValueString() [3/6]

lldb_private::OptionValueString::OptionValueString ( const char * value)
inline

Definition at line 31 of file OptionValueString.h.

References m_current_value, and m_default_value.

◆ OptionValueString() [4/6]

lldb_private::OptionValueString::OptionValueString ( const char * current_value,
const char * default_value )
inline

Definition at line 38 of file OptionValueString.h.

References m_current_value, and m_default_value.

◆ OptionValueString() [5/6]

lldb_private::OptionValueString::OptionValueString ( const char * value,
ValidatorCallback validator,
void * baton = nullptr )
inline

◆ OptionValueString() [6/6]

lldb_private::OptionValueString::OptionValueString ( const char * current_value,
const char * default_value,
ValidatorCallback validator,
void * baton = nullptr )
inline

◆ ~OptionValueString()

lldb_private::OptionValueString::~OptionValueString ( )
overridedefault

Member Function Documentation

◆ AppendToCurrentValue()

Status OptionValueString::AppendToCurrentValue ( const char * value)

◆ ClearImpl()

void lldb_private::OptionValueString::ClearImpl ( )
inlineoverrideprotectedvirtual

◆ DumpValue()

◆ GetCurrentValue()

const char * lldb_private::OptionValueString::GetCurrentValue ( ) const
inline

Definition at line 93 of file OptionValueString.h.

References m_current_value.

Referenced by PlatformDarwinProperties::GetIgnoredExceptions().

◆ GetCurrentValueAsRef()

llvm::StringRef lldb_private::OptionValueString::GetCurrentValueAsRef ( ) const
inline

Definition at line 94 of file OptionValueString.h.

References m_current_value.

◆ GetDefaultValue()

const char * lldb_private::OptionValueString::GetDefaultValue ( ) const
inline

Definition at line 96 of file OptionValueString.h.

References m_default_value.

◆ GetDefaultValueAsRef()

llvm::StringRef lldb_private::OptionValueString::GetDefaultValueAsRef ( ) const
inline

Definition at line 97 of file OptionValueString.h.

References m_default_value.

◆ GetOptions() [1/2]

Flags & lldb_private::OptionValueString::GetOptions ( )
inline

Definition at line 84 of file OptionValueString.h.

References m_options.

◆ GetOptions() [2/2]

const Flags & lldb_private::OptionValueString::GetOptions ( ) const
inline

Definition at line 86 of file OptionValueString.h.

References m_options.

◆ GetType()

OptionValue::Type lldb_private::OptionValueString::GetType ( ) const
inlineoverridevirtual

Implements lldb_private::OptionValue.

Definition at line 67 of file OptionValueString.h.

References lldb_private::OptionValue::eTypeString.

◆ IsCurrentValueEmpty()

bool lldb_private::OptionValueString::IsCurrentValueEmpty ( ) const
inline

Definition at line 110 of file OptionValueString.h.

References m_current_value.

◆ IsDefault()

bool lldb_private::OptionValueString::IsDefault ( ) const
inlineoverridevirtual

Return true if the current value equals the default value.

Subclasses that store a default value should override this to compare against it. The base implementation falls back to OptionWasSet(), which is a reasonable approximation for types without an explicit default.

Reimplemented from lldb_private::OptionValue.

Definition at line 80 of file OptionValueString.h.

References m_current_value, and m_default_value.

◆ IsDefaultValueEmpty()

bool lldb_private::OptionValueString::IsDefaultValueEmpty ( ) const
inline

Definition at line 112 of file OptionValueString.h.

References m_default_value.

◆ operator=()

const char * lldb_private::OptionValueString::operator= ( const char * value)
inline

Definition at line 88 of file OptionValueString.h.

References m_current_value, and SetCurrentValue().

◆ SetCurrentValue()

Status OptionValueString::SetCurrentValue ( llvm::StringRef value)

◆ SetDefaultValue()

void lldb_private::OptionValueString::SetDefaultValue ( const char * value)
inline

Definition at line 103 of file OptionValueString.h.

References m_default_value.

◆ SetValidator()

void lldb_private::OptionValueString::SetValidator ( ValidatorCallback validator,
void * baton = nullptr )
inline

◆ SetValueFromString()

◆ ToJSON()

llvm::json::Value lldb_private::OptionValueString::ToJSON ( const ExecutionContext * exe_ctx) const
inlineoverridevirtual

Implements lldb_private::OptionValue.

Definition at line 72 of file OptionValueString.h.

References m_current_value.

Member Data Documentation

◆ m_current_value

◆ m_default_value

std::string lldb_private::OptionValueString::m_default_value
protected

◆ m_options

Flags lldb_private::OptionValueString::m_options
protected

Definition at line 127 of file OptionValueString.h.

Referenced by DumpValue(), GetOptions(), GetOptions(), and SetValueFromString().

◆ m_validator

ValidatorCallback lldb_private::OptionValueString::m_validator = nullptr
protected

◆ m_validator_baton

void* lldb_private::OptionValueString::m_validator_baton = nullptr
protected

The documentation for this class was generated from the following files: