From d7b18b9f2ff8077e87468a09df3a8f72eeb929d9 Mon Sep 17 00:00:00 2001 From: Aaron Ballman Date: Mon, 18 Jan 2016 20:28:57 +0000 Subject: Augments r258042; changes the AST matcher tests to use matchesNot and EXPECT_TRUE instead of EXPECT_FALSE. Adds a matcher test to ensure that static member functions are properly handled. Generates the documentation from the matcher. llvm-svn: 258070 --- clang/unittests/ASTMatchers/ASTMatchersTest.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'clang/unittests/ASTMatchers/ASTMatchersTest.cpp') diff --git a/clang/unittests/ASTMatchers/ASTMatchersTest.cpp b/clang/unittests/ASTMatchers/ASTMatchersTest.cpp index 46392dcd63a..c76100a433c 100644 --- a/clang/unittests/ASTMatchers/ASTMatchersTest.cpp +++ b/clang/unittests/ASTMatchers/ASTMatchersTest.cpp @@ -1616,9 +1616,9 @@ TEST(ForEachArgumentWithParam, ReportsNoFalsePositives) { callExpr(forEachArgumentWithParam(ArgumentY, IntParam)); // IntParam does not match. - EXPECT_FALSE(matches("void f(int* i) { int* y; f(y); }", CallExpr)); + EXPECT_TRUE(notMatches("void f(int* i) { int* y; f(y); }", CallExpr)); // ArgumentY does not match. - EXPECT_FALSE(matches("void f(int i) { int x; f(x); }", CallExpr)); + EXPECT_TRUE(notMatches("void f(int i) { int x; f(x); }", CallExpr)); } TEST(ForEachArgumentWithParam, MatchesCXXMemberCallExpr) { @@ -1636,6 +1636,18 @@ TEST(ForEachArgumentWithParam, MatchesCXXMemberCallExpr) { " S1[y];" "}", CallExpr, new VerifyIdIsBoundTo("param", 1))); + + StatementMatcher CallExpr2 = + callExpr(forEachArgumentWithParam(ArgumentY, IntParam)); + EXPECT_TRUE(matchAndVerifyResultTrue( + "struct S {" + " static void g(int i);" + "};" + "void f() {" + " int y = 1;" + " S::g(y);" + "}", + CallExpr2, new VerifyIdIsBoundTo("param", 1))); } TEST(ForEachArgumentWithParam, MatchesCallExpr) { -- cgit v1.2.3