From a1e1590ce011f93677024d8962266b71f09c65cf Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Mon, 1 Oct 2018 20:34:21 +0000 Subject: [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. --- clang-tools-extra/clang-query/QueryParser.cpp | 1 + clang-tools-extra/unittests/clang-query/QueryParserTest.cpp | 6 ++++++ 2 files changed, 7 insertions(+) (limited to 'clang-tools-extra') diff --git a/clang-tools-extra/clang-query/QueryParser.cpp b/clang-tools-extra/clang-query/QueryParser.cpp index 65bd3fc7d4b..d05a0ba1c09 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 5588ea3c7af..9929de44fb9 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); -- cgit v1.2.3