diff options
author | Sergio Martins <smartins@kde.org> | 2018-03-28 22:13:54 +0100 |
---|---|---|
committer | Sergio Martins <smartins@kde.org> | 2018-03-28 22:13:54 +0100 |
commit | a7d808a87d4f120505edffab47ae9128154f3beb (patch) | |
tree | c72eb2191814d995a939dd83061c29208acc20d5 /src | |
parent | a5ff4acabe83ee0e9fde223d06db5b79602e7f90 (diff) |
connect-non-signal: Make it know about QOverload
BUG: 392441
Diffstat (limited to 'src')
-rw-r--r-- | src/QtUtils.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/QtUtils.cpp b/src/QtUtils.cpp index cfa5042a..bba757d1 100644 --- a/src/QtUtils.cpp +++ b/src/QtUtils.cpp @@ -310,7 +310,7 @@ CXXMethodDecl *clazy::pmfFromUnary(Expr *expr) if (!context) return nullptr; - CXXRecordDecl *record = dyn_cast<CXXRecordDecl>(context); + auto record = dyn_cast<CXXRecordDecl>(context); if (!record) return nullptr; @@ -321,6 +321,10 @@ CXXMethodDecl *clazy::pmfFromUnary(Expr *expr) return pmfFromUnary(dyn_cast<UnaryOperator>(call->getArg(1))); } else if (auto staticCast = dyn_cast<CXXStaticCastExpr>(expr)) { return pmfFromUnary(staticCast->getSubExpr()); + } else if (auto callexpr = dyn_cast<CallExpr>(expr)) { + // QOverload case, go deeper one level to get to the UnaryOperator + if (callexpr->getNumArgs() == 1) + return pmfFromUnary(callexpr->getArg(0)); } return nullptr; |