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

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 ,
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 ( )

◆ OptionValueProperties() [2/2]

OptionValueProperties::OptionValueProperties ( llvm::StringRef  name)

Definition at line 23 of file OptionValueProperties.cpp.

◆ ~OptionValueProperties()

lldb_private::OptionValueProperties::~OptionValueProperties ( )

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 ( )

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)

◆ DeepCopy()

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

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

◆ DumpPropertyValue()

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

◆ DumpValue()

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

◆ GetName()

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

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

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

◆ GetPropertyAtIndexAs()

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

◆ 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

◆ GetPropertyIndex()

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

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

◆ 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

◆ GetType()

Type lldb_private::OptionValueProperties::GetType ( ) const

◆ GetValueForKey()

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

◆ Initialize()

void OptionValueProperties::Initialize ( const PropertyDefinitions setting_definitions)

◆ ProtectedGetPropertyAtIndex() [1/2]

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

◆ ProtectedGetPropertyAtIndex() [2/2]

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

Definition at line 172 of file OptionValueProperties.h.

References m_properties.

◆ SetPropertyAtIndex()

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

◆ 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 

◆ 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 

◆ ToJSON()

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

Member Data Documentation

◆ m_name

std::string lldb_private::OptionValueProperties::m_name

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

◆ m_properties

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

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