summaryrefslogtreecommitdiffstats
path: root/clang-query
diff options
context:
space:
mode:
authorSamuel Benzaquen <sbenza@google.com>2014-08-12 21:22:58 +0000
committerSamuel Benzaquen <sbenza@google.com>2014-08-12 21:22:58 +0000
commitcaf496a4ee321fb0232d6b6a6f3b42d0d03a3556 (patch)
tree6d7fff276251e6dadd707bdfbc6794571d24b565 /clang-query
parent45bed8c5e9b3c0bdde287064863a70dcca09abdf (diff)
[clang-query] Use the new API for named values from the Parser.
Summary: This finishes the support for autocomplete for user defined values.. Reviewers: pcc Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D4851 git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@215474 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'clang-query')
-rw-r--r--clang-query/QueryParser.cpp23
1 files changed, 5 insertions, 18 deletions
diff --git a/clang-query/QueryParser.cpp b/clang-query/QueryParser.cpp
index 9d5e2b18..7df7dd28 100644
--- a/clang-query/QueryParser.cpp
+++ b/clang-query/QueryParser.cpp
@@ -157,23 +157,12 @@ QueryRef makeInvalidQueryFromDiagnostics(const Diagnostics &Diag) {
return new InvalidQuery(OS.str());
}
-class QuerySessionSema : public Parser::RegistrySema {
-public:
- QuerySessionSema(const QuerySession &QS) : QS(QS) {}
-
- ast_matchers::dynamic::VariantValue getNamedValue(StringRef Name) override {
- return QS.NamedValues.lookup(Name);
- }
-
-private:
- const QuerySession &QS;
-};
-
} // namespace
QueryRef QueryParser::completeMatcherExpression() {
std::vector<MatcherCompletion> Comps = Parser::completeExpression(
- StringRef(Begin, End - Begin), CompletionPos - Begin);
+ StringRef(Begin, End - Begin), CompletionPos - Begin, nullptr,
+ &QS.NamedValues);
for (std::vector<MatcherCompletion>::iterator I = Comps.begin(),
E = Comps.end();
I != E; ++I) {
@@ -194,8 +183,6 @@ QueryRef QueryParser::doParse() {
.Case("unlet", PQK_Unlet)
.Default(PQK_Invalid);
- QuerySessionSema S(QS);
-
switch (QKind) {
case PQK_NoOp:
return new NoOpQuery;
@@ -214,8 +201,8 @@ QueryRef QueryParser::doParse() {
Diagnostics Diag;
ast_matchers::dynamic::VariantValue Value;
- if (!Parser::parseExpression(StringRef(Begin, End - Begin), &S, &Value,
- &Diag)) {
+ if (!Parser::parseExpression(StringRef(Begin, End - Begin), nullptr,
+ &QS.NamedValues, &Value, &Diag)) {
return makeInvalidQueryFromDiagnostics(Diag);
}
@@ -228,7 +215,7 @@ QueryRef QueryParser::doParse() {
Diagnostics Diag;
Optional<DynTypedMatcher> Matcher = Parser::parseMatcherExpression(
- StringRef(Begin, End - Begin), &S, &Diag);
+ StringRef(Begin, End - Begin), nullptr, &QS.NamedValues, &Diag);
if (!Matcher) {
return makeInvalidQueryFromDiagnostics(Diag);
}