LLDB mainline
lldb_private::OptionValueDictionary Class Reference

#include <OptionValueDictionary.h>

Inheritance diagram for lldb_private::OptionValueDictionary:
[legend]

Public Member Functions

 OptionValueDictionary (uint32_t type_mask=UINT32_MAX, OptionEnumValues enum_values=OptionEnumValues(), bool raw_value_dump=true)
 ~OptionValueDictionary () 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
lldb::OptionValueSP DeepCopy (const lldb::OptionValueSP &new_parent) const override
bool IsAggregateValue () const override
bool IsHomogenous () const
size_t GetNumValues () const
lldb::OptionValueSP GetValueForKey (llvm::StringRef key) const
lldb::OptionValueSP GetSubValue (const ExecutionContext *exe_ctx, llvm::StringRef name, Status &error) const override
Status SetSubValue (const ExecutionContext *exe_ctx, VarSetOperationType op, llvm::StringRef name, llvm::StringRef value) override
bool SetValueForKey (llvm::StringRef key, const lldb::OptionValueSP &value_sp, bool can_replace=true)
bool DeleteValueForKey (llvm::StringRef key)
size_t GetArgs (Args &args) const
Status SetArgs (const Args &args, VarSetOperationType op)
Public Member Functions inherited from lldb_private::Cloneable< OptionValueDictionary, 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 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 ()
virtual bool IsDefault () const
 Return true if the current value equals the default value.
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

uint32_t m_type_mask
OptionEnumValues m_enum_values
llvm::StringMap< lldb::OptionValueSP > m_values
bool m_raw_value_dump
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 19 of file OptionValueDictionary.h.

Constructor & Destructor Documentation

◆ OptionValueDictionary()

lldb_private::OptionValueDictionary::OptionValueDictionary ( uint32_t type_mask = UINT32_MAX,
OptionEnumValues enum_values = OptionEnumValues(),
bool raw_value_dump = true )
inline

Definition at line 22 of file OptionValueDictionary.h.

References m_enum_values, m_raw_value_dump, m_type_mask, and UINT32_MAX.

Referenced by DeepCopy().

◆ ~OptionValueDictionary()

lldb_private::OptionValueDictionary::~OptionValueDictionary ( )
overridedefault

Member Function Documentation

◆ ClearImpl()

void lldb_private::OptionValueDictionary::ClearImpl ( )
inlineoverrideprotectedvirtual

◆ DeepCopy()

OptionValueSP OptionValueDictionary::DeepCopy ( const lldb::OptionValueSP & new_parent) const
override

◆ DeleteValueForKey()

bool OptionValueDictionary::DeleteValueForKey ( llvm::StringRef key)

Definition at line 338 of file OptionValueDictionary.cpp.

References m_values.

Referenced by SetArgs().

◆ DumpValue()

void OptionValueDictionary::DumpValue ( const ExecutionContext * exe_ctx,
Stream & strm,
uint32_t dump_mask )
overridevirtual

◆ GetArgs()

◆ GetNumValues()

size_t lldb_private::OptionValueDictionary::GetNumValues ( ) const
inline

Definition at line 54 of file OptionValueDictionary.h.

References m_values.

◆ GetSubValue()

lldb::OptionValueSP OptionValueDictionary::GetSubValue ( const ExecutionContext * exe_ctx,
llvm::StringRef name,
Status & error ) const
overridevirtual

◆ GetType()

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

◆ GetValueForKey()

◆ IsAggregateValue()

bool lldb_private::OptionValueDictionary::IsAggregateValue ( ) const
inlineoverridevirtual

Reimplemented from lldb_private::OptionValue.

Definition at line 46 of file OptionValueDictionary.h.

◆ IsHomogenous()

bool lldb_private::OptionValueDictionary::IsHomogenous ( ) const
inline

◆ SetArgs()

◆ SetSubValue()

Status OptionValueDictionary::SetSubValue ( const ExecutionContext * exe_ctx,
VarSetOperationType op,
llvm::StringRef name,
llvm::StringRef value )
overridevirtual

◆ SetValueForKey()

bool OptionValueDictionary::SetValueForKey ( llvm::StringRef key,
const lldb::OptionValueSP & value_sp,
bool can_replace = true )

Definition at line 321 of file OptionValueDictionary.cpp.

References m_type_mask, and m_values.

Referenced by SetArgs().

◆ SetValueFromString()

Status OptionValueDictionary::SetValueFromString ( llvm::StringRef value,
VarSetOperationType op = eVarSetOperationAssign )
overridevirtual

◆ ToJSON()

llvm::json::Value OptionValueDictionary::ToJSON ( const ExecutionContext * exe_ctx) const
overridevirtual

Implements lldb_private::OptionValue.

Definition at line 97 of file OptionValueDictionary.cpp.

References m_values.

Member Data Documentation

◆ m_enum_values

OptionEnumValues lldb_private::OptionValueDictionary::m_enum_values
protected

Definition at line 81 of file OptionValueDictionary.h.

Referenced by OptionValueDictionary(), and SetArgs().

◆ m_raw_value_dump

bool lldb_private::OptionValueDictionary::m_raw_value_dump
protected

Definition at line 83 of file OptionValueDictionary.h.

Referenced by DumpValue(), and OptionValueDictionary().

◆ m_type_mask

uint32_t lldb_private::OptionValueDictionary::m_type_mask
protected

◆ m_values

llvm::StringMap<lldb::OptionValueSP> lldb_private::OptionValueDictionary::m_values
protected

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