[clang] [alpha.webkit.UncountedCallArgsChecker] Check the safety of the object argument in a member function call. (PR #81400)

Artem Dergachev via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 13 15:35:34 PST 2024


================
@@ -70,6 +70,15 @@ class UncountedCallArgsChecker
       // or std::function call operator).
       unsigned ArgIdx = isa<CXXOperatorCallExpr>(CE) && isa_and_nonnull<CXXMethodDecl>(F);
 
+      if (auto *MemberCallExpr = dyn_cast<CXXMemberCallExpr>(CE)) {
+        auto *E = MemberCallExpr->getImplicitObjectArgument();
+        auto *ArgType = MemberCallExpr->getObjectType().getTypePtrOrNull();
----------------
haoNoQ wrote:

```suggestion
        QualType ArgType = MemberCallExpr->getObjectType();
```

`getTypePtrOrNull()` is typically redundant; `QualType` provides an overloaded `operator ->()` that allows you to call methods on the underlying unqualified `Type` directly.

https://github.com/llvm/llvm-project/pull/81400


More information about the cfe-commits mailing list