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

#include <OptionValueProperties.h>

Inheritance diagram for lldb_private::OptionValueProperties:
Inheritance graph
[legend]

Public Member Functions

 OptionValueProperties ()=default
 
 OptionValueProperties (llvm::StringRef name)
 
 ~OptionValueProperties () override=default
 
Type GetType () const override
 
void Clear () override
 
lldb::OptionValueSP DeepCopy (const lldb::OptionValueSP &new_parent) const override
 
Status SetValueFromString (llvm::StringRef value, VarSetOperationType op=eVarSetOperationAssign) override
 
void DumpValue (const ExecutionContext *exe_ctx, Stream &strm, uint32_t dump_mask) override
 
llvm::json::Value ToJSON (const ExecutionContext *exe_ctx) override
 
llvm::StringRef GetName () const override
 
virtual Status DumpPropertyValue (const ExecutionContext *exe_ctx, Stream &strm, llvm::StringRef property_path, uint32_t dump_mask, bool is_json=false)
 
virtual void DumpAllDescriptions (CommandInterpreter &interpreter, Stream &strm) const
 
void Apropos (llvm::StringRef keyword, std::vector< const Property * > &matching_properties) const
 
void Initialize (const PropertyDefinitions &setting_definitions)
 
virtual size_t GetPropertyIndex (llvm::StringRef name) const
 
virtual const PropertyGetProperty (llvm::StringRef name, const ExecutionContext *exe_ctx=nullptr) const
 
virtual const PropertyGetPropertyAtIndex (size_t idx, const ExecutionContext *exe_ctx=nullptr) const
 
virtual const PropertyGetPropertyAtPath (const ExecutionContext *exe_ctx, llvm::StringRef property_path) const
 
virtual lldb::OptionValueSP GetPropertyValueAtIndex (size_t idx, const ExecutionContext *exe_ctx) const
 
virtual lldb::OptionValueSP GetValueForKey (const ExecutionContext *exe_ctx, 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 path, llvm::StringRef value) override
 
bool GetPropertyAtIndexAsArgs (size_t idx, Args &args, const ExecutionContext *exe_ctx=nullptr) const
 
bool SetPropertyAtIndexFromArgs (size_t idx, const Args &args, const ExecutionContext *exe_ctx=nullptr)
 
OptionValueDictionaryGetPropertyAtIndexAsOptionValueDictionary (size_t idx, const ExecutionContext *exe_ctx=nullptr) const
 
OptionValueSInt64GetPropertyAtIndexAsOptionValueSInt64 (size_t idx, const ExecutionContext *exe_ctx=nullptr) const
 
OptionValueUInt64GetPropertyAtIndexAsOptionValueUInt64 (size_t idx, const ExecutionContext *exe_ctx=nullptr) const
 
OptionValueStringGetPropertyAtIndexAsOptionValueString (size_t idx, const ExecutionContext *exe_ctx=nullptr) const
 
OptionValueFileSpecGetPropertyAtIndexAsOptionValueFileSpec (size_t idx, const ExecutionContext *exe_ctx=nullptr) const
 
OptionValuePathMappingsGetPropertyAtIndexAsOptionValuePathMappings (size_t idx, const ExecutionContext *exe_ctx=nullptr) const
 
OptionValueFileSpecListGetPropertyAtIndexAsOptionValueFileSpecList (size_t idx, const ExecutionContext *exe_ctx=nullptr) const
 
void AppendProperty (llvm::StringRef name, llvm::StringRef desc, bool is_global, const lldb::OptionValueSP &value_sp)
 
lldb::OptionValuePropertiesSP GetSubProperty (const ExecutionContext *exe_ctx, llvm::StringRef name)
 
void SetValueChangedCallback (size_t property_idx, std::function< void()> callback)
 
template<typename T >
auto GetPropertyAtIndexAs (size_t idx, const ExecutionContext *exe_ctx=nullptr) const
 
template<typename T >
bool SetPropertyAtIndex (size_t idx, T t, const ExecutionContext *exe_ctx=nullptr) const
 
- Public Member Functions inherited from lldb_private::Cloneable< OptionValueProperties, 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)
 

Static Public Member Functions

static lldb::OptionValuePropertiesSP CreateLocalCopy (const Properties &global_properties)
 
- 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 Member Functions

PropertyProtectedGetPropertyAtIndex (size_t idx)
 
const PropertyProtectedGetPropertyAtIndex (size_t idx) const
 
virtual lldb::OptionValueSP Clone () const =0
 

Protected Attributes

std::string m_name
 
std::vector< Propertym_properties
 
llvm::StringMap< size_t > m_name_to_index
 
- 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)
}
 
- Protected Types inherited from lldb_private::OptionValue
using TopmostBase = OptionValue
 

Detailed Description

Definition at line 22 of file OptionValueProperties.h.

Constructor & Destructor Documentation

◆ OptionValueProperties() [1/2]

lldb_private::OptionValueProperties::OptionValueProperties ( )
default

◆ OptionValueProperties() [2/2]

OptionValueProperties::OptionValueProperties ( llvm::StringRef  name)

Definition at line 23 of file OptionValueProperties.cpp.

◆ ~OptionValueProperties()

lldb_private::OptionValueProperties::~OptionValueProperties ( )
overridedefault

Member Function Documentation

◆ AppendProperty()

void OptionValueProperties::AppendProperty ( llvm::StringRef  name,
llvm::StringRef  desc,
bool  is_global,
const lldb::OptionValueSP value_sp 
)

Definition at line 43 of file OptionValueProperties.cpp.

References m_name_to_index, and m_properties.

◆ Apropos()

void OptionValueProperties::Apropos ( llvm::StringRef  keyword,
std::vector< const Property * > &  matching_properties 
) const

◆ Clear()

void OptionValueProperties::Clear ( )
overridevirtual

Implements lldb_private::OptionValue.

Definition at line 290 of file OptionValueProperties.cpp.

References m_properties.

Referenced by SetValueFromString().

◆ CreateLocalCopy()

OptionValuePropertiesSP OptionValueProperties::CreateLocalCopy ( const Properties global_properties)
static

◆ DeepCopy()

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

Reimplemented from lldb_private::OptionValue.

Definition at line 387 of file OptionValueProperties.cpp.

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

◆ DumpAllDescriptions()

void OptionValueProperties::DumpAllDescriptions ( CommandInterpreter interpreter,
Stream strm 
) const
virtual

◆ DumpPropertyValue()

Status OptionValueProperties::DumpPropertyValue ( const ExecutionContext exe_ctx,
Stream strm,
llvm::StringRef  property_path,
uint32_t  dump_mask,
bool  is_json = false 
)
virtual

◆ DumpValue()

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

◆ GetName()

llvm::StringRef lldb_private::OptionValueProperties::GetName ( ) const
inlineoverridevirtual

Reimplemented from lldb_private::OptionValue.

Definition at line 51 of file OptionValueProperties.h.

References m_name.

◆ GetProperty()

const Property * OptionValueProperties::GetProperty ( llvm::StringRef  name,
const ExecutionContext exe_ctx = nullptr 
) const
virtual

Definition at line 149 of file OptionValueProperties.cpp.

References GetPropertyAtIndex(), and m_name_to_index.

Referenced by GetPropertyAtPath().

◆ GetPropertyAtIndex()

virtual const Property * lldb_private::OptionValueProperties::GetPropertyAtIndex ( size_t  idx,
const ExecutionContext exe_ctx = nullptr 
) const
inlinevirtual

◆ GetPropertyAtIndexAs()

template<typename T >
auto lldb_private::OptionValueProperties::GetPropertyAtIndexAs ( size_t  idx,
const ExecutionContext exe_ctx = nullptr 
) const
inline

◆ GetPropertyAtIndexAsArgs()

bool OptionValueProperties::GetPropertyAtIndexAsArgs ( size_t  idx,
Args args,
const ExecutionContext exe_ctx = nullptr 
) const

◆ GetPropertyAtIndexAsOptionValueDictionary()

OptionValueDictionary * OptionValueProperties::GetPropertyAtIndexAsOptionValueDictionary ( size_t  idx,
const ExecutionContext exe_ctx = nullptr 
) const

Definition at line 240 of file OptionValueProperties.cpp.

References GetPropertyAtIndex().

◆ GetPropertyAtIndexAsOptionValueFileSpec()

OptionValueFileSpec * OptionValueProperties::GetPropertyAtIndexAsOptionValueFileSpec ( size_t  idx,
const ExecutionContext exe_ctx = nullptr 
) const

◆ GetPropertyAtIndexAsOptionValueFileSpecList()

OptionValueFileSpecList * OptionValueProperties::GetPropertyAtIndexAsOptionValueFileSpecList ( size_t  idx,
const ExecutionContext exe_ctx = nullptr 
) const

Definition at line 175 of file OptionValueProperties.cpp.

References GetPropertyValueAtIndex().

◆ GetPropertyAtIndexAsOptionValuePathMappings()

OptionValuePathMappings * OptionValueProperties::GetPropertyAtIndexAsOptionValuePathMappings ( size_t  idx,
const ExecutionContext exe_ctx = nullptr 
) const

Definition at line 166 of file OptionValueProperties.cpp.

References GetPropertyValueAtIndex().

◆ GetPropertyAtIndexAsOptionValueSInt64()

OptionValueSInt64 * OptionValueProperties::GetPropertyAtIndexAsOptionValueSInt64 ( size_t  idx,
const ExecutionContext exe_ctx = nullptr 
) const

◆ GetPropertyAtIndexAsOptionValueString()

OptionValueString * OptionValueProperties::GetPropertyAtIndexAsOptionValueString ( size_t  idx,
const ExecutionContext exe_ctx = nullptr 
) const

Definition at line 282 of file OptionValueProperties.cpp.

References GetPropertyValueAtIndex().

◆ GetPropertyAtIndexAsOptionValueUInt64()

OptionValueUInt64 * OptionValueProperties::GetPropertyAtIndexAsOptionValueUInt64 ( size_t  idx,
const ExecutionContext exe_ctx = nullptr 
) const

◆ GetPropertyAtPath()

const Property * OptionValueProperties::GetPropertyAtPath ( const ExecutionContext exe_ctx,
llvm::StringRef  property_path 
) const
virtual

◆ GetPropertyIndex()

size_t OptionValueProperties::GetPropertyIndex ( llvm::StringRef  name) const
virtual

Definition at line 141 of file OptionValueProperties.cpp.

References m_name_to_index.

◆ GetPropertyValueAtIndex()

lldb::OptionValueSP OptionValueProperties::GetPropertyValueAtIndex ( size_t  idx,
const ExecutionContext exe_ctx 
) const
virtual

◆ GetSubProperty()

lldb::OptionValuePropertiesSP OptionValueProperties::GetSubProperty ( const ExecutionContext exe_ctx,
llvm::StringRef  name 
)

◆ GetSubValue()

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

◆ GetType()

Type lldb_private::OptionValueProperties::GetType ( ) const
inlineoverridevirtual

◆ GetValueForKey()

lldb::OptionValueSP OptionValueProperties::GetValueForKey ( const ExecutionContext exe_ctx,
llvm::StringRef  key 
) const
virtual

◆ Initialize()

void OptionValueProperties::Initialize ( const PropertyDefinitions setting_definitions)

◆ ProtectedGetPropertyAtIndex() [1/2]

Property * lldb_private::OptionValueProperties::ProtectedGetPropertyAtIndex ( size_t  idx)
inlineprotected

◆ ProtectedGetPropertyAtIndex() [2/2]

const Property * lldb_private::OptionValueProperties::ProtectedGetPropertyAtIndex ( size_t  idx) const
inlineprotected

Definition at line 172 of file OptionValueProperties.h.

References m_properties.

◆ SetPropertyAtIndex()

template<typename T >
bool lldb_private::OptionValueProperties::SetPropertyAtIndex ( size_t  idx,
t,
const ExecutionContext exe_ctx = nullptr 
) const
inline

◆ SetPropertyAtIndexFromArgs()

bool OptionValueProperties::SetPropertyAtIndexFromArgs ( size_t  idx,
const Args args,
const ExecutionContext exe_ctx = nullptr 
)

◆ SetSubValue()

Status OptionValueProperties::SetSubValue ( const ExecutionContext exe_ctx,
VarSetOperationType  op,
llvm::StringRef  path,
llvm::StringRef  value 
)
overridevirtual

◆ SetValueChangedCallback()

void OptionValueProperties::SetValueChangedCallback ( size_t  property_idx,
std::function< void()>  callback 
)

Definition at line 36 of file OptionValueProperties.cpp.

References ProtectedGetPropertyAtIndex().

◆ SetValueFromString()

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

◆ ToJSON()

llvm::json::Value OptionValueProperties::ToJSON ( const ExecutionContext exe_ctx)
overridevirtual

Member Data Documentation

◆ m_name

std::string lldb_private::OptionValueProperties::m_name
protected

Definition at line 177 of file OptionValueProperties.h.

Referenced by GetName().

◆ m_name_to_index

llvm::StringMap<size_t> lldb_private::OptionValueProperties::m_name_to_index
protected

◆ m_properties

std::vector<Property> lldb_private::OptionValueProperties::m_properties
protected

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