diff options
author | Samuel Benzaquen <sbenza@google.com> | 2014-04-23 14:04:52 +0000 |
---|---|---|
committer | Samuel Benzaquen <sbenza@google.com> | 2014-04-23 14:04:52 +0000 |
commit | 1f6066c9acced984fb808284f40c834a8740fb2b (patch) | |
tree | 9791b9784fc6376a872c3a048630e0ae4d965c6f /clang-tools-extra/clang-query/Query.cpp | |
parent | 5a7c3643437c262137bd3dac7f6a0f5b9e8501be (diff) | |
download | bcm5719-llvm-1f6066c9acced984fb808284f40c834a8740fb2b.tar.gz bcm5719-llvm-1f6066c9acced984fb808284f40c834a8740fb2b.zip |
Add new 'let' command to bind arbitrary values into constants.
Summary:
Add new 'let' command to bind arbitrary values into constants.
These constants can then be used in the matcher expressions.
Reviewers: pcc
CC: cfe-commits
Differential Revision: http://reviews.llvm.org/D3383
llvm-svn: 206984
Diffstat (limited to 'clang-tools-extra/clang-query/Query.cpp')
-rw-r--r-- | clang-tools-extra/clang-query/Query.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/clang-tools-extra/clang-query/Query.cpp b/clang-tools-extra/clang-query/Query.cpp index dcfa80c5277..65a68edea9d 100644 --- a/clang-tools-extra/clang-query/Query.cpp +++ b/clang-tools-extra/clang-query/Query.cpp @@ -54,7 +54,7 @@ struct CollectBoundNodes : MatchFinder::MatchCallback { } }; -} +} // namespace bool MatchQuery::run(llvm::raw_ostream &OS, QuerySession &QS) const { unsigned MatchCount = 0; @@ -124,6 +124,15 @@ bool MatchQuery::run(llvm::raw_ostream &OS, QuerySession &QS) const { return true; } +bool LetQuery::run(llvm::raw_ostream &OS, QuerySession &QS) const { + if (Value) { + QS.NamedValues[Name] = Value; + } else { + QS.NamedValues.erase(Name); + } + return true; +} + #ifndef _MSC_VER const QueryKind SetQueryKind<bool>::value; const QueryKind SetQueryKind<OutputKind>::value; |