aboutsummaryrefslogtreecommitdiffstats
path: root/src/checks/level1/range-loop.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/checks/level1/range-loop.cpp')
-rw-r--r--src/checks/level1/range-loop.cpp21
1 files changed, 9 insertions, 12 deletions
diff --git a/src/checks/level1/range-loop.cpp b/src/checks/level1/range-loop.cpp
index bbe87b3c..f4956613 100644
--- a/src/checks/level1/range-loop.cpp
+++ b/src/checks/level1/range-loop.cpp
@@ -27,7 +27,6 @@
#include "QtUtils.h"
#include "TypeUtils.h"
#include "StringUtils.h"
-#include "checkmanager.h"
#include "LoopUtils.h"
#include "StmtBodyRange.h"
@@ -37,7 +36,7 @@ using namespace clang;
using namespace std;
RangeLoop::RangeLoop(const std::string &name, ClazyContext *context)
- : CheckBase(name, context)
+ : CheckBase(name, context, Option_CanIgnoreIncludes)
{
}
@@ -69,14 +68,14 @@ void RangeLoop::processForRangeLoop(CXXForRangeStmt *rangeLoop)
return;
CXXRecordDecl *record = t->getAsCXXRecordDecl();
- if (!QtUtils::isQtCOWIterableClass(Utils::rootBaseClass(record)))
+ if (!clazy::isQtCOWIterableClass(Utils::rootBaseClass(record)))
return;
- StmtBodyRange bodyRange(nullptr, &sm(), rangeLoop->getLocStart());
- if (QtUtils::containerNeverDetaches(LoopUtils::containerDeclForLoop(rangeLoop), bodyRange))
+ StmtBodyRange bodyRange(nullptr, &sm(), getLocStart(rangeLoop));
+ if (clazy::containerNeverDetaches(clazy::containerDeclForLoop(rangeLoop), bodyRange))
return;
- emitWarning(rangeLoop->getLocStart(), "c++11 range-loop might detach Qt container (" + record->getQualifiedNameAsString() + ')');
+ emitWarning(getLocStart(rangeLoop), "c++11 range-loop might detach Qt container (" + record->getQualifiedNameAsString() + ')');
}
void RangeLoop::checkPassByConstRefCorrectness(CXXForRangeStmt *rangeLoop)
@@ -88,14 +87,12 @@ void RangeLoop::checkPassByConstRefCorrectness(CXXForRangeStmt *rangeLoop)
return;
if (classif.passNonTriviallyCopyableByConstRef) {
- string error;
- const string paramStr = StringUtils::simpleTypeName(varDecl->getType(), lo());
- error = "Missing reference in range-for with non trivial type (" + paramStr + ')';
+ string msg;
+ const string paramStr = clazy::simpleTypeName(varDecl->getType(), lo());
+ msg = "Missing reference in range-for with non trivial type (" + paramStr + ')';
// We ignore classif.passSmallTrivialByValue because it doesn't matter, the compiler is able
// to optimize it, generating the same assembly, regardless of pass by value.
- emitWarning(varDecl->getLocStart(), error.c_str());
+ emitWarning(getLocStart(varDecl), msg.c_str());
}
}
-
-REGISTER_CHECK("range-loop", RangeLoop, CheckLevel1)