aboutsummaryrefslogtreecommitdiff
path: root/include/lldb/Interpreter/OptionValueRegex.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/lldb/Interpreter/OptionValueRegex.h')
-rw-r--r--include/lldb/Interpreter/OptionValueRegex.h110
1 files changed, 47 insertions, 63 deletions
diff --git a/include/lldb/Interpreter/OptionValueRegex.h b/include/lldb/Interpreter/OptionValueRegex.h
index a094a402b1a9..7125daffedee 100644
--- a/include/lldb/Interpreter/OptionValueRegex.h
+++ b/include/lldb/Interpreter/OptionValueRegex.h
@@ -19,71 +19,55 @@
namespace lldb_private {
-class OptionValueRegex : public OptionValue
-{
+class OptionValueRegex : public OptionValue {
public:
- OptionValueRegex(const char *value = nullptr) :
- OptionValue(),
- m_regex (value)
- {
- }
-
- ~OptionValueRegex() override = default;
-
- //---------------------------------------------------------------------
- // Virtual subclass pure virtual overrides
- //---------------------------------------------------------------------
-
- OptionValue::Type
- GetType() const override
- {
- return eTypeRegex;
- }
-
- void
- DumpValue(const ExecutionContext *exe_ctx, Stream &strm, uint32_t dump_mask) override;
-
- Error
- SetValueFromString(llvm::StringRef value,
- VarSetOperationType op = eVarSetOperationAssign) override;
-
- bool
- Clear() override
- {
- m_regex.Clear();
- m_value_was_set = false;
- return true;
- }
-
- lldb::OptionValueSP
- DeepCopy() const override;
-
- //---------------------------------------------------------------------
- // Subclass specific functions
- //---------------------------------------------------------------------
- const RegularExpression *
- GetCurrentValue() const
- {
- return (m_regex.IsValid() ? &m_regex : nullptr);
- }
-
- void
- SetCurrentValue (const char *value)
- {
- if (value && value[0])
- m_regex.Compile (value);
- else
- m_regex.Clear();
- }
-
- bool
- IsValid () const
- {
- return m_regex.IsValid();
- }
-
+ OptionValueRegex(const char *value = nullptr)
+ : OptionValue(), m_regex(llvm::StringRef::withNullAsEmpty(value)) {}
+
+ ~OptionValueRegex() override = default;
+
+ //---------------------------------------------------------------------
+ // Virtual subclass pure virtual overrides
+ //---------------------------------------------------------------------
+
+ OptionValue::Type GetType() const override { return eTypeRegex; }
+
+ void DumpValue(const ExecutionContext *exe_ctx, Stream &strm,
+ uint32_t dump_mask) override;
+
+ Error
+ SetValueFromString(llvm::StringRef value,
+ VarSetOperationType op = eVarSetOperationAssign) override;
+ Error
+ SetValueFromString(const char *,
+ VarSetOperationType = eVarSetOperationAssign) = delete;
+
+ bool Clear() override {
+ m_regex.Clear();
+ m_value_was_set = false;
+ return true;
+ }
+
+ lldb::OptionValueSP DeepCopy() const override;
+
+ //---------------------------------------------------------------------
+ // Subclass specific functions
+ //---------------------------------------------------------------------
+ const RegularExpression *GetCurrentValue() const {
+ return (m_regex.IsValid() ? &m_regex : nullptr);
+ }
+
+ void SetCurrentValue(const char *value) {
+ if (value && value[0])
+ m_regex.Compile(llvm::StringRef(value));
+ else
+ m_regex.Clear();
+ }
+
+ bool IsValid() const { return m_regex.IsValid(); }
+
protected:
- RegularExpression m_regex;
+ RegularExpression m_regex;
};
} // namespace lldb_private