diff options
Diffstat (limited to 'src/checks/level1/range-loop.cpp')
-rw-r--r-- | src/checks/level1/range-loop.cpp | 21 |
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) |