aboutsummaryrefslogtreecommitdiff
path: root/include/lldb/Interpreter/OptionValueProperties.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/lldb/Interpreter/OptionValueProperties.h')
-rw-r--r--include/lldb/Interpreter/OptionValueProperties.h442
1 files changed, 200 insertions, 242 deletions
diff --git a/include/lldb/Interpreter/OptionValueProperties.h b/include/lldb/Interpreter/OptionValueProperties.h
index c8783bcf36eb..bb4202a2ec1f 100644
--- a/include/lldb/Interpreter/OptionValueProperties.h
+++ b/include/lldb/Interpreter/OptionValueProperties.h
@@ -24,251 +24,209 @@
namespace lldb_private {
-class OptionValueProperties :
- public OptionValue,
- public std::enable_shared_from_this<OptionValueProperties>
-{
+class OptionValueProperties
+ : public OptionValue,
+ public std::enable_shared_from_this<OptionValueProperties> {
public:
- OptionValueProperties () :
- OptionValue(),
- m_name (),
- m_properties (),
- m_name_to_index ()
- {
- }
-
- OptionValueProperties (const ConstString &name);
-
- OptionValueProperties (const OptionValueProperties &global_properties);
-
- ~OptionValueProperties() override = default;
-
- Type
- GetType() const override
- {
- return eTypeProperties;
- }
-
- bool
- Clear() override;
-
- lldb::OptionValueSP
- DeepCopy() const override;
-
- Error
- SetValueFromString(llvm::StringRef value,
- VarSetOperationType op = eVarSetOperationAssign) override;
-
- void
- DumpValue(const ExecutionContext *exe_ctx,
- Stream &strm,
- uint32_t dump_mask) override;
-
- ConstString
- GetName() const override
- {
- return m_name;
- }
-
- virtual Error
- DumpPropertyValue (const ExecutionContext *exe_ctx,
- Stream &strm,
- const char *property_path,
- uint32_t dump_mask);
-
- virtual void
- DumpAllDescriptions (CommandInterpreter &interpreter,
- Stream &strm) const;
-
- void
- Apropos (const char *keyword,
- std::vector<const Property *> &matching_properties) const;
-
- void
- Initialize (const PropertyDefinition *setting_definitions);
-
-// bool
-// GetQualifiedName (Stream &strm);
-
- //---------------------------------------------------------------------
- // Subclass specific functions
- //---------------------------------------------------------------------
-
- virtual size_t
- GetNumProperties() const;
-
- virtual ConstString
- GetPropertyNameAtIndex (uint32_t idx) const;
-
- virtual const char *
- GetPropertyDescriptionAtIndex (uint32_t idx) const;
-
- //---------------------------------------------------------------------
- // Get the index of a property given its exact name in this property
- // collection, "name" can't be a path to a property path that refers
- // to a property within a property
- //---------------------------------------------------------------------
- virtual uint32_t
- GetPropertyIndex (const ConstString &name) const;
-
- //---------------------------------------------------------------------
- // Get a property by exact name exists in this property collection, name
- // can not be a path to a property path that refers to a property within
- // a property
- //---------------------------------------------------------------------
- virtual const Property *
- GetProperty (const ExecutionContext *exe_ctx,
- bool will_modify,
- const ConstString &name) const;
-
- virtual const Property *
- GetPropertyAtIndex (const ExecutionContext *exe_ctx,
- bool will_modify,
- uint32_t idx) const;
-
- //---------------------------------------------------------------------
- // Property can be be a property path like "target.process.extra-startup-command"
- //---------------------------------------------------------------------
- virtual const Property *
- GetPropertyAtPath (const ExecutionContext *exe_ctx,
- bool will_modify,
- const char *property_path) const;
-
- virtual lldb::OptionValueSP
- GetPropertyValueAtIndex (const ExecutionContext *exe_ctx,
- bool will_modify,
- uint32_t idx) const;
-
- virtual lldb::OptionValueSP
- GetValueForKey (const ExecutionContext *exe_ctx,
- const ConstString &key,
- bool value_will_be_modified) const;
-
- lldb::OptionValueSP
- GetSubValue(const ExecutionContext *exe_ctx,
- const char *name,
- bool value_will_be_modified,
- Error &error) const override;
-
- Error
- SetSubValue(const ExecutionContext *exe_ctx,
- VarSetOperationType op,
- const char *path,
- const char *value) override;
-
- virtual bool
- PredicateMatches (const ExecutionContext *exe_ctx,
- const char *predicate) const
- {
- return false;
- }
-
-
- OptionValueArch *
- GetPropertyAtIndexAsOptionValueArch (const ExecutionContext *exe_ctx, uint32_t idx) const;
-
- OptionValueLanguage *
- GetPropertyAtIndexAsOptionValueLanguage (const ExecutionContext *exe_ctx, uint32_t idx) const;
-
- bool
- GetPropertyAtIndexAsArgs (const ExecutionContext *exe_ctx, uint32_t idx, Args &args) const;
-
- bool
- SetPropertyAtIndexFromArgs (const ExecutionContext *exe_ctx, uint32_t idx, const Args &args);
-
- bool
- GetPropertyAtIndexAsBoolean (const ExecutionContext *exe_ctx, uint32_t idx, bool fail_value) const;
-
- bool
- SetPropertyAtIndexAsBoolean (const ExecutionContext *exe_ctx, uint32_t idx, bool new_value);
-
- OptionValueDictionary *
- GetPropertyAtIndexAsOptionValueDictionary (const ExecutionContext *exe_ctx, uint32_t idx) const;
-
- int64_t
- GetPropertyAtIndexAsEnumeration (const ExecutionContext *exe_ctx, uint32_t idx, int64_t fail_value) const;
-
- bool
- SetPropertyAtIndexAsEnumeration (const ExecutionContext *exe_ctx, uint32_t idx, int64_t new_value);
-
- const FormatEntity::Entry *
- GetPropertyAtIndexAsFormatEntity (const ExecutionContext *exe_ctx, uint32_t idx);
-
- const RegularExpression *
- GetPropertyAtIndexAsOptionValueRegex (const ExecutionContext *exe_ctx, uint32_t idx) const;
-
- OptionValueSInt64 *
- GetPropertyAtIndexAsOptionValueSInt64 (const ExecutionContext *exe_ctx, uint32_t idx) const;
-
- int64_t
- GetPropertyAtIndexAsSInt64 (const ExecutionContext *exe_ctx, uint32_t idx, int64_t fail_value) const;
-
- bool
- SetPropertyAtIndexAsSInt64 (const ExecutionContext *exe_ctx, uint32_t idx, int64_t new_value);
-
- uint64_t
- GetPropertyAtIndexAsUInt64 (const ExecutionContext *exe_ctx, uint32_t idx, uint64_t fail_value) const;
-
- bool
- SetPropertyAtIndexAsUInt64 (const ExecutionContext *exe_ctx, uint32_t idx, uint64_t new_value);
-
- const char *
- GetPropertyAtIndexAsString (const ExecutionContext *exe_ctx, uint32_t idx, const char *fail_value) const;
-
- bool
- SetPropertyAtIndexAsString (const ExecutionContext *exe_ctx, uint32_t idx, const char *new_value);
-
- OptionValueString *
- GetPropertyAtIndexAsOptionValueString (const ExecutionContext *exe_ctx, bool will_modify, uint32_t idx) const;
-
- OptionValueFileSpec *
- GetPropertyAtIndexAsOptionValueFileSpec (const ExecutionContext *exe_ctx, bool will_modify, uint32_t idx) const;
-
- FileSpec
- GetPropertyAtIndexAsFileSpec (const ExecutionContext *exe_ctx, uint32_t idx) const;
-
- bool
- SetPropertyAtIndexAsFileSpec (const ExecutionContext *exe_ctx, uint32_t idx, const FileSpec &file_spec);
-
- OptionValuePathMappings *
- GetPropertyAtIndexAsOptionValuePathMappings (const ExecutionContext *exe_ctx, bool will_modify, uint32_t idx) const;
-
- OptionValueFileSpecList *
- GetPropertyAtIndexAsOptionValueFileSpecList (const ExecutionContext *exe_ctx, bool will_modify, uint32_t idx) const;
-
- void
- AppendProperty(const ConstString &name,
- const ConstString &desc,
- bool is_global,
- const lldb::OptionValueSP &value_sp);
-
- lldb::OptionValuePropertiesSP
- GetSubProperty (const ExecutionContext *exe_ctx,
- const ConstString &name);
-
- void
- SetValueChangedCallback (uint32_t property_idx,
- OptionValueChangedCallback callback,
- void *baton);
+ OptionValueProperties()
+ : OptionValue(), m_name(), m_properties(), m_name_to_index() {}
+
+ OptionValueProperties(const ConstString &name);
+
+ OptionValueProperties(const OptionValueProperties &global_properties);
+
+ ~OptionValueProperties() override = default;
+
+ Type GetType() const override { return eTypeProperties; }
+
+ bool Clear() override;
+
+ lldb::OptionValueSP DeepCopy() const override;
+
+ Error
+ SetValueFromString(llvm::StringRef value,
+ VarSetOperationType op = eVarSetOperationAssign) override;
+
+ void DumpValue(const ExecutionContext *exe_ctx, Stream &strm,
+ uint32_t dump_mask) override;
+
+ ConstString GetName() const override { return m_name; }
+
+ virtual Error DumpPropertyValue(const ExecutionContext *exe_ctx, Stream &strm,
+ llvm::StringRef property_path,
+ uint32_t dump_mask);
+
+ virtual void DumpAllDescriptions(CommandInterpreter &interpreter,
+ Stream &strm) const;
+
+ void Apropos(llvm::StringRef keyword,
+ std::vector<const Property *> &matching_properties) const;
+
+ void Initialize(const PropertyDefinition *setting_definitions);
+
+ // bool
+ // GetQualifiedName (Stream &strm);
+
+ //---------------------------------------------------------------------
+ // Subclass specific functions
+ //---------------------------------------------------------------------
+
+ virtual size_t GetNumProperties() const;
+
+ //---------------------------------------------------------------------
+ // Get the index of a property given its exact name in this property
+ // collection, "name" can't be a path to a property path that refers
+ // to a property within a property
+ //---------------------------------------------------------------------
+ virtual uint32_t GetPropertyIndex(const ConstString &name) const;
+
+ //---------------------------------------------------------------------
+ // Get a property by exact name exists in this property collection, name
+ // can not be a path to a property path that refers to a property within
+ // a property
+ //---------------------------------------------------------------------
+ virtual const Property *GetProperty(const ExecutionContext *exe_ctx,
+ bool will_modify,
+ const ConstString &name) const;
+
+ virtual const Property *GetPropertyAtIndex(const ExecutionContext *exe_ctx,
+ bool will_modify,
+ uint32_t idx) const;
+
+ //---------------------------------------------------------------------
+ // Property can be be a property path like
+ // "target.process.extra-startup-command"
+ //---------------------------------------------------------------------
+ virtual const Property *GetPropertyAtPath(const ExecutionContext *exe_ctx,
+ bool will_modify,
+ llvm::StringRef property_path) const;
+
+ virtual lldb::OptionValueSP
+ GetPropertyValueAtIndex(const ExecutionContext *exe_ctx, bool will_modify,
+ uint32_t idx) const;
+
+ virtual lldb::OptionValueSP GetValueForKey(const ExecutionContext *exe_ctx,
+ const ConstString &key,
+ bool value_will_be_modified) const;
+
+ lldb::OptionValueSP GetSubValue(const ExecutionContext *exe_ctx,
+ llvm::StringRef name, bool value_will_be_modified,
+ Error &error) const override;
+
+ Error SetSubValue(const ExecutionContext *exe_ctx, VarSetOperationType op,
+ llvm::StringRef path, llvm::StringRef value) override;
+
+ virtual bool PredicateMatches(const ExecutionContext *exe_ctx,
+ llvm::StringRef predicate) const {
+ return false;
+ }
+
+ OptionValueArch *
+ GetPropertyAtIndexAsOptionValueArch(const ExecutionContext *exe_ctx,
+ uint32_t idx) const;
+
+ OptionValueLanguage *
+ GetPropertyAtIndexAsOptionValueLanguage(const ExecutionContext *exe_ctx,
+ uint32_t idx) const;
+
+ bool GetPropertyAtIndexAsArgs(const ExecutionContext *exe_ctx, uint32_t idx,
+ Args &args) const;
+
+ bool SetPropertyAtIndexFromArgs(const ExecutionContext *exe_ctx, uint32_t idx,
+ const Args &args);
+
+ bool GetPropertyAtIndexAsBoolean(const ExecutionContext *exe_ctx,
+ uint32_t idx, bool fail_value) const;
+
+ bool SetPropertyAtIndexAsBoolean(const ExecutionContext *exe_ctx,
+ uint32_t idx, bool new_value);
+
+ OptionValueDictionary *
+ GetPropertyAtIndexAsOptionValueDictionary(const ExecutionContext *exe_ctx,
+ uint32_t idx) const;
+
+ int64_t GetPropertyAtIndexAsEnumeration(const ExecutionContext *exe_ctx,
+ uint32_t idx,
+ int64_t fail_value) const;
+
+ bool SetPropertyAtIndexAsEnumeration(const ExecutionContext *exe_ctx,
+ uint32_t idx, int64_t new_value);
+
+ const FormatEntity::Entry *
+ GetPropertyAtIndexAsFormatEntity(const ExecutionContext *exe_ctx,
+ uint32_t idx);
+
+ const RegularExpression *
+ GetPropertyAtIndexAsOptionValueRegex(const ExecutionContext *exe_ctx,
+ uint32_t idx) const;
+
+ OptionValueSInt64 *
+ GetPropertyAtIndexAsOptionValueSInt64(const ExecutionContext *exe_ctx,
+ uint32_t idx) const;
+
+ int64_t GetPropertyAtIndexAsSInt64(const ExecutionContext *exe_ctx,
+ uint32_t idx, int64_t fail_value) const;
+
+ bool SetPropertyAtIndexAsSInt64(const ExecutionContext *exe_ctx, uint32_t idx,
+ int64_t new_value);
+
+ uint64_t GetPropertyAtIndexAsUInt64(const ExecutionContext *exe_ctx,
+ uint32_t idx, uint64_t fail_value) const;
+
+ bool SetPropertyAtIndexAsUInt64(const ExecutionContext *exe_ctx, uint32_t idx,
+ uint64_t new_value);
+
+ llvm::StringRef GetPropertyAtIndexAsString(const ExecutionContext *exe_ctx,
+ uint32_t idx,
+ llvm::StringRef fail_value) const;
+
+ bool SetPropertyAtIndexAsString(const ExecutionContext *exe_ctx, uint32_t idx,
+ llvm::StringRef new_value);
+
+ OptionValueString *
+ GetPropertyAtIndexAsOptionValueString(const ExecutionContext *exe_ctx,
+ bool will_modify, uint32_t idx) const;
+
+ OptionValueFileSpec *
+ GetPropertyAtIndexAsOptionValueFileSpec(const ExecutionContext *exe_ctx,
+ bool will_modify, uint32_t idx) const;
+
+ FileSpec GetPropertyAtIndexAsFileSpec(const ExecutionContext *exe_ctx,
+ uint32_t idx) const;
+
+ bool SetPropertyAtIndexAsFileSpec(const ExecutionContext *exe_ctx,
+ uint32_t idx, const FileSpec &file_spec);
+
+ OptionValuePathMappings *GetPropertyAtIndexAsOptionValuePathMappings(
+ const ExecutionContext *exe_ctx, bool will_modify, uint32_t idx) const;
+
+ OptionValueFileSpecList *GetPropertyAtIndexAsOptionValueFileSpecList(
+ const ExecutionContext *exe_ctx, bool will_modify, uint32_t idx) const;
+
+ void AppendProperty(const ConstString &name, const ConstString &desc,
+ bool is_global, const lldb::OptionValueSP &value_sp);
+
+ lldb::OptionValuePropertiesSP GetSubProperty(const ExecutionContext *exe_ctx,
+ const ConstString &name);
+
+ void SetValueChangedCallback(uint32_t property_idx,
+ OptionValueChangedCallback callback,
+ void *baton);
protected:
- Property *
- ProtectedGetPropertyAtIndex(uint32_t idx)
- {
- return ((idx < m_properties.size()) ? &m_properties[idx] : nullptr);
- }
-
- const Property *
- ProtectedGetPropertyAtIndex(uint32_t idx) const
- {
- return ((idx < m_properties.size()) ? &m_properties[idx] : nullptr);
- }
-
- typedef UniqueCStringMap<size_t> NameToIndex;
-
- ConstString m_name;
- std::vector<Property> m_properties;
- NameToIndex m_name_to_index;
+ Property *ProtectedGetPropertyAtIndex(uint32_t idx) {
+ return ((idx < m_properties.size()) ? &m_properties[idx] : nullptr);
+ }
+
+ const Property *ProtectedGetPropertyAtIndex(uint32_t idx) const {
+ return ((idx < m_properties.size()) ? &m_properties[idx] : nullptr);
+ }
+
+ typedef UniqueCStringMap<size_t> NameToIndex;
+
+ ConstString m_name;
+ std::vector<Property> m_properties;
+ NameToIndex m_name_to_index;
};
} // namespace lldb_private