LLDB mainline
lldb_private::OptionValueFileSpec Class Reference

#include <OptionValueFileSpec.h>

Inheritance diagram for lldb_private::OptionValueFileSpec:
[legend]

Public Member Functions

 OptionValueFileSpec (bool resolve=true)
 OptionValueFileSpec (const FileSpec &value, bool resolve=true)
 OptionValueFileSpec (const FileSpec &current_value, const FileSpec &default_value, bool resolve=true)
 ~OptionValueFileSpec () 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 AutoComplete (CommandInterpreter &interpreter, CompletionRequest &request) override
bool IsDefault () const override
 Return true if the current value equals the default value.
FileSpec & GetCurrentValue ()
const FileSpec & GetCurrentValue () const
const FileSpec & GetDefaultValue () const
void SetCurrentValue (const FileSpec &value, bool set_value_was_set)
void SetDefaultValue (const FileSpec &value)
const lldb::DataBufferSP & GetFileContents ()
void SetCompletionMask (uint32_t mask)
Public Member Functions inherited from lldb_private::Cloneable< OptionValueFileSpec, OptionValue >
std::shared_ptr< typename OptionValue::TopmostBase > Clone () const override
Public Member Functions inherited from lldb_private::OptionValue
 OptionValue ()=default
virtual ~OptionValue ()=default
 OptionValue (const OptionValue &other)
OptionValue & operator= (const OptionValue &other)
virtual bool ValueIsTransparent () const
virtual const char * GetTypeAsCString () const
void Clear ()
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, std::optional< Stream::HighlightSettings > highlight=std::nullopt) const
uint32_t GetTypeAsMask ()
OptionValueArch * GetAsArch ()
const OptionValueArch * GetAsArch () const
OptionValueArray * GetAsArray ()
const OptionValueArray * GetAsArray () const
OptionValueArgs * GetAsArgs ()
const OptionValueArgs * GetAsArgs () const
OptionValueBoolean * GetAsBoolean ()
const OptionValueBoolean * GetAsBoolean () const
OptionValueChar * GetAsChar ()
const OptionValueChar * GetAsChar () const
OptionValueDictionary * GetAsDictionary ()
const OptionValueDictionary * GetAsDictionary () const
OptionValueEnumeration * GetAsEnumeration ()
const OptionValueEnumeration * GetAsEnumeration () const
OptionValueFileSpec * GetAsFileSpec ()
const OptionValueFileSpec * GetAsFileSpec () const
OptionValueFileSpecList * GetAsFileSpecList ()
const OptionValueFileSpecList * GetAsFileSpecList () const
OptionValueFormat * GetAsFormat ()
const OptionValueFormat * GetAsFormat () const
OptionValueLanguage * GetAsLanguage ()
const OptionValueLanguage * GetAsLanguage () const
OptionValuePathMappings * GetAsPathMappings ()
const OptionValuePathMappings * GetAsPathMappings () const
OptionValueProperties * GetAsProperties ()
const OptionValueProperties * GetAsProperties () const
OptionValueRegex * GetAsRegex ()
const OptionValueRegex * GetAsRegex () const
OptionValueSInt64 * GetAsSInt64 ()
const OptionValueSInt64 * GetAsSInt64 () const
OptionValueString * GetAsString ()
const OptionValueString * GetAsString () const
OptionValueUInt64 * GetAsUInt64 ()
const OptionValueUInt64 * GetAsUInt64 () const
OptionValueUUID * GetAsUUID ()
const OptionValueUUID * GetAsUUID () const
OptionValueFormatEntity * GetAsFormatEntity ()
const OptionValueFormatEntity * GetAsFormatEntity () 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>
T 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 ClearImpl () override

Protected Attributes

FileSpec m_current_value
FileSpec m_default_value
lldb::DataBufferSP m_data_sp
llvm::sys::TimePoint m_data_mod_time
uint32_t m_completion_mask = lldb::eDiskFileCompletion
bool m_resolve
Protected Attributes inherited from lldb_private::OptionValue
lldb::OptionValueWP m_parent_wp
std::function< void()> m_callback
bool m_value_was_set = false
std::mutex m_mutex

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) , eDumpOptionDefaultValue = (1u << 6) , eDumpOptionOnlyChanged = (1u << 7) ,
  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

Detailed Description

Definition at line 20 of file OptionValueFileSpec.h.

