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
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits