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

#include <OptionValueEnumeration.h>

Inheritance diagram for lldb_private::OptionValueEnumeration:
Inheritance graph
[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) , 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
 
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 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 Member Functions

void SetEnumerations (const OptionEnumValues &enumerators)
 
virtual lldb::OptionValueSP Clone () const =0
 

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

Definition at line 25 of file OptionValueEnumeration.h.

◆ EnumerationMap

Definition at line 30 of file OptionValueEnumeration.h.

◆ EnumerationMapEntry

Definition at line 31 of file OptionValueEnumeration.h.

Constructor & Destructor Documentation

◆ OptionValueEnumeration()

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

Definition at line 16 of file OptionValueEnumeration.cpp.

References SetEnumerations().

◆ ~OptionValueEnumeration()

lldb_private::OptionValueEnumeration::~OptionValueEnumeration ( )
overridedefault

Member Function Documentation

◆ AutoComplete()

void OptionValueEnumeration::AutoComplete ( CommandInterpreter interpreter,
CompletionRequest request 
)
overridevirtual

◆ Clear()

void lldb_private::OptionValueEnumeration::Clear ( )
inlineoverridevirtual

◆ DumpValue()

void OptionValueEnumeration::DumpValue ( const ExecutionContext exe_ctx,
Stream strm,
uint32_t  dump_mask 
)
overridevirtual

◆ GetCurrentValue()

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

Definition at line 63 of file OptionValueEnumeration.h.

References m_current_value.

Referenced by lldb_private::Property::Property().

◆ GetDefaultValue()

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

Definition at line 65 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 58 of file OptionValueEnumeration.h.

References m_current_value.

◆ SetCurrentValue()

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

Definition at line 67 of file OptionValueEnumeration.h.

References m_current_value.

◆ SetDefaultValue()

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

Definition at line 69 of file OptionValueEnumeration.h.

References m_default_value.

Referenced by lldb_private::Property::Property().

◆ SetEnumerations()

void OptionValueEnumeration::SetEnumerations ( const OptionEnumValues enumerators)
protected

◆ SetValueFromString()

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

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

Definition at line 75 of file OptionValueEnumeration.h.

Referenced by Clear(), GetDefaultValue(), and SetDefaultValue().

◆ m_enumerations

EnumerationMap lldb_private::OptionValueEnumeration::m_enumerations
protected

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