Constructor & Destructor Documentation

◆ OptionValueFileSpec() [1/3]

OptionValueFileSpec::OptionValueFileSpec ( bool resolve = true)

Definition at line 22 of file OptionValueFileSpec.cpp.

References m_resolve.

◆ OptionValueFileSpec() [2/3]

OptionValueFileSpec::OptionValueFileSpec ( const FileSpec & value,
bool resolve = true )

Definition at line 24 of file OptionValueFileSpec.cpp.

References m_current_value, m_default_value, and m_resolve.

◆ OptionValueFileSpec() [3/3]

OptionValueFileSpec::OptionValueFileSpec ( const FileSpec & current_value,
const FileSpec & default_value,
bool resolve = true )

Definition at line 29 of file OptionValueFileSpec.cpp.

References m_current_value, m_default_value, and m_resolve.

◆ ~OptionValueFileSpec()

lldb_private::OptionValueFileSpec::~OptionValueFileSpec ( )
overridedefault

Member Function Documentation

◆ AutoComplete()

void OptionValueFileSpec::AutoComplete ( CommandInterpreter & interpreter,
CompletionRequest & request )
overridevirtual

◆ ClearImpl()

void lldb_private::OptionValueFileSpec::ClearImpl ( )
inlineoverrideprotectedvirtual

◆ DumpValue()

◆ GetCurrentValue() [1/2]

FileSpec & lldb_private::OptionValueFileSpec::GetCurrentValue ( )
inline

Definition at line 53 of file OptionValueFileSpec.h.

References m_current_value.

◆ GetCurrentValue() [2/2]

const FileSpec & lldb_private::OptionValueFileSpec::GetCurrentValue ( ) const
inline

Definition at line 55 of file OptionValueFileSpec.h.

References m_current_value.

◆ GetDefaultValue()

const FileSpec & lldb_private::OptionValueFileSpec::GetDefaultValue ( ) const
inline

Definition at line 57 of file OptionValueFileSpec.h.

References m_default_value.

◆ GetFileContents()

◆ GetType()

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

◆ IsDefault()

bool lldb_private::OptionValueFileSpec::IsDefault ( ) const
inlineoverridevirtual

Return true if the current value equals the default value.

Subclasses that store a default value should override this to compare against it. The base implementation falls back to OptionWasSet(), which is a reasonable approximation for types without an explicit default.

Reimplemented from lldb_private::OptionValue.

Definition at line 49 of file OptionValueFileSpec.h.

References m_current_value, and m_default_value.

◆ SetCompletionMask()

void lldb_private::OptionValueFileSpec::SetCompletionMask ( uint32_t mask)
inline

Definition at line 70 of file OptionValueFileSpec.h.

References m_completion_mask.

◆ SetCurrentValue()

void lldb_private::OptionValueFileSpec::SetCurrentValue ( const FileSpec & value,
bool set_value_was_set )
inline

◆ SetDefaultValue()

void lldb_private::OptionValueFileSpec::SetDefaultValue ( const FileSpec & value)
inline

Definition at line 66 of file OptionValueFileSpec.h.

References m_default_value.

◆ SetValueFromString()

◆ ToJSON()

llvm::json::Value lldb_private::OptionValueFileSpec::ToJSON ( const ExecutionContext * exe_ctx) const
inlineoverridevirtual

Implements lldb_private::OptionValue.

Definition at line 38 of file OptionValueFileSpec.h.

References m_current_value.

Member Data Documentation

◆ m_completion_mask

uint32_t lldb_private::OptionValueFileSpec::m_completion_mask = lldb::eDiskFileCompletion
protected

Definition at line 84 of file OptionValueFileSpec.h.

Referenced by AutoComplete(), and SetCompletionMask().

◆ m_current_value

◆ m_data_mod_time

llvm::sys::TimePoint lldb_private::OptionValueFileSpec::m_data_mod_time
protected

Definition at line 83 of file OptionValueFileSpec.h.

Referenced by ClearImpl(), GetFileContents(), and SetValueFromString().

◆ m_data_sp

lldb::DataBufferSP lldb_private::OptionValueFileSpec::m_data_sp
protected

◆ m_default_value

FileSpec lldb_private::OptionValueFileSpec::m_default_value
protected

◆ m_resolve

bool lldb_private::OptionValueFileSpec::m_resolve
protected

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