From 3de22ecb0fcb1c987e2be67e929bbbd69805b526 Mon Sep 17 00:00:00 2001 From: Roman Lebedev Date: Thu, 21 Mar 2019 15:33:43 +0000 Subject: [PATCH] [ASTMatcher] Add clang-query disclaimer to two more matchers that take enum As we have figured out in https://reviews.llvm.org/D57112 and https://bugs.llvm.org/show_bug.cgi?id=41176 this kind-of works, but needs special care. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@356677 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/LibASTMatchersReference.html | 6 ++++++ include/clang/ASTMatchers/ASTMatchers.h | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/docs/LibASTMatchersReference.html b/docs/LibASTMatchersReference.html index 05f5c1fe48..10b9ebf19b 100644 --- a/docs/LibASTMatchersReference.html +++ b/docs/LibASTMatchersReference.html @@ -2640,6 +2640,9 @@ Example matches y(x) but not y(42) or NS::y(x). Example: matches the implicit cast around 0 (matcher = castExpr(hasCastKind(CK_NullToPointer))) int *p = 0; + +If the matcher is use from clang-query, CastKind parameter +should be passed as a quoted string. e.g., ofKind("CK_NullToPointer"). @@ -4086,6 +4089,9 @@ Given int s = sizeof(x) + alignof(x) unaryExprOrTypeTraitExpr(ofKind(UETT_SizeOf)) matches sizeof(x) + +If the matcher is use from clang-query, UnaryExprOrTypeTrait parameter +should be passed as a quoted string. e.g., ofKind("UETT_SizeOf"). diff --git a/include/clang/ASTMatchers/ASTMatchers.h b/include/clang/ASTMatchers/ASTMatchers.h index 8e1280103b..1ad016623e 100644 --- a/include/clang/ASTMatchers/ASTMatchers.h +++ b/include/clang/ASTMatchers/ASTMatchers.h @@ -2492,6 +2492,9 @@ AST_MATCHER_P(UnaryExprOrTypeTraitExpr, hasArgumentOfType, /// \endcode /// unaryExprOrTypeTraitExpr(ofKind(UETT_SizeOf)) /// matches \c sizeof(x) +/// +/// If the matcher is use from clang-query, UnaryExprOrTypeTrait parameter +/// should be passed as a quoted string. e.g., ofKind("UETT_SizeOf"). AST_MATCHER_P(UnaryExprOrTypeTraitExpr, ofKind, UnaryExprOrTypeTrait, Kind) { return Node.getKind() == Kind; } @@ -4483,6 +4486,9 @@ AST_POLYMORPHIC_MATCHER_P(hasSourceExpression, /// \code /// int *p = 0; /// \endcode +/// +/// If the matcher is use from clang-query, CastKind parameter +/// should be passed as a quoted string. e.g., ofKind("CK_NullToPointer"). AST_MATCHER_P(CastExpr, hasCastKind, CastKind, Kind) { return Node.getCastKind() == Kind; } -- 2.40.0