Author: Raphael Isemann Date: 2020-10-13T17:09:27+02:00 New Revision: 4cd873c4bd7ff66d4af2bf5e57c27e6924bfc92a
URL: https://github.com/llvm/llvm-project/commit/4cd873c4bd7ff66d4af2bf5e57c27e6924bfc92a DIFF: https://github.com/llvm/llvm-project/commit/4cd873c4bd7ff66d4af2bf5e57c27e6924bfc92a.diff LOG: [lldb][NFC] Remove property predicate matcher That's supposed to be used to implement things such as `settings set target.run-args{basename==test&&arch==x86_64} arg1` but it's not actually fully implemented or tested anywhere. Reviewed By: JDevlieghere Differential Revision: https://reviews.llvm.org/D88910 Added: Modified: lldb/include/lldb/Interpreter/OptionValueProperties.h lldb/source/Interpreter/OptionValueProperties.cpp Removed: ################################################################################ diff --git a/lldb/include/lldb/Interpreter/OptionValueProperties.h b/lldb/include/lldb/Interpreter/OptionValueProperties.h index bd944b6a5adf..d60afdeb46fb 100644 --- a/lldb/include/lldb/Interpreter/OptionValueProperties.h +++ b/lldb/include/lldb/Interpreter/OptionValueProperties.h @@ -104,11 +104,6 @@ class OptionValueProperties Status 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; diff --git a/lldb/source/Interpreter/OptionValueProperties.cpp b/lldb/source/Interpreter/OptionValueProperties.cpp index 5b82008ca571..6c4e77f614f9 100644 --- a/lldb/source/Interpreter/OptionValueProperties.cpp +++ b/lldb/source/Interpreter/OptionValueProperties.cpp @@ -147,38 +147,6 @@ OptionValueProperties::GetSubValue(const ExecutionContext *exe_ctx, } return return_val_sp; } - case '{': - // Predicate matching for predicates like - // "<setting-name>{<predicate>}" - // strings are parsed by the current OptionValueProperties subclass to mean - // whatever they want to. For instance a subclass of OptionValueProperties - // for a lldb_private::Target might implement: "target.run- - // args{arch==i386}" -- only set run args if the arch is i386 "target - // .run-args{path=/tmp/a/b/c/a.out}" -- only set run args if the path - // matches "target.run-args{basename==test&&arch==x86_64}" -- only set run - // args if executable basename is "test" and arch is "x86_64" - if (sub_name[1]) { - llvm::StringRef predicate_start = sub_name.drop_front(); - size_t pos = predicate_start.find('}'); - if (pos != llvm::StringRef::npos) { - auto predicate = predicate_start.take_front(pos); - auto rest = predicate_start.drop_front(pos); - if (PredicateMatches(exe_ctx, predicate)) { - if (!rest.empty()) { - // Still more subvalue string to evaluate - return value_sp->GetSubValue(exe_ctx, rest, - will_modify, error); - } else { - // We have a match! - break; - } - } - } - } - // Predicate didn't match or wasn't correctly formed - value_sp.reset(); - break; - case '[': // Array or dictionary access for subvalues like: "[12]" -- access // 12th array element "['hello']" -- dictionary access of key named hello _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits