On Tue, Dec 22, 2015 at 3:06 PM, Samuel Benzaquen via cfe-commits <cfe-commits@lists.llvm.org> wrote: > Author: sbenza > Date: Tue Dec 22 14:06:40 2015 > New Revision: 256278 > > URL: http://llvm.org/viewvc/llvm-project?rev=256278&view=rev > Log: > [ASTMatchers] Add booleanType() matcher. > > Modified: > cfe/trunk/include/clang/ASTMatchers/ASTMatchers.h > cfe/trunk/lib/ASTMatchers/Dynamic/Registry.cpp > cfe/trunk/unittests/ASTMatchers/ASTMatchersTest.cpp > > Modified: cfe/trunk/include/clang/ASTMatchers/ASTMatchers.h > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/ASTMatchers/ASTMatchers.h?rev=256278&r1=256277&r2=256278&view=diff > ============================================================================== > --- cfe/trunk/include/clang/ASTMatchers/ASTMatchers.h (original) > +++ cfe/trunk/include/clang/ASTMatchers/ASTMatchers.h Tue Dec 22 14:06:40 2015 > @@ -3762,6 +3762,18 @@ AST_MATCHER_FUNCTION_P_OVERLOAD(internal > new internal::TypeLocTypeMatcher(InnerMatcher)); > } > > +/// \brief Matches type \c bool. > +/// > +/// Given > +/// \code > +/// struct S { bool func(); }; > +/// \endcode > +/// functionDecl(returns(boolType()))
The comment does not match reality -- I think you meant booleanType() instead. Also, this commit did not update the documentation; please run dump_ast_matchers.py as well. ~Aaron > +/// matches "bool func();" > +AST_MATCHER(Type, booleanType) { > + return Node.isBooleanType(); > +} > + > /// \brief Matches type \c void. > /// > /// Given > > Modified: cfe/trunk/lib/ASTMatchers/Dynamic/Registry.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/ASTMatchers/Dynamic/Registry.cpp?rev=256278&r1=256277&r2=256278&view=diff > ============================================================================== > --- cfe/trunk/lib/ASTMatchers/Dynamic/Registry.cpp (original) > +++ cfe/trunk/lib/ASTMatchers/Dynamic/Registry.cpp Tue Dec 22 14:06:40 2015 > @@ -108,6 +108,7 @@ RegistryMaps::RegistryMaps() { > REGISTER_MATCHER(autoType); > REGISTER_MATCHER(binaryOperator); > REGISTER_MATCHER(blockPointerType); > + REGISTER_MATCHER(booleanType); > REGISTER_MATCHER(breakStmt); > REGISTER_MATCHER(builtinType); > REGISTER_MATCHER(callExpr); > > Modified: cfe/trunk/unittests/ASTMatchers/ASTMatchersTest.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/ASTMatchers/ASTMatchersTest.cpp?rev=256278&r1=256277&r2=256278&view=diff > ============================================================================== > --- cfe/trunk/unittests/ASTMatchers/ASTMatchersTest.cpp (original) > +++ cfe/trunk/unittests/ASTMatchers/ASTMatchersTest.cpp Tue Dec 22 14:06:40 > 2015 > @@ -4146,6 +4146,13 @@ TEST(TypeMatching, MatchesTypes) { > EXPECT_TRUE(matches("struct S {};", qualType().bind("loc"))); > } > > +TEST(TypeMatching, MatchesBool) { > + EXPECT_TRUE(matches("struct S { bool func(); };", > + cxxMethodDecl(returns(booleanType())))); > + EXPECT_TRUE(notMatches("struct S { void func(); };", > + cxxMethodDecl(returns(booleanType())))); > +} > + > TEST(TypeMatching, MatchesVoid) { > EXPECT_TRUE(matches("struct S { void func(); };", > cxxMethodDecl(returns(voidType())))); > > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits