[Lldb-commits] [lldb] 4cd873c - [lldb][NFC] Remove property predicate matcher
Raphael Isemann via lldb-commits
lldb-commits at lists.llvm.org
Tue Oct 13 08:09:50 PDT 2020
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
More information about the lldb-commits
mailing list