diff options
| author | Etienne Bergeron <etienneb@google.com> | 2016-05-17 19:36:09 +0000 |
|---|---|---|
| committer | Etienne Bergeron <etienneb@google.com> | 2016-05-17 19:36:09 +0000 |
| commit | e15ef2f6093430bb3a7965f05c18795501a65129 (patch) | |
| tree | 285596e64fda3bf3df66e4258d9d5c0ed43cdf98 /clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp | |
| parent | de96f39392fedb5f2f538377a57ba52b2d7e346f (diff) | |
| download | bcm5719-llvm-e15ef2f6093430bb3a7965f05c18795501a65129.tar.gz bcm5719-llvm-e15ef2f6093430bb3a7965f05c18795501a65129.zip | |
[clang-tidy] Lift common matchers to utils namespace
Summary:
This patch is lifting matchers used by more than one checkers
to the common namespace.
Reviewers: aaron.ballman, alexfh
Subscribers: aaron.ballman, cfe-commits
Differential Revision: http://reviews.llvm.org/D19841
llvm-svn: 269804
Diffstat (limited to 'clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp')
| -rw-r--r-- | clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp index 03fb4a8bd3e..059c0c5073f 100644 --- a/clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp @@ -24,20 +24,6 @@ namespace { const char CastSequence[] = "sequence"; -/// \brief Matches cast expressions that have a cast kind of CK_NullToPointer -/// or CK_NullToMemberPointer. -/// -/// Given -/// \code -/// int *p = 0; -/// \endcode -/// implicitCastExpr(isNullToPointer()) matches the implicit cast clang adds -/// around \c 0. -AST_MATCHER(CastExpr, isNullToPointer) { - return Node.getCastKind() == CK_NullToPointer || - Node.getCastKind() == CK_NullToMemberPointer; -} - AST_MATCHER(Type, sugaredNullptrType) { const Type *DesugaredType = Node.getUnqualifiedDesugaredType(); if (const BuiltinType *BT = dyn_cast<BuiltinType>(DesugaredType)) @@ -52,7 +38,8 @@ AST_MATCHER(Type, sugaredNullptrType) { /// can be replaced instead of just the inner-most implicit cast. StatementMatcher makeCastSequenceMatcher() { StatementMatcher ImplicitCastToNull = implicitCastExpr( - isNullToPointer(), + anyOf(hasCastKind(CK_NullToPointer), + hasCastKind(CK_NullToMemberPointer)), unless(hasSourceExpression(hasType(sugaredNullptrType())))); return castExpr(anyOf(ImplicitCastToNull, |

