vbvictor wrote: I played with matchers a bit, one `hasDescendant` may be eliminated by:
```diff diff --git a/clang-tools-extra/clang-tidy/bugprone/MoveSharedPointerContentsCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/MoveSharedPointerContentsCheck.cpp index 4d5c25bf9f27..ab5e13fbb9cc 100644 --- a/clang-tools-extra/clang-tidy/bugprone/MoveSharedPointerContentsCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/MoveSharedPointerContentsCheck.cpp @@ -70,12 +70,11 @@ void MoveSharedPointerContentsCheck::registerMatchers(MatchFinder *Finder) { hasArgument( 0, unaryOperator( hasOperatorName("*"), - hasUnaryOperand(allOf( - hasDescendant(declRefExpr(hasType(qualType( - isSharedPointer(matchers::matchesAnyListedName( - SharedPointerClasses)))))), - cxxMemberCallExpr( - callee(cxxMethodDecl(hasName("get"))))))))) + hasUnaryOperand(cxxMemberCallExpr( + callee(cxxMethodDecl(hasName("get"))), + on(hasType(qualType(isSharedPointer( + matchers::matchesAnyListedName( + SharedPointerClasses)))))))))) .bind("get_call"))); ``` https://github.com/llvm/llvm-project/pull/67467 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits