diff --git a/lib/check.h b/lib/check.h index 7deab9e52e7..8dda3e41825 100644 --- a/lib/check.h +++ b/lib/check.h @@ -62,10 +62,10 @@ class CPPCHECKLIB Check { Check& operator=(const Check &) = delete; /** run checks, the token list is not simplified */ - virtual void runChecks(const Tokenizer &, ErrorLogger *) = 0; + virtual void runChecks(const Tokenizer &, ErrorLogger&) = 0; /** get error messages */ - virtual void getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const = 0; + virtual void getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const = 0; /** class name, used to generate documentation */ const std::string& name() const { diff --git a/lib/check64bit.cpp b/lib/check64bit.cpp index 6c45c68aaeb..345d66d9846 100644 --- a/lib/check64bit.cpp +++ b/lib/check64bit.cpp @@ -183,13 +183,13 @@ void Check64BitPortabilityImpl::returnIntegerError(const Token *tok) "The safe way is to always return a pointer.", CWE758, Certainty::normal); } -void Check64BitPortability::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) +void Check64BitPortability::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) { Check64BitPortabilityImpl check64BitPortability(&tokenizer, tokenizer.getSettings(), errorLogger); check64BitPortability.pointerassignment(); } -void Check64BitPortability::getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const +void Check64BitPortability::getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const { Check64BitPortabilityImpl c(nullptr, settings, errorLogger); c.assignmentAddressToIntegerError(nullptr); diff --git a/lib/check64bit.h b/lib/check64bit.h index bafb5646aaa..4354d2217ba 100644 --- a/lib/check64bit.h +++ b/lib/check64bit.h @@ -49,9 +49,9 @@ class CPPCHECKLIB Check64BitPortability : public Check { private: /** @brief Run checks against the normal token list */ - void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override; + void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override; - void getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const override; + void getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const override; std::string classInfo() const override { return "Check if there is 64-bit portability issues:\n" @@ -63,7 +63,7 @@ class CPPCHECKLIB Check64BitPortability : public Check { class CPPCHECKLIB Check64BitPortabilityImpl : public CheckImpl { public: /** This constructor is used when running checks. */ - Check64BitPortabilityImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger) + Check64BitPortabilityImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger) : CheckImpl(tokenizer, settings, errorLogger) {} /** Check for pointer assignment */ diff --git a/lib/checkassert.cpp b/lib/checkassert.cpp index 8240304d83f..1d0ecde7959 100644 --- a/lib/checkassert.cpp +++ b/lib/checkassert.cpp @@ -178,13 +178,13 @@ bool CheckAssertImpl::inSameScope(const Token* returnTok, const Token* assignTok return returnTok->scope() == assignTok->scope(); } -void CheckAssert::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) +void CheckAssert::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) { CheckAssertImpl checkAssert(&tokenizer, tokenizer.getSettings(), errorLogger); checkAssert.assertWithSideEffects(); } -void CheckAssert::getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const +void CheckAssert::getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const { CheckAssertImpl c(nullptr, settings, errorLogger); c.sideEffectInAssertError(nullptr, "function"); diff --git a/lib/checkassert.h b/lib/checkassert.h index f6190bb8d25..2db9d804fcb 100644 --- a/lib/checkassert.h +++ b/lib/checkassert.h @@ -47,8 +47,8 @@ class CPPCHECKLIB CheckAssert : public Check { private: /** run checks, the token list is not simplified */ - void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override; - void getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const override; + void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override; + void getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const override; std::string classInfo() const override { return "Warn if there are side effects in assert statements (since this cause different behaviour in debug/release builds).\n"; @@ -57,7 +57,7 @@ class CPPCHECKLIB CheckAssert : public Check { class CPPCHECKLIB CheckAssertImpl : public CheckImpl { public: - CheckAssertImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger) + CheckAssertImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger) : CheckImpl(tokenizer, settings, errorLogger) {} void assertWithSideEffects(); diff --git a/lib/checkautovariables.cpp b/lib/checkautovariables.cpp index 48ca74253a5..0493f3ea459 100644 --- a/lib/checkautovariables.cpp +++ b/lib/checkautovariables.cpp @@ -817,7 +817,7 @@ void CheckAutoVariablesImpl::errorInvalidDeallocation(const Token *tok, const Va "that has been allocated dynamically.", CWE590, Certainty::normal); } -void CheckAutoVariables::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) +void CheckAutoVariables::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) { CheckAutoVariablesImpl checkAutoVariables(&tokenizer, tokenizer.getSettings(), errorLogger); checkAutoVariables.assignFunctionArg(); @@ -825,7 +825,7 @@ void CheckAutoVariables::runChecks(const Tokenizer &tokenizer, ErrorLogger *erro checkAutoVariables.checkVarLifetime(); } -void CheckAutoVariables::getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const +void CheckAutoVariables::getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const { CheckAutoVariablesImpl c(nullptr,settings,errorLogger); c.errorAutoVariableAssignment(nullptr, false); diff --git a/lib/checkautovariables.h b/lib/checkautovariables.h index 4bdbfc4c730..23d7a55a488 100644 --- a/lib/checkautovariables.h +++ b/lib/checkautovariables.h @@ -52,9 +52,9 @@ class CPPCHECKLIB CheckAutoVariables : public Check { private: /** @brief Run checks against the normal token list */ - void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override; + void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override; - void getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const override; + void getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const override; std::string classInfo() const override { return "A pointer to a variable is only valid as long as the variable is in scope.\n" @@ -72,7 +72,7 @@ class CPPCHECKLIB CheckAutoVariablesImpl : public CheckImpl { public: /** This constructor is used when running checks. */ - CheckAutoVariablesImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger) + CheckAutoVariablesImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger) : CheckImpl(tokenizer, settings, errorLogger) {} /** assign function argument */ diff --git a/lib/checkbool.cpp b/lib/checkbool.cpp index 0d7516a9418..3d36c9936a1 100644 --- a/lib/checkbool.cpp +++ b/lib/checkbool.cpp @@ -512,7 +512,7 @@ void CheckBoolImpl::returnValueBoolError(const Token *tok) reportError(tok, Severity::style, "returnNonBoolInBooleanFunction", "Non-boolean value returned from function returning bool"); } -void CheckBool::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) +void CheckBool::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) { CheckBoolImpl checkBool(&tokenizer, tokenizer.getSettings(), errorLogger); @@ -529,7 +529,7 @@ void CheckBool::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) checkBool.checkBitwiseOnBoolean(); } -void CheckBool::getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const +void CheckBool::getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const { CheckBoolImpl c(nullptr, settings, errorLogger); c.assignBoolToPointerError(nullptr); diff --git a/lib/checkbool.h b/lib/checkbool.h index 5eafc4d692d..53cc19c2486 100644 --- a/lib/checkbool.h +++ b/lib/checkbool.h @@ -46,9 +46,9 @@ class CPPCHECKLIB CheckBool : public Check { private: /** @brief Run checks against the normal token list */ - void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override; + void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override; - void getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const override; + void getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const override; std::string classInfo() const override { return "Boolean type checks\n" @@ -67,7 +67,7 @@ class CPPCHECKLIB CheckBoolImpl : public CheckImpl { public: /** @brief This constructor is used when running checks. */ - CheckBoolImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger) + CheckBoolImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger) : CheckImpl(tokenizer, settings, errorLogger) {} /** @brief %Check for comparison of function returning bool*/ diff --git a/lib/checkbufferoverrun.cpp b/lib/checkbufferoverrun.cpp index 7f0612963b9..9beef9c3079 100644 --- a/lib/checkbufferoverrun.cpp +++ b/lib/checkbufferoverrun.cpp @@ -990,7 +990,7 @@ Check::FileInfo * CheckBufferOverrun::loadFileInfoFromXml(const tinyxml2::XMLEle /** @brief Analyse all file infos for all TU */ bool CheckBufferOverrun::analyseWholeProgram(const CTU::FileInfo &ctu, const std::list &fileInfo, const Settings& settings, ErrorLogger &errorLogger) { - CheckBufferOverrunImpl dummy(nullptr, settings, &errorLogger); + CheckBufferOverrunImpl dummy(nullptr, settings, errorLogger); dummy. logChecker("CheckBufferOverrun::analyseWholeProgram"); @@ -1214,7 +1214,7 @@ void CheckBufferOverrunImpl::negativeMemoryAllocationSizeError(const Token* tok, msg, CWE131, inconclusive ? Certainty::inconclusive : Certainty::normal); } -void CheckBufferOverrun::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) +void CheckBufferOverrun::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) { CheckBufferOverrunImpl checkBufferOverrun(&tokenizer, tokenizer.getSettings(), errorLogger); checkBufferOverrun.arrayIndex(); @@ -1227,7 +1227,7 @@ void CheckBufferOverrun::runChecks(const Tokenizer &tokenizer, ErrorLogger *erro checkBufferOverrun.negativeArraySize(); } -void CheckBufferOverrun::getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const +void CheckBufferOverrun::getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const { CheckBufferOverrunImpl c(nullptr, settings, errorLogger); c.arrayIndexError(nullptr, std::vector(), std::vector()); diff --git a/lib/checkbufferoverrun.h b/lib/checkbufferoverrun.h index b71f4520d48..566ed76bd85 100644 --- a/lib/checkbufferoverrun.h +++ b/lib/checkbufferoverrun.h @@ -64,7 +64,7 @@ class CPPCHECKLIB CheckBufferOverrun : public Check { CheckBufferOverrun() : Check("Bounds checking") {} private: - void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override; + void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override; /** @brief Parse current TU and extract file info */ Check::FileInfo *getFileInfo(const Tokenizer &tokenizer, const Settings &settings, const std::string& /*currentConfig*/) const override; @@ -72,7 +72,7 @@ class CPPCHECKLIB CheckBufferOverrun : public Check { /** @brief Analyse all file infos for all TU */ bool analyseWholeProgram(const CTU::FileInfo &ctu, const std::list &fileInfo, const Settings& settings, ErrorLogger &errorLogger) override; - void getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const override; + void getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const override; Check::FileInfo * loadFileInfoFromXml(const tinyxml2::XMLElement *xmlElement) const override; @@ -96,7 +96,7 @@ class CPPCHECKLIB CheckBufferOverrunImpl : public CheckImpl { public: /** This constructor is used when running checks. */ - CheckBufferOverrunImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger) + CheckBufferOverrunImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger) : CheckImpl(tokenizer, settings, errorLogger) {} void arrayIndex(); diff --git a/lib/checkclass.cpp b/lib/checkclass.cpp index d7eb9b43b35..e917c95191e 100644 --- a/lib/checkclass.cpp +++ b/lib/checkclass.cpp @@ -106,7 +106,7 @@ static bool isVclTypeInit(const Type *type) } //--------------------------------------------------------------------------- -CheckClassImpl::CheckClassImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger) +CheckClassImpl::CheckClassImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger) : CheckImpl(tokenizer, settings, errorLogger), mSymbolDatabase(tokenizer?tokenizer->getSymbolDatabase():nullptr) {} @@ -3833,7 +3833,7 @@ bool CheckClass::analyseWholeProgram(const CTU::FileInfo &ctu, const std::list &fileInfo, const Settings& settings, ErrorLogger &errorLogger) override; - void getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const override; + void getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const override; std::string classInfo() const override { return "Check the code for each class.\n" @@ -100,7 +100,7 @@ class CPPCHECKLIB CheckClass : public Check { class CPPCHECKLIB CheckClassImpl : public CheckImpl { public: /** This constructor is used when running checks. */ - CheckClassImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger); + CheckClassImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger); /** @brief Set of the STL types whose operator[] is not const */ static const std::set stl_containers_not_const; diff --git a/lib/checkcondition.cpp b/lib/checkcondition.cpp index 365a677b5cb..72b61fd68b9 100644 --- a/lib/checkcondition.cpp +++ b/lib/checkcondition.cpp @@ -2095,7 +2095,7 @@ void CheckConditionImpl::compareValueOutOfTypeRangeError(const Token *comparison Certainty::normal); } -void CheckCondition::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) +void CheckCondition::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) { CheckConditionImpl checkCondition(&tokenizer, tokenizer.getSettings(), errorLogger); checkCondition.multiCondition(); @@ -2115,7 +2115,7 @@ void CheckCondition::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLog checkCondition.alwaysTrueFalse(); } -void CheckCondition::getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const +void CheckCondition::getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const { CheckConditionImpl c(nullptr, settings, errorLogger); diff --git a/lib/checkcondition.h b/lib/checkcondition.h index 56d2c6f25e0..232b2b5b340 100644 --- a/lib/checkcondition.h +++ b/lib/checkcondition.h @@ -54,9 +54,9 @@ class CPPCHECKLIB CheckCondition : public Check { CheckCondition() : Check("Condition") {} private: - void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override; + void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override; - void getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const override; + void getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const override; std::string classInfo() const override { return "Match conditions with assignments and other conditions:\n" @@ -81,7 +81,7 @@ class CPPCHECKLIB CheckCondition : public Check { class CPPCHECKLIB CheckConditionImpl : public CheckImpl { public: /** This constructor is used when running checks. */ - CheckConditionImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger) + CheckConditionImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger) : CheckImpl(tokenizer, settings, errorLogger) {} /** mismatching assignment / comparison */ diff --git a/lib/checkexceptionsafety.cpp b/lib/checkexceptionsafety.cpp index b0c510ed80a..29342fb4dbc 100644 --- a/lib/checkexceptionsafety.cpp +++ b/lib/checkexceptionsafety.cpp @@ -409,7 +409,7 @@ void CheckExceptionSafetyImpl::rethrowNoCurrentExceptionError(const Token *tok) CWE480, Certainty::normal); } -void CheckExceptionSafety::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) +void CheckExceptionSafety::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) { if (tokenizer.isC()) return; @@ -424,7 +424,7 @@ void CheckExceptionSafety::runChecks(const Tokenizer &tokenizer, ErrorLogger *er checkExceptionSafety.rethrowNoCurrentException(); } -void CheckExceptionSafety::getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const +void CheckExceptionSafety::getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const { CheckExceptionSafetyImpl c(nullptr, settings, errorLogger); c.destructorsError(nullptr, "Class"); diff --git a/lib/checkexceptionsafety.h b/lib/checkexceptionsafety.h index 7de91ba812c..8b52d773a93 100644 --- a/lib/checkexceptionsafety.h +++ b/lib/checkexceptionsafety.h @@ -50,10 +50,10 @@ class CPPCHECKLIB CheckExceptionSafety : public Check { CheckExceptionSafety() : Check("Exception Safety") {} private: - void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override; + void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override; /** Generate all possible errors (for --errorlist) */ - void getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const override; + void getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const override; /** wiki formatted description of the class (for --doc) */ std::string classInfo() const override { @@ -71,7 +71,7 @@ class CPPCHECKLIB CheckExceptionSafety : public Check { class CPPCHECKLIB CheckExceptionSafetyImpl : public CheckImpl { public: /** This constructor is used when running checks. */ - CheckExceptionSafetyImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger) + CheckExceptionSafetyImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger) : CheckImpl(tokenizer, settings, errorLogger) {} /** Don't throw exceptions in destructors */ diff --git a/lib/checkfunctions.cpp b/lib/checkfunctions.cpp index db50846b262..d04f9d9cc1d 100644 --- a/lib/checkfunctions.cpp +++ b/lib/checkfunctions.cpp @@ -853,7 +853,7 @@ void CheckFunctionsImpl::useStandardLibraryError(const Token *tok, const std::st "Consider using " + expected + " instead of loop."); } -void CheckFunctions::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) +void CheckFunctions::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) { CheckFunctionsImpl checkFunctions(&tokenizer, tokenizer.getSettings(), errorLogger); @@ -872,7 +872,7 @@ void CheckFunctions::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLog checkFunctions.useStandardLibrary(); } -void CheckFunctions::getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const +void CheckFunctions::getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const { CheckFunctionsImpl c(nullptr, settings, errorLogger); diff --git a/lib/checkfunctions.h b/lib/checkfunctions.h index 42281774482..ea7278bf0c8 100644 --- a/lib/checkfunctions.h +++ b/lib/checkfunctions.h @@ -52,9 +52,9 @@ class CPPCHECKLIB CheckFunctions : public Check { private: /** @brief Run checks against the normal token list */ - void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override; + void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override; - void getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const override; + void getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const override; std::string classInfo() const override { return "Check function usage:\n" @@ -73,7 +73,7 @@ class CPPCHECKLIB CheckFunctions : public Check { class CPPCHECKLIB CheckFunctionsImpl : public CheckImpl { public: /** This constructor is used when running checks. */ - CheckFunctionsImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger) + CheckFunctionsImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger) : CheckImpl(tokenizer, settings, errorLogger) {} /** Check for functions that should not be used */ diff --git a/lib/checkimpl.cpp b/lib/checkimpl.cpp index 2b28b829277..fb1c71a66b3 100644 --- a/lib/checkimpl.cpp +++ b/lib/checkimpl.cpp @@ -24,25 +24,20 @@ #include "tokenize.h" #include "vfvalue.h" -#include #include void CheckImpl::reportError(const std::list &callstack, Severity severity, const std::string &id, const std::string &msg, const CWE &cwe, Certainty certainty) { - assert(mErrorLogger); - // TODO: report debug warning when error is for a disabled severity const ErrorMessage errmsg(callstack, mTokenizer ? &mTokenizer->list : nullptr, severity, id, msg, cwe, certainty); - mErrorLogger->reportErr(errmsg); + mErrorLogger.reportErr(errmsg); } void CheckImpl::reportError(ErrorPath errorPath, Severity severity, const char id[], const std::string &msg, const CWE &cwe, Certainty certainty) { - assert(mErrorLogger); - // TODO: report debug warning when error is for a disabled severity const ErrorMessage errmsg(std::move(errorPath), mTokenizer ? &mTokenizer->list : nullptr, severity, id, msg, cwe, certainty); - mErrorLogger->reportErr(errmsg); + mErrorLogger.reportErr(errmsg); } bool CheckImpl::wrongData(const Token *tok, const char *str) diff --git a/lib/checkimpl.h b/lib/checkimpl.h index 36f04a23d1f..17f92da8553 100644 --- a/lib/checkimpl.h +++ b/lib/checkimpl.h @@ -37,7 +37,7 @@ class CPPCHECKLIB CheckImpl { protected: /** This constructor is used when running checks. */ - CheckImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger) + CheckImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger) : mTokenizer(tokenizer), mSettings(settings), mErrorLogger(errorLogger) {} public: @@ -47,7 +47,7 @@ class CPPCHECKLIB CheckImpl protected: const Tokenizer* const mTokenizer{}; const Settings& mSettings; - ErrorLogger* const mErrorLogger{}; + ErrorLogger& mErrorLogger; /** report an error */ void reportError(const Token *tok, const Severity severity, const std::string &id, const std::string &msg) { diff --git a/lib/checkinternal.cpp b/lib/checkinternal.cpp index 727df306e63..93b10210404 100644 --- a/lib/checkinternal.cpp +++ b/lib/checkinternal.cpp @@ -377,7 +377,7 @@ void CheckInternalImpl::extraWhitespaceError(const Token* tok, const std::string ); } -void CheckInternal::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) +void CheckInternal::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) { if (!tokenizer.getSettings().checks.isEnabled(Checks::internalCheck)) return; @@ -393,7 +393,7 @@ void CheckInternal::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogg checkInternal.checkRedundantTokCheck(); } -void CheckInternal::getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const +void CheckInternal::getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const { CheckInternalImpl c(nullptr, settings, errorLogger); c.simplePatternError(nullptr, "class {", "Match"); diff --git a/lib/checkinternal.h b/lib/checkinternal.h index c1e5addc4da..18a1535a73f 100644 --- a/lib/checkinternal.h +++ b/lib/checkinternal.h @@ -46,9 +46,9 @@ class CPPCHECKLIB CheckInternal : public Check { CheckInternal() : Check("cppcheck internal API usage") {} private: - void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override; + void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override; - void getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const override; + void getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const override; std::string classInfo() const override { // Don't include these checks on the WIKI where people can read what @@ -60,7 +60,7 @@ class CPPCHECKLIB CheckInternal : public Check { class CPPCHECKLIB CheckInternalImpl : public CheckImpl { public: /** This constructor is used when running checks. */ - CheckInternalImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger) + CheckInternalImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger) : CheckImpl(tokenizer, settings, errorLogger) {} /** @brief %Check if a simple pattern is used inside Token::Match or Token::findmatch */ diff --git a/lib/checkio.cpp b/lib/checkio.cpp index a62955d3017..8012d540898 100644 --- a/lib/checkio.cpp +++ b/lib/checkio.cpp @@ -2050,7 +2050,7 @@ void CheckIOImpl::invalidScanfFormatWidthError(const Token* tok, nonneg int numF } } -void CheckIO::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) +void CheckIO::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) { CheckIOImpl checkIO(&tokenizer, tokenizer.getSettings(), errorLogger); @@ -2060,7 +2060,7 @@ void CheckIO::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) checkIO.invalidScanf(); } -void CheckIO::getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const +void CheckIO::getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const { CheckIOImpl c(nullptr, settings, errorLogger); c.coutCerrMisusageError(nullptr, "cout"); diff --git a/lib/checkio.h b/lib/checkio.h index e881e22cbf3..6fb3c9f80c2 100644 --- a/lib/checkio.h +++ b/lib/checkio.h @@ -50,9 +50,9 @@ class CPPCHECKLIB CheckIO : public Check { private: /** @brief Run checks on the normal token list */ - void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override; + void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override; - void getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const override; + void getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const override; std::string classInfo() const override { return "Check format string input/output operations.\n" @@ -72,7 +72,7 @@ class CPPCHECKLIB CheckIO : public Check { class CPPCHECKLIB CheckIOImpl : public CheckImpl { public: /** @brief This constructor is used when running checks. */ - CheckIOImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger) + CheckIOImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger) : CheckImpl(tokenizer, settings, errorLogger) {} /** @brief %Check for missusage of std::cout */ diff --git a/lib/checkleakautovar.cpp b/lib/checkleakautovar.cpp index 11d1086ee5d..2fd16e85eaa 100644 --- a/lib/checkleakautovar.cpp +++ b/lib/checkleakautovar.cpp @@ -1278,13 +1278,13 @@ void CheckLeakAutoVarImpl::ret(const Token *tok, VarInfo &varInfo, const bool is varInfo.erase(varId); } -void CheckLeakAutoVar::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) +void CheckLeakAutoVar::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) { CheckLeakAutoVarImpl checkLeakAutoVar(&tokenizer, tokenizer.getSettings(), errorLogger); checkLeakAutoVar.check(); } -void CheckLeakAutoVar::getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const +void CheckLeakAutoVar::getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const { CheckLeakAutoVarImpl c(nullptr, settings, errorLogger); c.deallocReturnError(nullptr, nullptr, "p"); diff --git a/lib/checkleakautovar.h b/lib/checkleakautovar.h index 5d4fa07ec06..b613b357119 100644 --- a/lib/checkleakautovar.h +++ b/lib/checkleakautovar.h @@ -111,9 +111,9 @@ class CPPCHECKLIB CheckLeakAutoVar : public Check { CheckLeakAutoVar() : Check("Leaks (auto variables)") {} private: - void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override; + void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override; - void getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const override; + void getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const override; std::string classInfo() const override { return "Detect when a auto variable is allocated but not deallocated or deallocated twice.\n"; @@ -123,7 +123,7 @@ class CPPCHECKLIB CheckLeakAutoVar : public Check { class CPPCHECKLIB CheckLeakAutoVarImpl : public CheckImpl { public: /** This constructor is used when running checks. */ - CheckLeakAutoVarImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger) + CheckLeakAutoVarImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger) : CheckImpl(tokenizer, settings, errorLogger) {} /** check for leaks in all scopes */ diff --git a/lib/checkmemoryleak.cpp b/lib/checkmemoryleak.cpp index d02bb607b33..dcde32737d5 100644 --- a/lib/checkmemoryleak.cpp +++ b/lib/checkmemoryleak.cpp @@ -31,7 +31,6 @@ #include "utils.h" #include -#include #include #include #include @@ -286,10 +285,8 @@ void CheckMemoryLeakImpl::reportErr(const Token *tok, Severity severity, const s void CheckMemoryLeakImpl::reportErr(const std::list &callstack, Severity severity, const std::string &id, const std::string &msg, const CWE &cwe) const { - assert(mErrorLogger); - const ErrorMessage errmsg(callstack, mTokenizer ? &mTokenizer->list : nullptr, severity, id, msg, cwe, Certainty::normal); - mErrorLogger->reportErr(errmsg); + mErrorLogger.reportErr(errmsg); } void CheckMemoryLeakImpl::memleakError(const Token *tok, const std::string &varname) const @@ -490,13 +487,13 @@ void CheckMemoryLeakInFunctionImpl::checkReallocUsage() } } -void CheckMemoryLeakInFunction::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) +void CheckMemoryLeakInFunction::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) { CheckMemoryLeakInFunctionImpl checkMemoryLeak(&tokenizer, tokenizer.getSettings(), errorLogger); checkMemoryLeak.checkReallocUsage(); } -void CheckMemoryLeakInFunction::getErrorMessages(ErrorLogger *e, const Settings &settings) const +void CheckMemoryLeakInFunction::getErrorMessages(ErrorLogger& e, const Settings &settings) const { CheckMemoryLeakInFunctionImpl c(nullptr, settings, e); c.memleakError(nullptr, "varname"); @@ -691,7 +688,7 @@ void CheckMemoryLeakInClassImpl::publicAllocationError(const Token *tok, const s reportError(tok, Severity::warning, "publicAllocationError", "$symbol:" + varname + "\nPossible leak in public function. The pointer '$symbol' is not deallocated before it is allocated.", CWE398, Certainty::normal); } -void CheckMemoryLeakInClass::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) +void CheckMemoryLeakInClass::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) { if (!tokenizer.isCPP()) return; @@ -700,7 +697,7 @@ void CheckMemoryLeakInClass::runChecks(const Tokenizer &tokenizer, ErrorLogger * checkMemoryLeak.check(); } -void CheckMemoryLeakInClass::getErrorMessages(ErrorLogger *e, const Settings &settings) const +void CheckMemoryLeakInClass::getErrorMessages(ErrorLogger& e, const Settings &settings) const { CheckMemoryLeakInClassImpl c(nullptr, settings, e); c.publicAllocationError(nullptr, "varname"); @@ -966,15 +963,15 @@ void CheckMemoryLeakStructMemberImpl::checkStructVariable(const Variable* const } } -void CheckMemoryLeakStructMember::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) +void CheckMemoryLeakStructMember::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) { CheckMemoryLeakStructMemberImpl checkMemoryLeak(&tokenizer, tokenizer.getSettings(), errorLogger); checkMemoryLeak.check(); } -void CheckMemoryLeakStructMember::getErrorMessages(ErrorLogger * errorLogger, const Settings & settings) const +void CheckMemoryLeakStructMember::getErrorMessages(ErrorLogger& errorLogger, const Settings & settings) const { - (void)errorLogger; + (void)&errorLogger; (void)settings; } @@ -1218,13 +1215,13 @@ void CheckMemoryLeakNoVarImpl::unsafeArgAllocError(const Token *tok, const std:: Certainty::inconclusive); // Inconclusive because funcName may never throw } -void CheckMemoryLeakNoVar::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) +void CheckMemoryLeakNoVar::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) { CheckMemoryLeakNoVarImpl checkMemoryLeak(&tokenizer, tokenizer.getSettings(), errorLogger); checkMemoryLeak.check(); } -void CheckMemoryLeakNoVar::getErrorMessages(ErrorLogger *e, const Settings &settings) const +void CheckMemoryLeakNoVar::getErrorMessages(ErrorLogger& e, const Settings &settings) const { CheckMemoryLeakNoVarImpl c(nullptr, settings, e); c.functionCallLeak(nullptr, "funcName", "funcName"); diff --git a/lib/checkmemoryleak.h b/lib/checkmemoryleak.h index 4fa69742277..037363160de 100644 --- a/lib/checkmemoryleak.h +++ b/lib/checkmemoryleak.h @@ -72,10 +72,10 @@ class CPPCHECKLIB CheckMemoryLeakInFunction : public Check { CheckMemoryLeakInFunction() : Check("Memory leaks (function variables)") {} private: - void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override; + void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override; /** Report all possible errors (for the --errorlist) */ - void getErrorMessages(ErrorLogger *e, const Settings &settings) const override; + void getErrorMessages(ErrorLogger& e, const Settings &settings) const override; /** * Get class information (--doc) @@ -98,9 +98,9 @@ class CPPCHECKLIB CheckMemoryLeakInClass : public Check { CheckMemoryLeakInClass() : Check("Memory leaks (class variables)") {} private: - void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override; + void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override; - void getErrorMessages(ErrorLogger *e, const Settings &settings) const override; + void getErrorMessages(ErrorLogger& e, const Settings &settings) const override; std::string classInfo() const override { return "If the constructor allocate memory then the destructor must deallocate it.\n"; @@ -118,9 +118,9 @@ class CPPCHECKLIB CheckMemoryLeakStructMember : public Check { CheckMemoryLeakStructMember() : Check("Memory leaks (struct members)") {} private: - void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override; + void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override; - void getErrorMessages(ErrorLogger * errorLogger, const Settings & settings) const override; + void getErrorMessages(ErrorLogger& errorLogger, const Settings & settings) const override; std::string classInfo() const override { return "Don't forget to deallocate struct members\n"; @@ -138,9 +138,9 @@ class CPPCHECKLIB CheckMemoryLeakNoVar : public Check { CheckMemoryLeakNoVar() : Check("Memory leaks (address not taken)") {} private: - void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override; + void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override; - void getErrorMessages(ErrorLogger *e, const Settings &settings) const override; + void getErrorMessages(ErrorLogger& e, const Settings &settings) const override; std::string classInfo() const override { return "Not taking the address to allocated memory\n"; @@ -175,7 +175,7 @@ class CPPCHECKLIB CheckMemoryLeakImpl : public CheckImpl { CheckMemoryLeakImpl(const CheckMemoryLeakImpl &) = delete; CheckMemoryLeakImpl& operator=(const CheckMemoryLeakImpl &) = delete; - CheckMemoryLeakImpl(const Tokenizer *t, const Settings &s, ErrorLogger *e) + CheckMemoryLeakImpl(const Tokenizer *t, const Settings &s, ErrorLogger &e) : CheckImpl(t, s, e) {} /** @brief What type of allocation are used.. the "Many" means that several types of allocation and deallocation are used */ @@ -254,7 +254,7 @@ class CPPCHECKLIB CheckMemoryLeakImpl : public CheckImpl { class CPPCHECKLIB CheckMemoryLeakInFunctionImpl : public CheckMemoryLeakImpl { public: /** @brief This constructor is used when running checks */ - CheckMemoryLeakInFunctionImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger) + CheckMemoryLeakInFunctionImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger) : CheckMemoryLeakImpl(tokenizer, settings, errorLogger) {} /** @@ -271,7 +271,7 @@ class CPPCHECKLIB CheckMemoryLeakInFunctionImpl : public CheckMemoryLeakImpl { class CPPCHECKLIB CheckMemoryLeakInClassImpl : private CheckMemoryLeakImpl { public: - CheckMemoryLeakInClassImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger) + CheckMemoryLeakInClassImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger) : CheckMemoryLeakImpl(tokenizer, settings, errorLogger) {} void check(); @@ -292,7 +292,7 @@ class CPPCHECKLIB CheckMemoryLeakInClassImpl : private CheckMemoryLeakImpl { class CPPCHECKLIB CheckMemoryLeakStructMemberImpl : private CheckMemoryLeakImpl { public: - CheckMemoryLeakStructMemberImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger) + CheckMemoryLeakStructMemberImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger) : CheckMemoryLeakImpl(tokenizer, settings, errorLogger) {} void check(); @@ -309,7 +309,7 @@ class CPPCHECKLIB CheckMemoryLeakStructMemberImpl : private CheckMemoryLeakImpl class CPPCHECKLIB CheckMemoryLeakNoVarImpl : private CheckMemoryLeakImpl { public: - CheckMemoryLeakNoVarImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger) + CheckMemoryLeakNoVarImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger) : CheckMemoryLeakImpl(tokenizer, settings, errorLogger) {} void check(); diff --git a/lib/checknullpointer.cpp b/lib/checknullpointer.cpp index 92938b4a60f..5a83c3c6979 100644 --- a/lib/checknullpointer.cpp +++ b/lib/checknullpointer.cpp @@ -632,7 +632,7 @@ bool CheckNullPointer::analyseWholeProgram(const CTU::FileInfo &ctu, const std:: { (void)settings; - CheckNullPointerImpl dummy(nullptr, settings, &errorLogger); + CheckNullPointerImpl dummy(nullptr, settings, errorLogger); dummy. logChecker("CheckNullPointer::analyseWholeProgram"); @@ -692,7 +692,7 @@ bool CheckNullPointer::analyseWholeProgram(const CTU::FileInfo &ctu, const std:: return foundErrors; } -void CheckNullPointer::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) +void CheckNullPointer::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) { CheckNullPointerImpl checkNullPointer(&tokenizer, tokenizer.getSettings(), errorLogger); checkNullPointer.nullPointer(); @@ -700,7 +700,7 @@ void CheckNullPointer::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorL checkNullPointer.nullConstantDereference(); } -void CheckNullPointer::getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const +void CheckNullPointer::getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const { CheckNullPointerImpl c(nullptr, settings, errorLogger); c.nullPointerError(nullptr, "pointer", nullptr, false); diff --git a/lib/checknullpointer.h b/lib/checknullpointer.h index 8e35fd7565a..a1ccdefb658 100644 --- a/lib/checknullpointer.h +++ b/lib/checknullpointer.h @@ -56,7 +56,7 @@ class CPPCHECKLIB CheckNullPointer : public Check { private: /** @brief Run checks against the normal token list */ - void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override; + void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override; /** @brief Parse current TU and extract file info */ Check::FileInfo *getFileInfo(const Tokenizer &tokenizer, const Settings &settings, const std::string& currentConfig) const override; @@ -67,7 +67,7 @@ class CPPCHECKLIB CheckNullPointer : public Check { bool analyseWholeProgram(const CTU::FileInfo &ctu, const std::list &fileInfo, const Settings& settings, ErrorLogger &errorLogger) override; /** Get error messages. Used by --errorlist */ - void getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const override; + void getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const override; /** class info in WIKI format. Used by --doc */ std::string classInfo() const override { @@ -80,7 +80,7 @@ class CPPCHECKLIB CheckNullPointer : public Check { class CPPCHECKLIB CheckNullPointerImpl : public CheckImpl { public: /** @brief This constructor is used when running checks. */ - CheckNullPointerImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger) + CheckNullPointerImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger) : CheckImpl(tokenizer, settings, errorLogger) {} /** diff --git a/lib/checkother.cpp b/lib/checkother.cpp index 1adcaeb9c3a..f34db383aa1 100644 --- a/lib/checkother.cpp +++ b/lib/checkother.cpp @@ -4787,7 +4787,7 @@ void CheckOtherImpl::overlappingWriteFunction(const Token *tok, const std::strin reportError(tok, Severity::error, "overlappingWriteFunction", "Overlapping read/write in " + funcname + "() is undefined behavior"); } -void CheckOther::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) +void CheckOther::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) { CheckOtherImpl checkOther(&tokenizer, tokenizer.getSettings(), errorLogger); @@ -4839,7 +4839,7 @@ void CheckOther::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) checkOther.checkUnionZeroInit(); } -void CheckOther::getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const +void CheckOther::getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const { CheckOtherImpl c(nullptr, settings, errorLogger); diff --git a/lib/checkother.h b/lib/checkother.h index 97291b53769..58a61ff772a 100644 --- a/lib/checkother.h +++ b/lib/checkother.h @@ -60,9 +60,9 @@ class CPPCHECKLIB CheckOther : public Check { private: /** @brief Run checks against the normal token list */ - void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override; + void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override; - void getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const override; + void getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const override; std::string classInfo() const override { return "Other checks\n" @@ -127,7 +127,7 @@ class CPPCHECKLIB CheckOther : public Check { class CPPCHECKLIB CheckOtherImpl : public CheckImpl { public: /** @brief This constructor is used when running checks. */ - CheckOtherImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger) + CheckOtherImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger) : CheckImpl(tokenizer, settings, errorLogger) {} /** Is expression a comparison that checks if a nonzero (unsigned/pointer) expression is less than zero? */ diff --git a/lib/checkpostfixoperator.cpp b/lib/checkpostfixoperator.cpp index 0d72b8e3860..f15fa293c49 100644 --- a/lib/checkpostfixoperator.cpp +++ b/lib/checkpostfixoperator.cpp @@ -94,7 +94,7 @@ void CheckPostfixOperatorImpl::postfixOperatorError(const Token *tok) "adds a little extra code.", CWE398, Certainty::normal); } -void CheckPostfixOperator::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) +void CheckPostfixOperator::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) { if (tokenizer.isC()) return; @@ -103,7 +103,7 @@ void CheckPostfixOperator::runChecks(const Tokenizer &tokenizer, ErrorLogger *er checkPostfixOperator.postfixOperator(); } -void CheckPostfixOperator::getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const +void CheckPostfixOperator::getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const { CheckPostfixOperatorImpl c(nullptr, settings, errorLogger); c.postfixOperatorError(nullptr); diff --git a/lib/checkpostfixoperator.h b/lib/checkpostfixoperator.h index de51a34fe42..ac1a053afe8 100644 --- a/lib/checkpostfixoperator.h +++ b/lib/checkpostfixoperator.h @@ -48,9 +48,9 @@ class CPPCHECKLIB CheckPostfixOperator : public Check { CheckPostfixOperator() : Check("Using postfix operators") {} private: - void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override; + void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override; - void getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const override; + void getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const override; std::string classInfo() const override { return "Warn if using postfix operators ++ or -- rather than prefix operator\n"; } @@ -59,7 +59,7 @@ class CPPCHECKLIB CheckPostfixOperator : public Check { class CPPCHECKLIB CheckPostfixOperatorImpl : public CheckImpl { public: /** This constructor is used when running checks. */ - CheckPostfixOperatorImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger) + CheckPostfixOperatorImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger) : CheckImpl(tokenizer, settings, errorLogger) {} /** Check postfix operators */ diff --git a/lib/checksizeof.cpp b/lib/checksizeof.cpp index 694f73eeff6..b9c495733e0 100644 --- a/lib/checksizeof.cpp +++ b/lib/checksizeof.cpp @@ -498,7 +498,7 @@ void CheckSizeofImpl::arithOperationsOnVoidPointerError(const Token* tok, const reportError(tok, Severity::portability, "arithOperationsOnVoidPointer", "$symbol:" + varname + '\n' + message + '\n' + verbose, CWE467, Certainty::normal); } -void CheckSizeof::runChecks(const Tokenizer& tokenizer, ErrorLogger* errorLogger) +void CheckSizeof::runChecks(const Tokenizer& tokenizer, ErrorLogger& errorLogger) { CheckSizeofImpl checkSizeof(&tokenizer, tokenizer.getSettings(), errorLogger); @@ -513,7 +513,7 @@ void CheckSizeof::runChecks(const Tokenizer& tokenizer, ErrorLogger* errorLogger checkSizeof.sizeofVoid(); } -void CheckSizeof::getErrorMessages(ErrorLogger* errorLogger, const Settings& settings) const +void CheckSizeof::getErrorMessages(ErrorLogger& errorLogger, const Settings& settings) const { CheckSizeofImpl c(nullptr, settings, errorLogger); c.sizeofForArrayParameterError(nullptr); diff --git a/lib/checksizeof.h b/lib/checksizeof.h index 6fa7908eb92..7540fe6785d 100644 --- a/lib/checksizeof.h +++ b/lib/checksizeof.h @@ -46,9 +46,9 @@ class CPPCHECKLIB CheckSizeof : public Check { private: /** @brief Run checks against the normal token list */ - void runChecks(const Tokenizer& tokenizer, ErrorLogger* errorLogger) override; + void runChecks(const Tokenizer& tokenizer, ErrorLogger& errorLogger) override; - void getErrorMessages(ErrorLogger* errorLogger, const Settings& settings) const override; + void getErrorMessages(ErrorLogger& errorLogger, const Settings& settings) const override; std::string classInfo() const override { return "sizeof() usage checks\n" @@ -66,7 +66,7 @@ class CPPCHECKLIB CheckSizeof : public Check { class CPPCHECKLIB CheckSizeofImpl : public CheckImpl { public: /** @brief This constructor is used when running checks. */ - CheckSizeofImpl(const Tokenizer* tokenizer, const Settings& settings, ErrorLogger* errorLogger) + CheckSizeofImpl(const Tokenizer* tokenizer, const Settings& settings, ErrorLogger& errorLogger) : CheckImpl(tokenizer, settings, errorLogger) {} /** @brief %Check for 'sizeof sizeof ..' */ diff --git a/lib/checkstl.cpp b/lib/checkstl.cpp index 08ac141610a..c8fcca48f1a 100644 --- a/lib/checkstl.cpp +++ b/lib/checkstl.cpp @@ -3453,7 +3453,7 @@ void CheckStlImpl::checkMutexes() } } -void CheckStl::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) +void CheckStl::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) { if (!tokenizer.isCPP()) { return; @@ -3490,7 +3490,7 @@ void CheckStl::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) checkStl.size(); } -void CheckStl::getErrorMessages(ErrorLogger* errorLogger, const Settings& settings) const +void CheckStl::getErrorMessages(ErrorLogger& errorLogger, const Settings& settings) const { CheckStlImpl c(nullptr, settings, errorLogger); c.outOfBoundsError(nullptr, "container", nullptr, "x", nullptr); diff --git a/lib/checkstl.h b/lib/checkstl.h index b67632fbfed..4218090e707 100644 --- a/lib/checkstl.h +++ b/lib/checkstl.h @@ -53,9 +53,9 @@ class CPPCHECKLIB CheckStl : public Check { private: /** run checks, the token list is not simplified */ - void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override; + void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override; - void getErrorMessages(ErrorLogger* errorLogger, const Settings& settings) const override; + void getErrorMessages(ErrorLogger& errorLogger, const Settings& settings) const override; std::string classInfo() const override { return "Check for invalid usage of STL:\n" @@ -83,7 +83,7 @@ class CPPCHECKLIB CheckStl : public Check { class CPPCHECKLIB CheckStlImpl : public CheckImpl { public: /** This constructor is used when running checks. */ - CheckStlImpl(const Tokenizer* tokenizer, const Settings& settings, ErrorLogger* errorLogger) + CheckStlImpl(const Tokenizer* tokenizer, const Settings& settings, ErrorLogger& errorLogger) : CheckImpl(tokenizer, settings, errorLogger) {} /** Accessing container out of bounds using ValueFlow */ diff --git a/lib/checkstring.cpp b/lib/checkstring.cpp index 00fa80998c1..1d391895c3e 100644 --- a/lib/checkstring.cpp +++ b/lib/checkstring.cpp @@ -471,7 +471,7 @@ void CheckStringImpl::sprintfOverlappingDataError(const Token *funcTok, const To "to sprintf() or snprintf(), the results are undefined.\"", CWE628, Certainty::normal); } -void CheckString::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) +void CheckString::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) { CheckStringImpl checkString(&tokenizer, tokenizer.getSettings(), errorLogger); @@ -485,7 +485,7 @@ void CheckString::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger checkString.checkAlwaysTrueOrFalseStringCompare(); } -void CheckString::getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const +void CheckString::getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const { CheckStringImpl c(nullptr, settings, errorLogger); c.stringLiteralWriteError(nullptr, nullptr); diff --git a/lib/checkstring.h b/lib/checkstring.h index 2c19d64332c..1614e4dc7d3 100644 --- a/lib/checkstring.h +++ b/lib/checkstring.h @@ -46,9 +46,9 @@ class CPPCHECKLIB CheckString : public Check { private: /** @brief Run checks against the normal token list */ - void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override; + void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override; - void getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const override; + void getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const override; std::string classInfo() const override { return "Detect misusage of C-style strings:\n" @@ -65,7 +65,7 @@ class CPPCHECKLIB CheckString : public Check { class CPPCHECKLIB CheckStringImpl : public CheckImpl { public: /** @brief This constructor is used when running checks. */ - CheckStringImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger) + CheckStringImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger) : CheckImpl(tokenizer, settings, errorLogger) {} /** @brief undefined behaviour, writing string literal */ diff --git a/lib/checktype.cpp b/lib/checktype.cpp index 262cb37a612..447a8924360 100644 --- a/lib/checktype.cpp +++ b/lib/checktype.cpp @@ -531,7 +531,7 @@ void CheckTypeImpl::floatToIntegerOverflowError(const Token *tok, const ValueFlo errmsg.str(), CWE190, value.isInconclusive() ? Certainty::inconclusive : Certainty::normal); } -void CheckType::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) +void CheckType::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) { // These are not "simplified" because casts can't be ignored CheckTypeImpl checkType(&tokenizer, tokenizer.getSettings(), errorLogger); @@ -542,7 +542,7 @@ void CheckType::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) checkType.checkFloatToIntegerOverflow(); } -void CheckType::getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const +void CheckType::getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const { CheckTypeImpl c(nullptr, settings, errorLogger); c.tooBigBitwiseShiftError(nullptr, 32, ValueFlow::Value(64)); diff --git a/lib/checktype.h b/lib/checktype.h index 8ebfb0fb5b2..83eedda5583 100644 --- a/lib/checktype.h +++ b/lib/checktype.h @@ -52,9 +52,9 @@ class CPPCHECKLIB CheckType : public Check { private: /** @brief Run checks against the normal token list */ - void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override; + void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override; - void getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const override; + void getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const override; std::string classInfo() const override { return "Type checks\n" @@ -70,7 +70,7 @@ class CPPCHECKLIB CheckType : public Check { class CPPCHECKLIB CheckTypeImpl : public CheckImpl { public: /** @brief This constructor is used when running checks. */ - CheckTypeImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger) + CheckTypeImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger) : CheckImpl(tokenizer, settings, errorLogger) {} /** @brief %Check for bitwise shift with too big right operand */ diff --git a/lib/checkuninitvar.cpp b/lib/checkuninitvar.cpp index bdfc07a8d47..7c00b705879 100644 --- a/lib/checkuninitvar.cpp +++ b/lib/checkuninitvar.cpp @@ -1753,7 +1753,7 @@ bool CheckUninitVar::analyseWholeProgram(const CTU::FileInfo &ctu, const std::li { (void)settings; - CheckUninitVarImpl dummy(nullptr, settings, &errorLogger); + CheckUninitVarImpl dummy(nullptr, settings, errorLogger); dummy. logChecker("CheckUninitVar::analyseWholeProgram"); @@ -1797,14 +1797,14 @@ bool CheckUninitVar::analyseWholeProgram(const CTU::FileInfo &ctu, const std::li return foundErrors; } -void CheckUninitVar::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) +void CheckUninitVar::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) { CheckUninitVarImpl checkUninitVar(&tokenizer, tokenizer.getSettings(), errorLogger); checkUninitVar.valueFlowUninit(); checkUninitVar.check(); } -void CheckUninitVar::getErrorMessages(ErrorLogger* errorLogger, const Settings& settings) const +void CheckUninitVar::getErrorMessages(ErrorLogger& errorLogger, const Settings& settings) const { CheckUninitVarImpl c(nullptr, settings, errorLogger); diff --git a/lib/checkuninitvar.h b/lib/checkuninitvar.h index f558fe84709..dd92b3c892b 100644 --- a/lib/checkuninitvar.h +++ b/lib/checkuninitvar.h @@ -66,7 +66,7 @@ class CPPCHECKLIB CheckUninitVar : public Check { private: /** @brief Run checks against the normal token list */ - void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override; + void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override; /** @brief Parse current TU and extract file info */ Check::FileInfo *getFileInfo(const Tokenizer &tokenizer, const Settings &settings, const std::string& /*currentConfig*/) const override; @@ -76,7 +76,7 @@ class CPPCHECKLIB CheckUninitVar : public Check { /** @brief Analyse all file infos for all TU */ bool analyseWholeProgram(const CTU::FileInfo &ctu, const std::list &fileInfo, const Settings& settings, ErrorLogger &errorLogger) override; - void getErrorMessages(ErrorLogger* errorLogger, const Settings& settings) const override; + void getErrorMessages(ErrorLogger& errorLogger, const Settings& settings) const override; std::string classInfo() const override { return "Uninitialized variables\n" @@ -88,7 +88,7 @@ class CPPCHECKLIB CheckUninitVar : public Check { class CPPCHECKLIB CheckUninitVarImpl : public CheckImpl { public: /** @brief This constructor is used when running checks. */ - CheckUninitVarImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger) + CheckUninitVarImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger) : CheckImpl(tokenizer, settings, errorLogger) {} enum Alloc : std::uint8_t { NO_ALLOC, NO_CTOR_CALL, CTOR_CALL, ARRAY }; diff --git a/lib/checkunusedvar.cpp b/lib/checkunusedvar.cpp index dd30f65db58..fcc8746c30e 100644 --- a/lib/checkunusedvar.cpp +++ b/lib/checkunusedvar.cpp @@ -1725,7 +1725,7 @@ bool CheckUnusedVarImpl::isEmptyType(const Type* type) return (emptyType = false); } -void CheckUnusedVar::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) +void CheckUnusedVar::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) { CheckUnusedVarImpl checkUnusedVar(&tokenizer, tokenizer.getSettings(), errorLogger); @@ -1734,7 +1734,7 @@ void CheckUnusedVar::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLog checkUnusedVar.checkFunctionVariableUsage(); } -void CheckUnusedVar::getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const +void CheckUnusedVar::getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const { CheckUnusedVarImpl c(nullptr, settings, errorLogger); c.unusedVariableError(nullptr, "varname"); diff --git a/lib/checkunusedvar.h b/lib/checkunusedvar.h index cddc36bb7e3..693d3213869 100644 --- a/lib/checkunusedvar.h +++ b/lib/checkunusedvar.h @@ -51,9 +51,9 @@ class CPPCHECKLIB CheckUnusedVar : public Check { private: /** @brief Run checks against the normal token list */ - void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override; + void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override; - void getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const override; + void getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const override; std::string classInfo() const override { return "UnusedVar checks\n" @@ -70,7 +70,7 @@ class CPPCHECKLIB CheckUnusedVar : public Check { class CPPCHECKLIB CheckUnusedVarImpl : public CheckImpl { public: /** @brief This constructor is used when running checks. */ - CheckUnusedVarImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger) + CheckUnusedVarImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger) : CheckImpl(tokenizer, settings, errorLogger) {} /** @brief %Check for unused function variables */ diff --git a/lib/checkvaarg.cpp b/lib/checkvaarg.cpp index 60a27b897b5..ae8b1626ba6 100644 --- a/lib/checkvaarg.cpp +++ b/lib/checkvaarg.cpp @@ -173,14 +173,14 @@ void CheckVaargImpl::va_start_subsequentCallsError(const Token *tok, const std:: "va_start_subsequentCalls", "va_start() or va_copy() called subsequently on '" + varname + "' without va_end() in between.", CWE664, Certainty::normal); } -void CheckVaarg::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) +void CheckVaarg::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) { CheckVaargImpl check(&tokenizer, tokenizer.getSettings(), errorLogger); check.va_start_argument(); check.va_list_usage(); } -void CheckVaarg::getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const +void CheckVaarg::getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const { CheckVaargImpl c(nullptr, settings, errorLogger); c.wrongParameterTo_va_start_error(nullptr, "arg1", "arg2"); diff --git a/lib/checkvaarg.h b/lib/checkvaarg.h index 6d50bd94d0d..eea3f345bcc 100644 --- a/lib/checkvaarg.h +++ b/lib/checkvaarg.h @@ -44,10 +44,10 @@ class CPPCHECKLIB CheckVaarg : public Check { public: CheckVaarg() : Check("Vaarg") {} - void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override; + void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override; private: - void getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const override; + void getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const override; std::string classInfo() const override { return "Check for misusage of variable argument lists:\n" @@ -62,7 +62,7 @@ class CPPCHECKLIB CheckVaarg : public Check { class CPPCHECKLIB CheckVaargImpl : public CheckImpl { public: - CheckVaargImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger) + CheckVaargImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger) : CheckImpl(tokenizer, settings, errorLogger) {} void va_start_argument(); diff --git a/lib/cppcheck.cpp b/lib/cppcheck.cpp index 471a1a8ff1e..856e9a14efa 100644 --- a/lib/cppcheck.cpp +++ b/lib/cppcheck.cpp @@ -1358,7 +1358,7 @@ void CppCheck::checkNormalTokens(const Tokenizer &tokenizer, AnalyzerInformation } Timer::run(c->name() + "::runChecks", mTimerResults, [&]() { - c->runChecks(tokenizer, &mErrorLogger); + c->runChecks(tokenizer, mErrorLogger); }); } } @@ -1714,7 +1714,7 @@ void CppCheck::getErrorMessages(ErrorLogger &errorlogger) // call all "getErrorMessages" in all registered Check classes for (const Check * const c : CheckInstances::get()) - c->getErrorMessages(&errorlogger, s); + c->getErrorMessages(errorlogger, s); CheckUnusedFunctions::getErrorMessages(errorlogger); Preprocessor::getErrorMessages(errorlogger, s); diff --git a/test/fixture.h b/test/fixture.h index b927dc5de65..c5828033fd7 100644 --- a/test/fixture.h +++ b/test/fixture.h @@ -139,7 +139,7 @@ class TestFixture : public ErrorLogger { return check; } - static void runChecks(Check& check, const Tokenizer &tokenizer, ErrorLogger *errorLogger) + static void runChecks(Check& check, const Tokenizer &tokenizer, ErrorLogger& errorLogger) { check.runChecks(tokenizer, errorLogger); } diff --git a/test/test64bit.cpp b/test/test64bit.cpp index ca2654b12f1..cc96da48577 100644 --- a/test/test64bit.cpp +++ b/test/test64bit.cpp @@ -49,7 +49,7 @@ class Test64BitPortability : public TestFixture { SimpleTokenizer tokenizer(settings, *this, cpp); ASSERT_LOC(tokenizer.tokenize(code), file, line); - Check64BitPortabilityImpl check64BitPortability(&tokenizer, settings, this); + Check64BitPortabilityImpl check64BitPortability(&tokenizer, settings, *this); check64BitPortability.pointerassignment(); } diff --git a/test/testassert.cpp b/test/testassert.cpp index 651897af057..80bb5d3b827 100644 --- a/test/testassert.cpp +++ b/test/testassert.cpp @@ -40,7 +40,7 @@ class TestAssert : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); CheckAssert check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } void run() override { diff --git a/test/testautovariables.cpp b/test/testautovariables.cpp index 2474c2fe6a5..47484d7023e 100644 --- a/test/testautovariables.cpp +++ b/test/testautovariables.cpp @@ -48,7 +48,7 @@ class TestAutoVariables : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); CheckAutoVariables check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } void run() override { diff --git a/test/testbool.cpp b/test/testbool.cpp index 6156e089aee..6074bbab46a 100644 --- a/test/testbool.cpp +++ b/test/testbool.cpp @@ -89,7 +89,7 @@ class TestBool : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); CheckBool check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } diff --git a/test/testbufferoverrun.cpp b/test/testbufferoverrun.cpp index 29d8fa13d17..54fcabab6d1 100644 --- a/test/testbufferoverrun.cpp +++ b/test/testbufferoverrun.cpp @@ -57,7 +57,7 @@ class TestBufferOverrun : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); CheckBufferOverrun check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } // TODO: get rid of this @@ -67,7 +67,7 @@ class TestBufferOverrun : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); CheckBufferOverrun check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } #define checkP(...) checkP_(__FILE__, __LINE__, __VA_ARGS__) @@ -80,7 +80,7 @@ class TestBufferOverrun : public TestFixture { ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); CheckBufferOverrun check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } void run() override { @@ -5171,7 +5171,7 @@ class TestBufferOverrun : public TestFixture { // Ticket #2292: segmentation fault when using --errorlist CheckBufferOverrun check; const Check& c = getCheck(check); - c.getErrorMessages(this, settingsDefault); + c.getErrorMessages(*this, settingsDefault); // we are not interested in the output - just consume it ignore_errout(); } diff --git a/test/testcharvar.cpp b/test/testcharvar.cpp index 347557bd051..7d4a17489fc 100644 --- a/test/testcharvar.cpp +++ b/test/testcharvar.cpp @@ -47,7 +47,7 @@ class TestCharVar : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); // Check char variable usage.. - CheckOtherImpl checkOther(&tokenizer, settings, this); + CheckOtherImpl checkOther(&tokenizer, settings, *this); checkOther.checkCharVariable(); } diff --git a/test/testclass.cpp b/test/testclass.cpp index 8fba8d4a340..7f1a668cae1 100644 --- a/test/testclass.cpp +++ b/test/testclass.cpp @@ -270,7 +270,7 @@ class TestClass : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); // Check.. - CheckClassImpl checkClass(&tokenizer, settings, this); + CheckClassImpl checkClass(&tokenizer, settings, *this); (checkClass.checkCopyCtorAndEqOperator)(); } @@ -371,7 +371,7 @@ class TestClass : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); // Check.. - CheckClassImpl checkClass(&tokenizer, settings0, this); + CheckClassImpl checkClass(&tokenizer, settings0, *this); (checkClass.checkExplicitConstructors)(); } @@ -528,7 +528,7 @@ class TestClass : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); // Check.. - CheckClassImpl checkClass(&tokenizer, settings1, this); + CheckClassImpl checkClass(&tokenizer, settings1, *this); (checkClass.checkDuplInheritedMembers)(); } @@ -752,7 +752,7 @@ class TestClass : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); // Check.. - CheckClassImpl checkClass(&tokenizer, settings3, this); + CheckClassImpl checkClass(&tokenizer, settings3, *this); checkClass.copyconstructors(); } @@ -1223,7 +1223,7 @@ class TestClass : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); // Check.. - CheckClassImpl checkClass(&tokenizer, settings0, this); + CheckClassImpl checkClass(&tokenizer, settings0, *this); checkClass.operatorEqRetRefThis(); } @@ -1694,7 +1694,7 @@ class TestClass : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); // Check.. - CheckClassImpl checkClass(&tokenizer, settings1, this); + CheckClassImpl checkClass(&tokenizer, settings1, *this); checkClass.operatorEqToSelf(); } @@ -2657,7 +2657,7 @@ class TestClass : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); // Check.. - CheckClassImpl checkClass(&tokenizer, s, this); + CheckClassImpl checkClass(&tokenizer, s, *this); checkClass.virtualDestructor(); } @@ -2994,7 +2994,7 @@ class TestClass : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); // Check.. - CheckClassImpl checkClass(&tokenizer, settings, this); + CheckClassImpl checkClass(&tokenizer, settings, *this); checkClass.checkMemset(); } @@ -3640,7 +3640,7 @@ class TestClass : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); // Check.. - CheckClassImpl checkClass(&tokenizer, settings1, this); + CheckClassImpl checkClass(&tokenizer, settings1, *this); checkClass.thisSubtraction(); } @@ -3680,7 +3680,7 @@ class TestClass : public TestFixture { SimpleTokenizer tokenizer(settings, *this); ASSERT_LOC(tokenizer.tokenize(code), file, line); - CheckClassImpl checkClass(&tokenizer, settings, this); + CheckClassImpl checkClass(&tokenizer, settings, *this); (checkClass.checkConst)(); } @@ -7863,7 +7863,7 @@ class TestClass : public TestFixture { SimpleTokenizer tokenizer(settings2, *this); ASSERT_LOC(tokenizer.tokenize(code), file, line); - CheckClassImpl checkClass(&tokenizer, settings2, this); + CheckClassImpl checkClass(&tokenizer, settings2, *this); checkClass.initializerListOrder(); } @@ -8017,7 +8017,7 @@ class TestClass : public TestFixture { SimpleTokenizer tokenizer(settings, *this); ASSERT_LOC(tokenizer.tokenize(code), file, line); - CheckClassImpl checkClass(&tokenizer, settings, this); + CheckClassImpl checkClass(&tokenizer, settings, *this); checkClass.initializationListUsage(); } @@ -8241,7 +8241,7 @@ class TestClass : public TestFixture { SimpleTokenizer tokenizer(settings0, *this); ASSERT_LOC(tokenizer.tokenize(code), file, line); - CheckClassImpl checkClass(&tokenizer, settings0, this); + CheckClassImpl checkClass(&tokenizer, settings0, *this); (checkClass.checkSelfInitialization)(); } @@ -8351,7 +8351,7 @@ class TestClass : public TestFixture { SimpleTokenizer tokenizer(settings, *this); ASSERT_LOC(tokenizer.tokenize(code), file, line); - CheckClassImpl checkClass(&tokenizer, settings, this); + CheckClassImpl checkClass(&tokenizer, settings, *this); checkClass.checkVirtualFunctionCallInConstructor(); } @@ -8696,7 +8696,7 @@ class TestClass : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); // Check.. - CheckClassImpl checkClass(&tokenizer, settings, this); + CheckClassImpl checkClass(&tokenizer, settings, *this); (checkClass.checkOverride)(); } @@ -8908,7 +8908,7 @@ class TestClass : public TestFixture { ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); // Check.. - CheckClassImpl checkClass(&tokenizer, settings, this); + CheckClassImpl checkClass(&tokenizer, settings, *this); (checkClass.checkUselessOverride)(); } @@ -9098,7 +9098,7 @@ class TestClass : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); // Check.. - CheckClassImpl checkClass(&tokenizer, settings, this); + CheckClassImpl checkClass(&tokenizer, settings, *this); (checkClass.checkUnsafeClassRefMember)(); } @@ -9116,7 +9116,7 @@ class TestClass : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); // Check.. - CheckClassImpl checkClass(&tokenizer, settings1, this); + CheckClassImpl checkClass(&tokenizer, settings1, *this); (checkClass.checkThisUseAfterFree)(); } @@ -9353,7 +9353,7 @@ class TestClass : public TestFixture { ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); // Check.. - CheckClassImpl checkClass(&tokenizer, settings, this); + CheckClassImpl checkClass(&tokenizer, settings, *this); (checkClass.checkReturnByReference)(); } diff --git a/test/testcondition.cpp b/test/testcondition.cpp index e5aedae6609..3143b6eb201 100644 --- a/test/testcondition.cpp +++ b/test/testcondition.cpp @@ -150,7 +150,7 @@ class TestCondition : public TestFixture { ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); CheckCondition check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } #define checkP(...) checkP_(__FILE__, __LINE__, __VA_ARGS__) @@ -163,7 +163,7 @@ class TestCondition : public TestFixture { ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); CheckCondition check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } void assignAndCompare() { @@ -528,7 +528,7 @@ class TestCondition : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); CheckCondition check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } void multicompare() { diff --git a/test/testconstructors.cpp b/test/testconstructors.cpp index b4f17cd25b8..5f2fd228dc4 100644 --- a/test/testconstructors.cpp +++ b/test/testconstructors.cpp @@ -52,7 +52,7 @@ class TestConstructors : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); // Check class constructors.. - CheckClassImpl checkClass(&tokenizer, settings1, this); + CheckClassImpl checkClass(&tokenizer, settings1, *this); checkClass.constructors(); } diff --git a/test/testexceptionsafety.cpp b/test/testexceptionsafety.cpp index 46c995c231b..1be46fbf282 100644 --- a/test/testexceptionsafety.cpp +++ b/test/testexceptionsafety.cpp @@ -76,7 +76,7 @@ class TestExceptionSafety : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); CheckExceptionSafety check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } void destructors() { diff --git a/test/testfunctions.cpp b/test/testfunctions.cpp index 9ddb4c1f43c..788ff7a0d14 100644 --- a/test/testfunctions.cpp +++ b/test/testfunctions.cpp @@ -133,7 +133,7 @@ class TestFunctions : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); CheckFunctions check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } void prohibitedFunctions_posix() { diff --git a/test/testgarbage.cpp b/test/testgarbage.cpp index 289b22b284e..7d91a013940 100644 --- a/test/testgarbage.cpp +++ b/test/testgarbage.cpp @@ -287,7 +287,7 @@ class TestGarbage : public TestFixture { // call all "runChecks" in all registered Check classes for (Check * const c : CheckInstances::get()) { - c->runChecks(tokenizer, this); + c->runChecks(tokenizer, *this); } return tokenizer.tokens()->stringifyList(false, false, false, true, false, nullptr, nullptr); diff --git a/test/testincompletestatement.cpp b/test/testincompletestatement.cpp index be0b3e7ad3d..b72b6524872 100644 --- a/test/testincompletestatement.cpp +++ b/test/testincompletestatement.cpp @@ -50,7 +50,7 @@ class TestIncompleteStatement : public TestFixture { ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); // Check for incomplete statements.. - CheckOtherImpl checkOther(&tokenizer, settings1, this); + CheckOtherImpl checkOther(&tokenizer, settings1, *this); checkOther.checkIncompleteStatement(); } diff --git a/test/testinternal.cpp b/test/testinternal.cpp index b724c860fae..61c36a8e7dd 100644 --- a/test/testinternal.cpp +++ b/test/testinternal.cpp @@ -57,7 +57,7 @@ class TestInternal : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); CheckInternal check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } void simplePatternInTokenMatch() { diff --git a/test/testio.cpp b/test/testio.cpp index c622bc5936d..15a65ef79c9 100644 --- a/test/testio.cpp +++ b/test/testio.cpp @@ -109,12 +109,12 @@ class TestIO : public TestFixture { // Check.. if (options.onlyFormatStr) { - CheckIOImpl checkIO(&tokenizer, settings1, this); + CheckIOImpl checkIO(&tokenizer, settings1, *this); checkIO.checkWrongPrintfScanfArguments(); return; } CheckIO check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } void coutCerrMisusage() { diff --git a/test/testleakautovar.cpp b/test/testleakautovar.cpp index 265e31bf3c2..b7f8b024a8c 100644 --- a/test/testleakautovar.cpp +++ b/test/testleakautovar.cpp @@ -236,7 +236,7 @@ class TestLeakAutoVar : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); CheckLeakAutoVar check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } void assign1() { @@ -3267,7 +3267,7 @@ class TestLeakAutoVarRecursiveCountLimit : public TestFixture { ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); CheckLeakAutoVar check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } void run() override { @@ -3314,7 +3314,7 @@ class TestLeakAutoVarStrcpy : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); CheckLeakAutoVar check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } void run() override { @@ -3419,7 +3419,7 @@ class TestLeakAutoVarWindows : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); CheckLeakAutoVar check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } void run() override { @@ -3492,7 +3492,7 @@ class TestLeakAutoVarPosix : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); CheckLeakAutoVar check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } void run() override { diff --git a/test/testmemleak.cpp b/test/testmemleak.cpp index 6e3d28010a1..fda118826bb 100644 --- a/test/testmemleak.cpp +++ b/test/testmemleak.cpp @@ -44,7 +44,7 @@ class TestMemleak : public TestFixture { SimpleTokenizer tokenizer(settingsDefault, *this); ASSERT_LOC(tokenizer.tokenize(code), file, line); - const CheckMemoryLeakImpl c(&tokenizer, settingsDefault, this); + const CheckMemoryLeakImpl c(&tokenizer, settingsDefault, *this); return (c.functionReturnType)(&tokenizer.getSymbolDatabase()->scopeList.front().functionList.front()); } @@ -93,7 +93,7 @@ class TestMemleak : public TestFixture { // there is no allocation const Token *tok = Token::findsimplematch(tokenizer.tokens(), "ret ="); - const CheckMemoryLeakImpl check(&tokenizer, settingsDefault, nullptr); + const CheckMemoryLeakImpl check(&tokenizer, settingsDefault, *this); ASSERT_EQUALS(CheckMemoryLeakImpl::No, check.getAllocationType(tok->tokAt(2), 1)); } }; @@ -119,7 +119,7 @@ class TestMemleakInFunction : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); // Check for memory leaks.. - CheckMemoryLeakInFunctionImpl checkMemoryLeak(&tokenizer, settings, this); + CheckMemoryLeakInFunctionImpl checkMemoryLeak(&tokenizer, settings, *this); checkMemoryLeak.checkReallocUsage(); } @@ -501,7 +501,7 @@ class TestMemleakInClass : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); // Check for memory leaks.. - CheckMemoryLeakInClassImpl checkMemoryLeak(&tokenizer, settings, this); + CheckMemoryLeakInClassImpl checkMemoryLeak(&tokenizer, settings, *this); (checkMemoryLeak.check)(); } @@ -1706,7 +1706,7 @@ class TestMemleakStructMember : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); // Check for memory leaks.. - CheckMemoryLeakStructMemberImpl checkMemoryLeakStructMember(&tokenizer, settings, this); + CheckMemoryLeakStructMemberImpl checkMemoryLeakStructMember(&tokenizer, settings, *this); (checkMemoryLeakStructMember.check)(); } @@ -2388,7 +2388,7 @@ class TestMemleakNoVar : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); // Check for memory leaks.. - CheckMemoryLeakNoVarImpl checkMemoryLeakNoVar(&tokenizer, settings, this); + CheckMemoryLeakNoVarImpl checkMemoryLeakNoVar(&tokenizer, settings, *this); (checkMemoryLeakNoVar.check)(); } diff --git a/test/testnullpointer.cpp b/test/testnullpointer.cpp index 3e9d4011500..b628d294a59 100644 --- a/test/testnullpointer.cpp +++ b/test/testnullpointer.cpp @@ -200,7 +200,7 @@ class TestNullPointer : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); CheckNullPointer check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } #define checkP(...) checkP_(__FILE__, __LINE__, __VA_ARGS__) @@ -212,7 +212,7 @@ class TestNullPointer : public TestFixture { ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); CheckNullPointer check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } diff --git a/test/testother.cpp b/test/testother.cpp index 2394cfefe7c..e720d9c7224 100644 --- a/test/testother.cpp +++ b/test/testother.cpp @@ -368,7 +368,7 @@ class TestOther : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); CheckOther check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } struct CheckPOptions @@ -385,7 +385,7 @@ class TestOther : public TestFixture { ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); CheckOther check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } template @@ -2055,7 +2055,7 @@ class TestOther : public TestFixture { SimpleTokenizer tokenizerCpp(settings, *this); ASSERT_LOC(tokenizerCpp.tokenize(code), file, line); - CheckOtherImpl checkOtherCpp(&tokenizerCpp, settings, this); + CheckOtherImpl checkOtherCpp(&tokenizerCpp, settings, *this); checkOtherCpp.warningOldStylePointerCast(); checkOtherCpp.warningDangerousTypeCast(); } @@ -2341,7 +2341,7 @@ class TestOther : public TestFixture { SimpleTokenizer tokenizerCpp(settings, *this); ASSERT_LOC(tokenizerCpp.tokenize(code), file, line); - CheckOtherImpl checkOtherCpp(&tokenizerCpp, settings, this); + CheckOtherImpl checkOtherCpp(&tokenizerCpp, settings, *this); checkOtherCpp.warningIntToPointerCast(); } @@ -2380,7 +2380,7 @@ class TestOther : public TestFixture { SimpleTokenizer tokenizer(settings, *this); ASSERT_LOC(tokenizer.tokenize(code), file, line); - CheckOtherImpl checkOtherCpp(&tokenizer, settings, this); + CheckOtherImpl checkOtherCpp(&tokenizer, settings, *this); checkOtherCpp.invalidPointerCast(); } @@ -12315,7 +12315,7 @@ class TestOther : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); CheckOther check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } void testEvaluationOrder() { diff --git a/test/testpostfixoperator.cpp b/test/testpostfixoperator.cpp index 07b7c03ca00..2277039820f 100644 --- a/test/testpostfixoperator.cpp +++ b/test/testpostfixoperator.cpp @@ -38,7 +38,7 @@ class TestPostfixOperator : public TestFixture { SimpleTokenizer tokenizer(settings, *this); ASSERT_LOC(tokenizer.tokenize(code), file, line); - CheckPostfixOperatorImpl checkPostfixOperator(&tokenizer, settings, this); + CheckPostfixOperatorImpl checkPostfixOperator(&tokenizer, settings, *this); checkPostfixOperator.postfixOperator(); } diff --git a/test/testsizeof.cpp b/test/testsizeof.cpp index ee9416a65bc..9337252f92c 100644 --- a/test/testsizeof.cpp +++ b/test/testsizeof.cpp @@ -55,7 +55,7 @@ class TestSizeof : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); CheckSizeof check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } #define checkP(...) checkP_(__FILE__, __LINE__, __VA_ARGS__) @@ -67,7 +67,7 @@ class TestSizeof : public TestFixture { ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); CheckSizeof check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } void sizeofsizeof() { diff --git a/test/teststl.cpp b/test/teststl.cpp index 18549e08f9f..51fab0e6021 100644 --- a/test/teststl.cpp +++ b/test/teststl.cpp @@ -200,7 +200,7 @@ class TestStl : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); CheckStl check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } // TODO: get rid of this @@ -211,7 +211,7 @@ class TestStl : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); CheckStl check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } #define checkNormal(...) checkNormal_(__FILE__, __LINE__, __VA_ARGS__) @@ -222,7 +222,7 @@ class TestStl : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); CheckStl check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } void outOfBounds() { diff --git a/test/teststring.cpp b/test/teststring.cpp index 7f28f58c80a..80073ac7d91 100644 --- a/test/teststring.cpp +++ b/test/teststring.cpp @@ -75,7 +75,7 @@ class TestString : public TestFixture { ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); CheckString check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } void stringLiteralWrite() { diff --git a/test/testtype.cpp b/test/testtype.cpp index 80c3dfd32b8..2bcab8c91dc 100644 --- a/test/testtype.cpp +++ b/test/testtype.cpp @@ -62,7 +62,7 @@ class TestType : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); CheckType check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } // TODO: get rid of this @@ -74,7 +74,7 @@ class TestType : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); CheckType check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } struct CheckPOptions @@ -94,7 +94,7 @@ class TestType : public TestFixture { ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); CheckType check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } void checkTooBigShift_Unix32() { diff --git a/test/testuninitvar.cpp b/test/testuninitvar.cpp index 0d71efbc897..b9e8a623cb7 100644 --- a/test/testuninitvar.cpp +++ b/test/testuninitvar.cpp @@ -127,7 +127,7 @@ class TestUninitVar : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); // Check for redundant code.. - CheckUninitVarImpl checkuninitvar(&tokenizer, settings1, this); + CheckUninitVarImpl checkuninitvar(&tokenizer, settings1, *this); checkuninitvar.check(); } @@ -137,7 +137,7 @@ class TestUninitVar : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); // Check for redundant code.. - CheckUninitVarImpl checkuninitvar(&tokenizer, settings, this); + CheckUninitVarImpl checkuninitvar(&tokenizer, settings, *this); checkuninitvar.check(); } @@ -3673,7 +3673,7 @@ class TestUninitVar : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); // Check for redundant code.. - CheckUninitVarImpl checkuninitvar(&tokenizer, settings, this); + CheckUninitVarImpl checkuninitvar(&tokenizer, settings, *this); (checkuninitvar.valueFlowUninit)(); } diff --git a/test/testunusedprivfunc.cpp b/test/testunusedprivfunc.cpp index 06c41bbb9c2..4a2a6ca1894 100644 --- a/test/testunusedprivfunc.cpp +++ b/test/testunusedprivfunc.cpp @@ -104,7 +104,7 @@ class TestUnusedPrivateFunction : public TestFixture { ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); // Check for unused private functions.. - CheckClassImpl checkClass(&tokenizer, settings1, this); + CheckClassImpl checkClass(&tokenizer, settings1, *this); checkClass.privateFunctions(); } diff --git a/test/testunusedvar.cpp b/test/testunusedvar.cpp index ae44305ef6a..2efe658b52e 100644 --- a/test/testunusedvar.cpp +++ b/test/testunusedvar.cpp @@ -291,7 +291,7 @@ class TestUnusedVar : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); // Check for unused variables.. - CheckUnusedVarImpl checkUnusedVar(&tokenizer, settings, this); + CheckUnusedVarImpl checkUnusedVar(&tokenizer, settings, *this); checkUnusedVar.checkFunctionVariableUsage(); } @@ -311,7 +311,7 @@ class TestUnusedVar : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); // Check for unused variables.. - CheckUnusedVarImpl checkUnusedVar(&tokenizer, settings, this); + CheckUnusedVarImpl checkUnusedVar(&tokenizer, settings, *this); (checkUnusedVar.checkStructMemberUsage)(); } @@ -324,7 +324,7 @@ class TestUnusedVar : public TestFixture { ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); // Check for unused variables.. - CheckUnusedVarImpl checkUnusedVar(&tokenizer, settings, this); + CheckUnusedVarImpl checkUnusedVar(&tokenizer, settings, *this); (checkUnusedVar.checkStructMemberUsage)(); } @@ -337,7 +337,7 @@ class TestUnusedVar : public TestFixture { ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); // Check for unused variables.. - CheckUnusedVarImpl checkUnusedVar(&tokenizer, settings, this); + CheckUnusedVarImpl checkUnusedVar(&tokenizer, settings, *this); (checkUnusedVar.checkFunctionVariableUsage)(); } diff --git a/test/testvaarg.cpp b/test/testvaarg.cpp index 3f44b687ff3..826438fe355 100644 --- a/test/testvaarg.cpp +++ b/test/testvaarg.cpp @@ -39,7 +39,7 @@ class TestVaarg : public TestFixture { ASSERT_LOC(tokenizer.tokenize(code), file, line); CheckVaarg check; - runChecks(check, tokenizer, this); + runChecks(check, tokenizer, *this); } void run() override {