LLDB mainline
Public Member Functions | Protected Attributes | List of all members
lldb_private::OptionValueDictionary Class Reference

#include <OptionValueDictionary.h>

Inheritance diagram for lldb_private::OptionValueDictionary:
Inheritance graph
[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) override
 
Status SetValueFromString (llvm::StringRef value, VarSetOperationType op=eVarSetOperationAssign) override
 
void Clear () 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 Base::TopmostBase > Clone () const override
 
- Public Member Functions inherited from lldb_private::OptionValue
 OptionValue ()=default
 
virtual ~OptionValue ()=default
 
 OptionValue (const OptionValue &other)
 
OptionValueoperator= (const OptionValue &other)
 
virtual Type GetType () const =0
 
virtual bool ValueIsTransparent () const
 
virtual const char * GetTypeAsCString () const
 
virtual void DumpValue (const ExecutionContext *exe_ctx, Stream &strm, uint32_t dump_mask)=0
 
virtual llvm::json::Value ToJSON (const ExecutionContext *exe_ctx)
 
virtual Status SetValueFromString (llvm::StringRef value, VarSetOperationType op=eVarSetOperationAssign)
 
virtual void Clear ()=0
 
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) const
 
uint32_t GetTypeAsMask ()
 
OptionValueArchGetAsArch ()
 
const OptionValueArchGetAsArch () const
 
OptionValueArrayGetAsArray ()
 
const OptionValueArrayGetAsArray () const
 
OptionValueArgsGetAsArgs ()
 
const OptionValueArgsGetAsArgs () const
 
OptionValueBooleanGetAsBoolean ()
 
const OptionValueBooleanGetAsBoolean () const
 
OptionValueCharGetAsChar ()
 
const OptionValueCharGetAsChar () const
 
OptionValueDictionaryGetAsDictionary ()
 
const OptionValueDictionaryGetAsDictionary () const
 
OptionValueEnumerationGetAsEnumeration ()
 
const OptionValueEnumerationGetAsEnumeration () const
 
OptionValueFileSpecGetAsFileSpec ()
 
const OptionValueFileSpecGetAsFileSpec () const
 
OptionValueFileSpecListGetAsFileSpecList ()
 
const OptionValueFileSpecListGetAsFileSpecList () const
 
OptionValueFormatGetAsFormat ()
 
const OptionValueFormatGetAsFormat () const
 
OptionValueLanguageGetAsLanguage ()
 
const OptionValueLanguageGetAsLanguage () const
 
OptionValuePathMappingsGetAsPathMappings ()
 
const OptionValuePathMappingsGetAsPathMappings () const
 
OptionValuePropertiesGetAsProperties ()
 
const OptionValuePropertiesGetAsProperties () const
 
OptionValueRegexGetAsRegex ()
 
const OptionValueRegexGetAsRegex () const
 
OptionValueSInt64GetAsSInt64 ()
 
const OptionValueSInt64GetAsSInt64 () const
 
OptionValueStringGetAsString ()
 
const OptionValueStringGetAsString () const
 
OptionValueUInt64GetAsUInt64 ()
 
const OptionValueUInt64GetAsUInt64 () const
 
OptionValueUUIDGetAsUUID ()
 
const OptionValueUUIDGetAsUUID () const
 
OptionValueFormatEntityGetAsFormatEntity ()
 
const OptionValueFormatEntityGetAsFormatEntity () 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>
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)
 
template<typename T , std::enable_if_t< std::is_enum_v< T >, bool > = true>
bool SetValueAs (T t)
 

Protected Attributes

uint32_t m_type_mask
 
OptionEnumValues m_enum_values
 
llvm::StringMap< lldb::OptionValueSPm_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
 

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) , 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
 
virtual lldb::OptionValueSP Clone () const =0
 

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.

◆ ~OptionValueDictionary()

lldb_private::OptionValueDictionary::~OptionValueDictionary ( )
overridedefault

Member Function Documentation

◆ Clear()

void lldb_private::OptionValueDictionary::Clear ( )
inlineoverridevirtual

Implements lldb_private::OptionValue.

Definition at line 43 of file OptionValueDictionary.h.

References lldb_private::OptionValue::m_value_was_set, and m_values.

Referenced by SetArgs().

◆ DeepCopy()

OptionValueSP OptionValueDictionary::DeepCopy ( const lldb::OptionValueSP new_parent) const
overridevirtual

Reimplemented from lldb_private::OptionValue.

Definition at line 336 of file OptionValueDictionary.cpp.

References lldb_private::OptionValue::DeepCopy(), and lldbassert.

◆ DeleteValueForKey()

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

Definition at line 326 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()

size_t OptionValueDictionary::GetArgs ( Args args) const

◆ GetNumValues()

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

Definition at line 59 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()

lldb::OptionValueSP OptionValueDictionary::GetValueForKey ( llvm::StringRef  key) const

◆ IsAggregateValue()

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

Reimplemented from lldb_private::OptionValue.

Definition at line 51 of file OptionValueDictionary.h.

◆ IsHomogenous()

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

◆ SetArgs()

Status OptionValueDictionary::SetArgs ( const Args args,
VarSetOperationType  op 
)

◆ SetSubValue()

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

Reimplemented from lldb_private::OptionValue.

Definition at line 285 of file OptionValueDictionary.cpp.

References error(), and GetSubValue().

◆ SetValueForKey()

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

Definition at line 309 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)
overridevirtual

Reimplemented from lldb_private::OptionValue.

Definition at line 91 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 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().

◆ m_type_mask

uint32_t lldb_private::OptionValueDictionary::m_type_mask
protected

Definition at line 80 of file OptionValueDictionary.h.

Referenced by DumpValue(), IsHomogenous(), SetArgs(), and SetValueForKey().

◆ m_values

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

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