LLDB mainline
lldb_private::OptionValueRegex Class Reference

#include <OptionValueRegex.h>

Inheritance diagram for lldb_private::OptionValueRegex:
[legend]

Public Member Functions

 OptionValueRegex (const char *value=nullptr)
 ~OptionValueRegex () 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.
const RegularExpression * GetCurrentValue () const
void SetCurrentValue (const char *value)
bool IsValid () const
Public Member Functions inherited from lldb_private::Cloneable< OptionValueRegex, 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

RegularExpression m_regex
std::string m_default_regex_str
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

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)
}
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 17 of file OptionValueRegex.h.

Constructor & Destructor Documentation

◆ OptionValueRegex()

lldb_private::OptionValueRegex::OptionValueRegex ( const char * value = nullptr)
inline

Definition at line 19 of file OptionValueRegex.h.

References m_default_regex_str, and m_regex.

◆ ~OptionValueRegex()

lldb_private::OptionValueRegex::~OptionValueRegex ( )
overridedefault

Member Function Documentation

◆ ClearImpl()

void lldb_private::OptionValueRegex::ClearImpl ( )
inlineoverrideprotectedvirtual

◆ DumpValue()

◆ GetCurrentValue()

const RegularExpression * lldb_private::OptionValueRegex::GetCurrentValue ( ) const
inline

◆ GetType()

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

Implements lldb_private::OptionValue.

Definition at line 26 of file OptionValueRegex.h.

References lldb_private::OptionValue::eTypeRegex.

◆ IsDefault()

bool lldb_private::OptionValueRegex::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 39 of file OptionValueRegex.h.

References m_default_regex_str, and m_regex.

◆ IsValid()

bool lldb_private::OptionValueRegex::IsValid ( ) const
inline

Definition at line 55 of file OptionValueRegex.h.

References m_regex.

◆ SetCurrentValue()

void lldb_private::OptionValueRegex::SetCurrentValue ( const char * value)
inline

Definition at line 48 of file OptionValueRegex.h.

References m_regex, and lldb_private::RegularExpression.

◆ SetValueFromString()

◆ ToJSON()

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

Implements lldb_private::OptionValue.

Definition at line 31 of file OptionValueRegex.h.

References m_regex.

Member Data Documentation

◆ m_default_regex_str

std::string lldb_private::OptionValueRegex::m_default_regex_str
protected

Definition at line 64 of file OptionValueRegex.h.

Referenced by ClearImpl(), DumpValue(), IsDefault(), and OptionValueRegex().

◆ m_regex

RegularExpression lldb_private::OptionValueRegex::m_regex
protected

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