summaryrefslogtreecommitdiffstats
path: root/clang/unittests/ASTMatchers/ASTMatchersTest.cpp
diff options
context:
space:
mode:
authorManuel Klimek <klimek@google.com>2014-05-27 10:04:12 +0000
committerManuel Klimek <klimek@google.com>2014-05-27 10:04:12 +0000
commit909b5c94c072516d980013073be9ca2cd8993f67 (patch)
treecc9a9703f078f8ce3b57dfb524d5d4acef4a8a23 /clang/unittests/ASTMatchers/ASTMatchersTest.cpp
parent73458c95ac7e4c6a1cb24166030ecce65ed33101 (diff)
downloadbcm5719-llvm-909b5c94c072516d980013073be9ca2cd8993f67.tar.gz
bcm5719-llvm-909b5c94c072516d980013073be9ca2cd8993f67.zip
Adds child traversal matchers for IfStmt's then and else branches.
llvm-svn: 209649
Diffstat (limited to 'clang/unittests/ASTMatchers/ASTMatchersTest.cpp')
-rw-r--r--clang/unittests/ASTMatchers/ASTMatchersTest.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/unittests/ASTMatchers/ASTMatchersTest.cpp b/clang/unittests/ASTMatchers/ASTMatchersTest.cpp
index 4ce56fd0238..9d9b2a15b79 100644
--- a/clang/unittests/ASTMatchers/ASTMatchersTest.cpp
+++ b/clang/unittests/ASTMatchers/ASTMatchersTest.cpp
@@ -1966,6 +1966,17 @@ TEST(Matcher, Conditions) {
EXPECT_TRUE(notMatches("void x() { if (1) {} }", Condition));
}
+TEST(IfStmt, ChildTraversalMatchers) {
+ EXPECT_TRUE(matches("void f() { if (false) true; else false; }",
+ ifStmt(hasThen(boolLiteral(equals(true))))));
+ EXPECT_TRUE(notMatches("void f() { if (false) false; else true; }",
+ ifStmt(hasThen(boolLiteral(equals(true))))));
+ EXPECT_TRUE(matches("void f() { if (false) false; else true; }",
+ ifStmt(hasElse(boolLiteral(equals(true))))));
+ EXPECT_TRUE(notMatches("void f() { if (false) true; else false; }",
+ ifStmt(hasElse(boolLiteral(equals(true))))));
+}
+
TEST(MatchBinaryOperator, HasOperatorName) {
StatementMatcher OperatorOr = binaryOperator(hasOperatorName("||"));
OpenPOWER on IntegriCloud