diff options
-rw-r--r-- | clang-tools-extra/clang-query/Query.cpp | 6 | ||||
-rw-r--r-- | clang-tools-extra/clang-query/Query.h | 2 | ||||
-rw-r--r-- | clang-tools-extra/clang-query/QueryParser.cpp | 8 | ||||
-rw-r--r-- | clang-tools-extra/unittests/clang-query/QueryEngineTest.cpp | 3 | ||||
-rw-r--r-- | clang-tools-extra/unittests/clang-query/QueryParserTest.cpp | 11 |
5 files changed, 20 insertions, 10 deletions
diff --git a/clang-tools-extra/clang-query/Query.cpp b/clang-tools-extra/clang-query/Query.cpp index 3e83bbc92b2..abf1a32470d 100644 --- a/clang-tools-extra/clang-query/Query.cpp +++ b/clang-tools-extra/clang-query/Query.cpp @@ -53,8 +53,10 @@ bool HelpQuery::run(llvm::raw_ostream &OS, QuerySession &QS) const { "Pretty-print bound nodes.\n" " diag " "Diagnostic location for bound nodes.\n" + " detailed-ast " + "Detailed AST output for bound nodes.\n" " dump " - "Detailed AST output for bound nodes.\n\n"; + "Detailed AST output for bound nodes (alias of detailed-ast).\n\n"; return true; } @@ -124,7 +126,7 @@ bool MatchQuery::run(llvm::raw_ostream &OS, QuerySession &QS) const { OS << "\n"; break; } - case OK_Dump: { + case OK_DetailedAST: { OS << "Binding for \"" << BI->first << "\":\n"; BI->second.dump(OS, AST->getSourceManager()); OS << "\n"; diff --git a/clang-tools-extra/clang-query/Query.h b/clang-tools-extra/clang-query/Query.h index 7771139a14c..e8f4ff34bed 100644 --- a/clang-tools-extra/clang-query/Query.h +++ b/clang-tools-extra/clang-query/Query.h @@ -18,7 +18,7 @@ namespace clang { namespace query { -enum OutputKind { OK_Diag, OK_Print, OK_Dump }; +enum OutputKind { OK_Diag, OK_Print, OK_DetailedAST }; enum QueryKind { QK_Invalid, diff --git a/clang-tools-extra/clang-query/QueryParser.cpp b/clang-tools-extra/clang-query/QueryParser.cpp index e7312d8d58d..eec32024945 100644 --- a/clang-tools-extra/clang-query/QueryParser.cpp +++ b/clang-tools-extra/clang-query/QueryParser.cpp @@ -111,11 +111,13 @@ QueryRef QueryParser::parseSetOutputKind() { unsigned OutKind = LexOrCompleteWord<unsigned>(this, ValStr) .Case("diag", OK_Diag) .Case("print", OK_Print) - .Case("dump", OK_Dump) + .Case("detailed-ast", OK_DetailedAST) + .Case("dump", OK_DetailedAST) .Default(~0u); if (OutKind == ~0u) { - return new InvalidQuery("expected 'diag', 'print' or 'dump', got '" + - ValStr + "'"); + return new InvalidQuery( + "expected 'diag', 'print', 'detailed-ast' or 'dump', got '" + ValStr + + "'"); } return new SetQuery<OutputKind>(&QuerySession::OutKind, OutputKind(OutKind)); } diff --git a/clang-tools-extra/unittests/clang-query/QueryEngineTest.cpp b/clang-tools-extra/unittests/clang-query/QueryEngineTest.cpp index 74fd6d1a3f4..411b84d4717 100644 --- a/clang-tools-extra/unittests/clang-query/QueryEngineTest.cpp +++ b/clang-tools-extra/unittests/clang-query/QueryEngineTest.cpp @@ -103,7 +103,8 @@ TEST_F(QueryEngineTest, Basic) { Str.clear(); - EXPECT_TRUE(SetQuery<OutputKind>(&QuerySession::OutKind, OK_Dump).run(OS, S)); + EXPECT_TRUE( + SetQuery<OutputKind>(&QuerySession::OutKind, OK_DetailedAST).run(OS, S)); EXPECT_TRUE(MatchQuery(FooMatcherString, FooMatcher).run(OS, S)); EXPECT_TRUE(OS.str().find("FunctionDecl") != std::string::npos); diff --git a/clang-tools-extra/unittests/clang-query/QueryParserTest.cpp b/clang-tools-extra/unittests/clang-query/QueryParserTest.cpp index 62844c896e6..2d69349c8d2 100644 --- a/clang-tools-extra/unittests/clang-query/QueryParserTest.cpp +++ b/clang-tools-extra/unittests/clang-query/QueryParserTest.cpp @@ -70,7 +70,7 @@ TEST_F(QueryParserTest, Set) { Q = parse("set output"); ASSERT_TRUE(isa<InvalidQuery>(Q)); - EXPECT_EQ("expected 'diag', 'print' or 'dump', got ''", + EXPECT_EQ("expected 'diag', 'print', 'detailed-ast' or 'dump', got ''", cast<InvalidQuery>(Q)->ErrStr); Q = parse("set bind-root true foo"); @@ -79,13 +79,18 @@ TEST_F(QueryParserTest, Set) { Q = parse("set output foo"); ASSERT_TRUE(isa<InvalidQuery>(Q)); - EXPECT_EQ("expected 'diag', 'print' or 'dump', got 'foo'", + EXPECT_EQ("expected 'diag', 'print', 'detailed-ast' or 'dump', got 'foo'", cast<InvalidQuery>(Q)->ErrStr); Q = parse("set output dump"); ASSERT_TRUE(isa<SetQuery<OutputKind> >(Q)); EXPECT_EQ(&QuerySession::OutKind, cast<SetQuery<OutputKind> >(Q)->Var); - EXPECT_EQ(OK_Dump, cast<SetQuery<OutputKind> >(Q)->Value); + EXPECT_EQ(OK_DetailedAST, cast<SetQuery<OutputKind>>(Q)->Value); + + Q = parse("set output detailed-ast"); + ASSERT_TRUE(isa<SetQuery<OutputKind>>(Q)); + EXPECT_EQ(&QuerySession::OutKind, cast<SetQuery<OutputKind>>(Q)->Var); + EXPECT_EQ(OK_DetailedAST, cast<SetQuery<OutputKind>>(Q)->Value); Q = parse("set bind-root foo"); ASSERT_TRUE(isa<InvalidQuery>(Q)); |