aboutsummaryrefslogtreecommitdiffstats
path: root/src/checks/level0/connect-non-signal.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/checks/level0/connect-non-signal.cpp')
-rw-r--r--src/checks/level0/connect-non-signal.cpp19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/checks/level0/connect-non-signal.cpp b/src/checks/level0/connect-non-signal.cpp
index 19eea4c3..885e618d 100644
--- a/src/checks/level0/connect-non-signal.cpp
+++ b/src/checks/level0/connect-non-signal.cpp
@@ -21,14 +21,12 @@
*/
#include "connect-non-signal.h"
-
#include "ClazyContext.h"
#include "AccessSpecifierManager.h"
#include "Utils.h"
#include "HierarchyUtils.h"
#include "QtUtils.h"
#include "TypeUtils.h"
-#include "checkmanager.h"
#include "NormalizedSignatureUtils.h"
#include <clang/AST/AST.h>
@@ -38,7 +36,7 @@ using namespace std;
ConnectNonSignal::ConnectNonSignal(const std::string &name, ClazyContext *context)
- : CheckBase(name, context)
+ : CheckBase(name, context, Option_CanIgnoreIncludes)
{
context->enableAccessSpecifierManager();
}
@@ -46,23 +44,24 @@ ConnectNonSignal::ConnectNonSignal(const std::string &name, ClazyContext *contex
void ConnectNonSignal::VisitStmt(clang::Stmt *stmt)
{
auto call = dyn_cast<CallExpr>(stmt);
- AccessSpecifierManager *accessSpecifierManager = m_context->accessSpecifierManager;
- if (!call || !accessSpecifierManager)
+ if (!call)
return;
FunctionDecl *func = call->getDirectCallee();
- if (!QtUtils::isConnect(func) || !QtUtils::connectHasPMFStyle(func))
+ if (!clazy::isConnect(func) || !clazy::connectHasPMFStyle(func))
return;
- CXXMethodDecl *method = QtUtils::pmfFromConnect(call, /*argIndex=*/ 1);
+ CXXMethodDecl *method = clazy::pmfFromConnect(call, /*argIndex=*/ 1);
if (!method) {
- emitInternalError(func->getLocStart(), "couldn't find method from pmf connect");
+ emitInternalError(getLocStart(func), "couldn't find method from pmf connect");
return;
}
+ AccessSpecifierManager *accessSpecifierManager = m_context->accessSpecifierManager;
+ if (!accessSpecifierManager)
+ return;
+
QtAccessSpecifierType qst = accessSpecifierManager->qtAccessSpecifierType(method);
if (qst != QtAccessSpecifier_Unknown && qst != QtAccessSpecifier_Signal)
emitWarning(call, method->getQualifiedNameAsString() + string(" is not a signal"));
}
-
-REGISTER_CHECK("connect-non-signal", ConnectNonSignal, CheckLevel0)