diff options
author | Samuel Benzaquen <sbenza@google.com> | 2013-07-15 19:25:06 +0000 |
---|---|---|
committer | Samuel Benzaquen <sbenza@google.com> | 2013-07-15 19:25:06 +0000 |
commit | 79656e19c8b8919f461367f5c03c3eb27be5548b (patch) | |
tree | 50710f3b018bcbc4f2dad09ecb09f1b9d4aa0d22 /clang/unittests/ASTMatchers/Dynamic/ParserTest.cpp | |
parent | 31209cc8ebb30bc546b34f28273634af3a4850b0 (diff) | |
download | bcm5719-llvm-79656e19c8b8919f461367f5c03c3eb27be5548b.tar.gz bcm5719-llvm-79656e19c8b8919f461367f5c03c3eb27be5548b.zip |
Add support for type traversal matchers.
Summary:
Fixup the type traversal macros/matchers to specify the supported types.
Make the marshallers a little more generic to support any variadic function.
Update the doc script.
Reviewers: klimek
CC: cfe-commits, revane
Differential Revision: http://llvm-reviews.chandlerc.com/D1023
llvm-svn: 186340
Diffstat (limited to 'clang/unittests/ASTMatchers/Dynamic/ParserTest.cpp')
-rw-r--r-- | clang/unittests/ASTMatchers/Dynamic/ParserTest.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/clang/unittests/ASTMatchers/Dynamic/ParserTest.cpp b/clang/unittests/ASTMatchers/Dynamic/ParserTest.cpp index e6b04e0f762..6ef32dd47ac 100644 --- a/clang/unittests/ASTMatchers/Dynamic/ParserTest.cpp +++ b/clang/unittests/ASTMatchers/Dynamic/ParserTest.cpp @@ -179,10 +179,12 @@ TEST(ParserTest, ParseMatcher) { using ast_matchers::internal::Matcher; TEST(ParserTest, FullParserTest) { + Diagnostics Error; OwningPtr<DynTypedMatcher> VarDecl(Parser::parseMatcherExpression( "varDecl(hasInitializer(binaryOperator(hasLHS(integerLiteral())," " hasOperatorName(\"+\"))))", - NULL)); + &Error)); + EXPECT_EQ("", Error.ToStringFull()); Matcher<Decl> M = Matcher<Decl>::constructFrom(*VarDecl); EXPECT_TRUE(matches("int x = 1 + false;", M)); EXPECT_FALSE(matches("int x = true + 1;", M)); @@ -190,13 +192,13 @@ TEST(ParserTest, FullParserTest) { EXPECT_FALSE(matches("int x = true - 1;", M)); OwningPtr<DynTypedMatcher> HasParameter(Parser::parseMatcherExpression( - "functionDecl(hasParameter(1, hasName(\"x\")))", NULL)); + "functionDecl(hasParameter(1, hasName(\"x\")))", &Error)); + EXPECT_EQ("", Error.ToStringFull()); M = Matcher<Decl>::constructFrom(*HasParameter); EXPECT_TRUE(matches("void f(int a, int x);", M)); EXPECT_FALSE(matches("void f(int x, int a);", M)); - Diagnostics Error; EXPECT_TRUE(Parser::parseMatcherExpression( "hasInitializer(\n binaryOperator(hasLHS(\"A\")))", &Error) == NULL); EXPECT_EQ("1:1: Error parsing argument 1 for matcher hasInitializer.\n" |