From: Stephen Kelly Date: Mon, 1 Oct 2018 20:34:21 +0000 (+0000) Subject: [clang-query] Add missing 'l' command handling X-Git-Tag: llvmorg-8.0.0-rc1~7472 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9af02f2028a9819a505d4a04dee06ba95628ef49;p=platform%2Fupstream%2Fllvm.git [clang-query] Add missing 'l' command handling The `let` command was added in commit 045c15ba (Add new 'let' command to bind arbitrary values into constants., 2014-04-23). The `let` command and the non-existant `l` command were documented in commit 233092a0 (Add 'let' to the help message., 2015-02-27). Implement the `l` command now for completeness. llvm-svn: 343533 --- diff --git a/clang-tools-extra/clang-query/QueryParser.cpp b/clang-tools-extra/clang-query/QueryParser.cpp index 65bd3fc..d05a0ba 100644 --- a/clang-tools-extra/clang-query/QueryParser.cpp +++ b/clang-tools-extra/clang-query/QueryParser.cpp @@ -162,6 +162,7 @@ QueryRef QueryParser::doParse() { ParsedQueryKind QKind = LexOrCompleteWord(this, CommandStr) .Case("", PQK_NoOp) .Case("help", PQK_Help) + .Case("l", PQK_Let, /*IsCompletion=*/false) .Case("let", PQK_Let) .Case("m", PQK_Match, /*IsCompletion=*/false) .Case("match", PQK_Match) diff --git a/clang-tools-extra/unittests/clang-query/QueryParserTest.cpp b/clang-tools-extra/unittests/clang-query/QueryParserTest.cpp index 5588ea3..9929de4 100644 --- a/clang-tools-extra/unittests/clang-query/QueryParserTest.cpp +++ b/clang-tools-extra/unittests/clang-query/QueryParserTest.cpp @@ -103,6 +103,12 @@ TEST_F(QueryParserTest, LetUnlet) { EXPECT_TRUE(cast(Q)->Value.isMatcher()); EXPECT_TRUE(cast(Q)->Value.getMatcher().hasTypedMatcher()); + Q = parse("l foo decl()"); + ASSERT_TRUE(isa(Q)); + EXPECT_EQ("foo", cast(Q)->Name); + EXPECT_TRUE(cast(Q)->Value.isMatcher()); + EXPECT_TRUE(cast(Q)->Value.getMatcher().hasTypedMatcher()); + Q = parse("let bar \"str\""); ASSERT_TRUE(isa(Q)); EXPECT_EQ("bar", cast(Q)->Name);