steveire created this revision. steveire added a reviewer: aaron.ballman. Herald added a project: clang. Herald added a subscriber: cfe-commits.
It doesn't provide a way to match on the contents of the default argumment. Rather than give it that capability, make it deprecated and recomment the use of hasInitializer instead. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D71166 Files: clang/include/clang/ASTMatchers/ASTMatchers.h Index: clang/include/clang/ASTMatchers/ASTMatchers.h =================================================================== --- clang/include/clang/ASTMatchers/ASTMatchers.h +++ clang/include/clang/ASTMatchers/ASTMatchers.h @@ -6544,6 +6544,16 @@ /// void x(int val) {} /// void y(int val = 0) {} /// \endcode +/// +/// Deprecated. Use hasInitializer() instead to be able to +/// match on the contents of the default argument. For example: +/// +/// \code +/// void x(int val = 7) {} +/// void y(int val = 42) {} +/// \endcode +/// parmVarDecl(hasInitializer(integerLiteral(equals(42)))) +/// matches the parameter of y AST_MATCHER(ParmVarDecl, hasDefaultArgument) { return Node.hasDefaultArg(); }
Index: clang/include/clang/ASTMatchers/ASTMatchers.h =================================================================== --- clang/include/clang/ASTMatchers/ASTMatchers.h +++ clang/include/clang/ASTMatchers/ASTMatchers.h @@ -6544,6 +6544,16 @@ /// void x(int val) {} /// void y(int val = 0) {} /// \endcode +/// +/// Deprecated. Use hasInitializer() instead to be able to +/// match on the contents of the default argument. For example: +/// +/// \code +/// void x(int val = 7) {} +/// void y(int val = 42) {} +/// \endcode +/// parmVarDecl(hasInitializer(integerLiteral(equals(42)))) +/// matches the parameter of y AST_MATCHER(ParmVarDecl, hasDefaultArgument) { return Node.hasDefaultArg(); }
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits