LLDB mainline
lldb_private::OptionValueEnumeration Class Reference

#include <OptionValueEnumeration.h>

Inheritance diagram for lldb_private::OptionValueEnumeration:
[legend]

Classes

struct  EnumeratorInfo

Public Types

typedef int64_t enum_type
typedef UniqueCStringMap< EnumeratorInfoEnumerationMap
typedef EnumerationMap::Entry EnumerationMapEntry
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) , eDumpGroupValue = (eDumpOptionName | eDumpOptionType | eDumpOptionValue) ,
  eDumpGroupHelp , eDumpGroupExport = (eDumpOptionCommand | eDumpOptionName | eDumpOptionValue)
}

Public Member Functions

 OptionValueEnumeration (const OptionEnumValues &enumerators, enum_type value)
 ~OptionValueEnumeration () 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
void Clear () override
void AutoComplete (CommandInterpreter &interpreter, CompletionRequest &request) override
enum_type operator= (enum_type value)
enum_type GetCurrentValue () const
enum_type GetDefaultValue () const
void SetCurrentValue (enum_type value)
void SetDefaultValue (enum_type value)
Public Member Functions inherited from lldb_private::Cloneable< OptionValueEnumeration, OptionValue >
std::shared_ptr< typename OptionValue::TopmostBaseClone () const override
Public Member Functions inherited from lldb_private::OptionValue
 OptionValue ()=default
virtual ~OptionValue ()=default
 OptionValue (const OptionValue &other)
OptionValueoperator= (const OptionValue &other)
virtual bool ValueIsTransparent () const
virtual const char * GetTypeAsCString () const
virtual lldb::OptionValueSP DeepCopy (const lldb::OptionValueSP &new_parent) const
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)
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 SetEnumerations (const OptionEnumValues &enumerators)
void DumpEnum (Stream &strm, enum_type value)

Protected Attributes

enum_type m_current_value
enum_type m_default_value
EnumerationMap m_enumerations
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

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 22 of file OptionValueEnumeration.h.

Member Typedef Documentation

◆ enum_type

◆ EnumerationMap

◆ EnumerationMapEntry

Definition at line 31 of file OptionValueEnumeration.h.

Constructor & Destructor Documentation

◆ OptionValueEnumeration()

OptionValueEnumeration::OptionValueEnumeration ( const OptionEnumValues & enumerators,
enum_type value )

Definition at line 17 of file OptionValueEnumeration.cpp.

References m_current_value, m_default_value, and SetEnumerations().

◆ ~OptionValueEnumeration()

lldb_private::OptionValueEnumeration::~OptionValueEnumeration ( )
overridedefault

Member Function Documentation

◆ AutoComplete()

◆ Clear()

void lldb_private::OptionValueEnumeration::Clear ( )
inlineoverridevirtual

◆ DumpEnum()

void OptionValueEnumeration::DumpEnum ( Stream & strm,
enum_type value )
protected

◆ DumpValue()

◆ GetCurrentValue()

enum_type lldb_private::OptionValueEnumeration::GetCurrentValue ( ) const
inline

Definition at line 65 of file OptionValueEnumeration.h.

References m_current_value.

◆ GetDefaultValue()

enum_type lldb_private::OptionValueEnumeration::GetDefaultValue ( ) const
inline

Definition at line 67 of file OptionValueEnumeration.h.

References m_default_value.

◆ GetType()

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

◆ operator=()

enum_type lldb_private::OptionValueEnumeration::operator= ( enum_type value)
inline

Definition at line 60 of file OptionValueEnumeration.h.

References m_current_value.

◆ SetCurrentValue()

void lldb_private::OptionValueEnumeration::SetCurrentValue ( enum_type value)
inline

Definition at line 69 of file OptionValueEnumeration.h.

References m_current_value.

◆ SetDefaultValue()

void lldb_private::OptionValueEnumeration::SetDefaultValue ( enum_type value)
inline

Definition at line 71 of file OptionValueEnumeration.h.

References m_default_value.

◆ SetEnumerations()

void OptionValueEnumeration::SetEnumerations ( const OptionEnumValues & enumerators)
protected

Definition at line 105 of file OptionValueEnumeration.cpp.

References m_enumerations.

Referenced by OptionValueEnumeration().

◆ SetValueFromString()

◆ ToJSON()

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

Implements lldb_private::OptionValue.

Definition at line 51 of file OptionValueEnumeration.cpp.

References m_current_value, and m_enumerations.

Member Data Documentation

◆ m_current_value

enum_type lldb_private::OptionValueEnumeration::m_current_value
protected

◆ m_default_value

enum_type lldb_private::OptionValueEnumeration::m_default_value
protected

◆ m_enumerations

EnumerationMap lldb_private::OptionValueEnumeration::m_enumerations
protected

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