aboutsummaryrefslogtreecommitdiff
path: root/clang-tools-extra/clang-tidy/cert/MutatingCopyCheck.cpp
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2021-01-02 21:18:29 +0000
committerStephen Kelly <steveire@gmail.com>2021-02-03 23:21:17 +0000
commitc0199b2a21705747c999a59bfa77d7fc6e4500a5 (patch)
tree3eb505feb2b5641a88098c5b227b9fbf870ab36d /clang-tools-extra/clang-tidy/cert/MutatingCopyCheck.cpp
parent1f06f41993b6363e6b2c4f22a13488a3e687f31b (diff)
downloadllvm-c0199b2a21705747c999a59bfa77d7fc6e4500a5.zip
llvm-c0199b2a21705747c999a59bfa77d7fc6e4500a5.tar.gz
llvm-c0199b2a21705747c999a59bfa77d7fc6e4500a5.tar.bz2
[clang-tidy] Use new mapping matchers
Use mapAnyOf() and matchers based on it. Use of binaryOperation() means that modernize-loop-convert and readability-container-size-empty can now be used with rewritten binary operators. Differential Revision: https://reviews.llvm.org/D94131
Diffstat (limited to 'clang-tools-extra/clang-tidy/cert/MutatingCopyCheck.cpp')
-rw-r--r--clang-tools-extra/clang-tidy/cert/MutatingCopyCheck.cpp12
1 files changed, 3 insertions, 9 deletions
diff --git a/clang-tools-extra/clang-tidy/cert/MutatingCopyCheck.cpp b/clang-tools-extra/clang-tidy/cert/MutatingCopyCheck.cpp
index fa6e82c..d4ce995 100644
--- a/clang-tools-extra/clang-tidy/cert/MutatingCopyCheck.cpp
+++ b/clang-tools-extra/clang-tidy/cert/MutatingCopyCheck.cpp
@@ -30,12 +30,8 @@ void MutatingCopyCheck::registerMatchers(MatchFinder *Finder) {
MemberExprOrSourceObject);
const auto IsSourceMutatingAssignment = traverse(
- TK_AsIs,
- expr(anyOf(binaryOperator(isAssignmentOperator(), hasLHS(IsPartOfSource))
- .bind(MutatingOperatorName),
- cxxOperatorCallExpr(isAssignmentOperator(),
- hasArgument(0, IsPartOfSource))
- .bind(MutatingOperatorName))));
+ TK_AsIs, binaryOperation(hasOperatorName("="), hasLHS(IsPartOfSource))
+ .bind(MutatingOperatorName));
const auto MemberExprOrSelf = anyOf(memberExpr(), cxxThisExpr());
@@ -43,9 +39,7 @@ void MutatingCopyCheck::registerMatchers(MatchFinder *Finder) {
unless(hasDescendant(expr(unless(MemberExprOrSelf)))), MemberExprOrSelf);
const auto IsSelfMutatingAssignment =
- expr(anyOf(binaryOperator(isAssignmentOperator(), hasLHS(IsPartOfSelf)),
- cxxOperatorCallExpr(isAssignmentOperator(),
- hasArgument(0, IsPartOfSelf))));
+ binaryOperation(isAssignmentOperator(), hasLHS(IsPartOfSelf));
const auto IsSelfMutatingMemberFunction =
functionDecl(hasBody(hasDescendant(IsSelfMutatingAssignment)));