diff options
author | David Faure <faure@kde.org> | 2024-01-02 19:32:42 +0100 |
---|---|---|
committer | David Faure <faure@kde.org> | 2024-01-02 19:32:42 +0100 |
commit | f873489b598babea915ffe3b69b3ea219be638fc (patch) | |
tree | 8ea931cb122879ef4660ab3a12793ad946673cc5 | |
parent | a28926e182c013315b9ca3108af3393b8e7e5b2a (diff) |
Adapt detaching-member to the C++17 AST
-rw-r--r-- | src/checks/manuallevel/detaching-member.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/checks/manuallevel/detaching-member.cpp b/src/checks/manuallevel/detaching-member.cpp index d35ad4bd..68780c22 100644 --- a/src/checks/manuallevel/detaching-member.cpp +++ b/src/checks/manuallevel/detaching-member.cpp @@ -123,7 +123,10 @@ void DetachingMember::VisitStmt(clang::Stmt *stm) if (parentFunc && parentFunc->getNumParams() == parentCall->getNumArgs()) { int i = 0; for (auto *argExpr : parentCall->arguments()) { - if (auto *expr2 = clazy::getFirstChildOfType<CXXMemberCallExpr>(argExpr)) { + auto expr2 = dyn_cast<CXXMemberCallExpr>(argExpr); // C++17 + if (!expr2) + expr2 = clazy::getFirstChildOfType<CXXMemberCallExpr>(argExpr); // C++14 + if (expr2) { if (expr2 == memberCall) { // Success, we found which arg ParmVarDecl *parm = parentFunc->getParamDecl(i); |