[clang-tools-extra] [clang-tidy] Add bugprone-move-shared-pointer-contents check. (PR #67467)
Baranov Victor via cfe-commits
cfe-commits at lists.llvm.org
Sat Jun 21 11:54:48 PDT 2025
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
More information about the cfe-commits
mailing list