From caf496a4ee321fb0232d6b6a6f3b42d0d03a3556 Mon Sep 17 00:00:00 2001 From: Samuel Benzaquen Date: Tue, 12 Aug 2014 21:22:58 +0000 Subject: [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 --- clang-query/QueryParser.cpp | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) (limited to 'clang-query') 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 Comps = Parser::completeExpression( - StringRef(Begin, End - Begin), CompletionPos - Begin); + StringRef(Begin, End - Begin), CompletionPos - Begin, nullptr, + &QS.NamedValues); for (std::vector::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 Matcher = Parser::parseMatcherExpression( - StringRef(Begin, End - Begin), &S, &Diag); + StringRef(Begin, End - Begin), nullptr, &QS.NamedValues, &Diag); if (!Matcher) { return makeInvalidQueryFromDiagnostics(Diag); } -- cgit v1.2.3