diff options
author | George Karpenkov <ekarpenkov@apple.com> | 2018-03-29 00:51:12 +0000 |
---|---|---|
committer | George Karpenkov <ekarpenkov@apple.com> | 2018-03-29 00:51:12 +0000 |
commit | 88a16a07909b4187296bf53158eb2f7a8d989516 (patch) | |
tree | 1eee683e8a30366b228d59cdb9fae2bfec17dcd8 /clang/unittests/ASTMatchers/Dynamic/ParserTest.cpp | |
parent | 9d1d0c4c5747bbeca0df0a8e6d37b018d24ecd91 (diff) | |
download | bcm5719-llvm-88a16a07909b4187296bf53158eb2f7a8d989516.tar.gz bcm5719-llvm-88a16a07909b4187296bf53158eb2f7a8d989516.zip |
[ASTMatchers] Introduce a matcher for matching any given Objective-C selector
Incudes a tiny related refactoring.
Differential Revision: https://reviews.llvm.org/D44858
llvm-svn: 328747
Diffstat (limited to 'clang/unittests/ASTMatchers/Dynamic/ParserTest.cpp')
-rw-r--r-- | clang/unittests/ASTMatchers/Dynamic/ParserTest.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/unittests/ASTMatchers/Dynamic/ParserTest.cpp b/clang/unittests/ASTMatchers/Dynamic/ParserTest.cpp index 7224db0942a..d670e3129b8 100644 --- a/clang/unittests/ASTMatchers/Dynamic/ParserTest.cpp +++ b/clang/unittests/ASTMatchers/Dynamic/ParserTest.cpp @@ -236,6 +236,17 @@ TEST(ParserTest, FullParserTest) { Error.toStringFull()); } +TEST(ParserTest, VariadicMatchTest) { + Diagnostics Error; + llvm::Optional<DynTypedMatcher> OM(Parser::parseMatcherExpression( + "stmt(objcMessageExpr(hasAnySelector(\"methodA\", \"methodB:\")))", + &Error)); + EXPECT_EQ("", Error.toStringFull()); + auto M = OM->unconditionalConvertTo<Stmt>(); + EXPECT_TRUE(matchesObjC("@interface I @end " + "void foo(I* i) { [i methodA]; }", M)); +} + std::string ParseWithError(StringRef Code) { Diagnostics Error; VariantValue Value; |