diff --git a/lib/check.cpp b/lib/check.cpp index 792a12edeb3..3403f8564a3 100644 --- a/lib/check.cpp +++ b/lib/check.cpp @@ -32,11 +32,11 @@ //--------------------------------------------------------------------------- -Check::Check(const std::string &aname) - : mTokenizer(nullptr), mSettings(nullptr), mErrorLogger(nullptr), mName(aname) +Check::Check() + : mTokenizer(nullptr), mSettings(nullptr), mErrorLogger(nullptr) { auto it = std::find_if(instances().begin(), instances().end(), [&](const Check* i) { - return i->name() > aname; + return i->name() > name(); }); if (it == instances().end()) instances().push_back(this); diff --git a/lib/check.h b/lib/check.h index 7bc0892c44f..5b62848ae6c 100644 --- a/lib/check.h +++ b/lib/check.h @@ -59,11 +59,11 @@ class Tokenizer; class CPPCHECKLIB Check { public: /** This constructor is used when registering the CheckClass */ - explicit Check(const std::string &aname); + explicit Check(); /** This constructor is used when running checks. */ - Check(std::string aname, const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) - : mTokenizer(tokenizer), mSettings(settings), mErrorLogger(errorLogger), mName(std::move(aname)) {} + Check(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) + : mTokenizer(tokenizer), mSettings(settings), mErrorLogger(errorLogger) {} virtual ~Check() { if (!mTokenizer) @@ -83,9 +83,7 @@ class CPPCHECKLIB Check { virtual void getErrorMessages(ErrorLogger *errorLogger, const Settings *settings) const = 0; /** class name, used to generate documentation */ - const std::string& name() const { - return mName; - } + virtual std::string name() const = 0; /** get information about this class, used to generate documentation */ virtual std::string classInfo() const = 0; @@ -162,9 +160,6 @@ class CPPCHECKLIB Check { * will call this method */ bool wrongData(const Token *tok, const char *str); - -private: - const std::string mName; }; /// @} diff --git a/lib/check64bit.h b/lib/check64bit.h index 67f10c42e38..dd1adeeaa7f 100644 --- a/lib/check64bit.h +++ b/lib/check64bit.h @@ -43,11 +43,11 @@ class Tokenizer; class CPPCHECKLIB Check64BitPortability : public Check { public: /** This constructor is used when registering the Check64BitPortability */ - Check64BitPortability() : Check(myName()) {} + Check64BitPortability() : Check() {} /** This constructor is used when running checks. */ Check64BitPortability(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) - : Check(myName(), tokenizer, settings, errorLogger) {} + : Check(tokenizer, settings, errorLogger) {} /** @brief Run checks against the normal token list */ void runChecks(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) override { @@ -73,7 +73,7 @@ class CPPCHECKLIB Check64BitPortability : public Check { c.returnPointerError(nullptr); } - static std::string myName() { + std::string name() const override { return "64-bit portability"; } diff --git a/lib/checkassert.h b/lib/checkassert.h index 78ce0905c4c..1e436e18112 100644 --- a/lib/checkassert.h +++ b/lib/checkassert.h @@ -42,10 +42,10 @@ class Tokenizer; class CPPCHECKLIB CheckAssert : public Check { public: - CheckAssert() : Check(myName()) {} + CheckAssert() : Check() {} CheckAssert(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) - : Check(myName(), tokenizer, settings, errorLogger) {} + : Check(tokenizer, settings, errorLogger) {} /** run checks, the token list is not simplified */ void runChecks(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) override { @@ -69,7 +69,7 @@ class CPPCHECKLIB CheckAssert : public Check { c.assignmentInAssertError(nullptr, "var"); } - static std::string myName() { + std::string name() const override { return "Assert"; } diff --git a/lib/checkautovariables.h b/lib/checkautovariables.h index 23cf502651d..34e8f90f72d 100644 --- a/lib/checkautovariables.h +++ b/lib/checkautovariables.h @@ -47,11 +47,11 @@ namespace ValueFlow { class CPPCHECKLIB CheckAutoVariables : public Check { public: /** This constructor is used when registering the CheckClass */ - CheckAutoVariables() : Check(myName()) {} + CheckAutoVariables() : Check() {} /** This constructor is used when running checks. */ CheckAutoVariables(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) - : Check(myName(), tokenizer, settings, errorLogger) {} + : Check(tokenizer, settings, errorLogger) {} /** @brief Run checks against the normal token list */ void runChecks(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) override { @@ -107,7 +107,7 @@ class CPPCHECKLIB CheckAutoVariables : public Check { c.errorDanglingTemporaryLifetime(nullptr, nullptr, nullptr); } - static std::string myName() { + std::string name() const override { return "Auto Variables"; } diff --git a/lib/checkbool.h b/lib/checkbool.h index efaa5a59f96..c0f20b96c99 100644 --- a/lib/checkbool.h +++ b/lib/checkbool.h @@ -41,11 +41,11 @@ class Tokenizer; class CPPCHECKLIB CheckBool : public Check { public: /** @brief This constructor is used when registering the CheckClass */ - CheckBool() : Check(myName()) {} + CheckBool() : Check() {} /** @brief This constructor is used when running checks. */ CheckBool(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) - : Check(myName(), tokenizer, settings, errorLogger) {} + : Check(tokenizer, settings, errorLogger) {} /** @brief Run checks against the normal token list */ void runChecks(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) override { @@ -124,7 +124,7 @@ class CPPCHECKLIB CheckBool : public Check { c.returnValueBoolError(nullptr); } - static std::string myName() { + std::string name() const override { return "Boolean"; } diff --git a/lib/checkboost.h b/lib/checkboost.h index a232ad22cf1..d698d738718 100644 --- a/lib/checkboost.h +++ b/lib/checkboost.h @@ -40,11 +40,11 @@ class Token; class CPPCHECKLIB CheckBoost : public Check { public: /** This constructor is used when registering the CheckClass */ - CheckBoost() : Check(myName()) {} + CheckBoost() : Check() {} /** This constructor is used when running checks. */ CheckBoost(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) - : Check(myName(), tokenizer, settings, errorLogger) {} + : Check(tokenizer, settings, errorLogger) {} /** @brief Run checks against the normal token list */ void runChecks(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) override { @@ -66,7 +66,7 @@ class CPPCHECKLIB CheckBoost : public Check { c.boostForeachError(nullptr); } - static std::string myName() { + std::string name() const override { return "Boost usage"; } diff --git a/lib/checkbufferoverrun.h b/lib/checkbufferoverrun.h index 49692f01558..034e7ac5056 100644 --- a/lib/checkbufferoverrun.h +++ b/lib/checkbufferoverrun.h @@ -60,11 +60,11 @@ class CPPCHECKLIB CheckBufferOverrun : public Check { public: /** This constructor is used when registering the CheckClass */ - CheckBufferOverrun() : Check(myName()) {} + CheckBufferOverrun() : Check() {} /** This constructor is used when running checks. */ CheckBufferOverrun(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) - : Check(myName(), tokenizer, settings, errorLogger) {} + : Check(tokenizer, settings, errorLogger) {} void runChecks(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) override { CheckBufferOverrun checkBufferOverrun(tokenizer, settings, errorLogger); @@ -154,7 +154,7 @@ class CPPCHECKLIB CheckBufferOverrun : public Check { static bool analyseWholeProgram1(const std::map> &callsMap, const CTU::FileInfo::UnsafeUsage &unsafeUsage, int type, ErrorLogger &errorLogger); - static std::string myName() { + std::string name() const override { return "Bounds checking"; } diff --git a/lib/checkclass.cpp b/lib/checkclass.cpp index 5f7b4df5b3f..18aca9f065b 100644 --- a/lib/checkclass.cpp +++ b/lib/checkclass.cpp @@ -124,7 +124,7 @@ static bool isVclTypeInit(const Type *type) //--------------------------------------------------------------------------- CheckClass::CheckClass(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) - : Check(myName(), tokenizer, settings, errorLogger), + : Check(tokenizer, settings, errorLogger), mSymbolDatabase(tokenizer?tokenizer->getSymbolDatabase():nullptr) {} diff --git a/lib/checkclass.h b/lib/checkclass.h index a526c52bf05..6845b43c745 100644 --- a/lib/checkclass.h +++ b/lib/checkclass.h @@ -53,7 +53,7 @@ namespace tinyxml2 { class CPPCHECKLIB CheckClass : public Check { public: /** @brief This constructor is used when registering the CheckClass */ - CheckClass() : Check(myName()), mSymbolDatabase(nullptr) {} + CheckClass() : Check(), mSymbolDatabase(nullptr) {} /** @brief This constructor is used when running checks. */ CheckClass(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger); @@ -272,7 +272,7 @@ class CPPCHECKLIB CheckClass : public Check { c.unsafeClassRefMemberError(nullptr, "UnsafeClass::var"); } - static std::string myName() { + std::string name() const override { return "Class"; } diff --git a/lib/checkcondition.h b/lib/checkcondition.h index da62c48fe64..f5499199920 100644 --- a/lib/checkcondition.h +++ b/lib/checkcondition.h @@ -50,11 +50,11 @@ namespace ValueFlow { class CPPCHECKLIB CheckCondition : public Check { public: /** This constructor is used when registering the CheckAssignIf */ - CheckCondition() : Check(myName()) {} + CheckCondition() : Check() {} /** This constructor is used when running checks. */ CheckCondition(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) - : Check(myName(), tokenizer, settings, errorLogger) {} + : Check(tokenizer, settings, errorLogger) {} void runChecks(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) override { CheckCondition checkCondition(tokenizer, settings, errorLogger); @@ -198,7 +198,7 @@ class CPPCHECKLIB CheckCondition : public Check { c.compareValueOutOfTypeRangeError(nullptr, "unsigned char", 256, true); } - static std::string myName() { + std::string name() const override { return "Condition"; } diff --git a/lib/checkexceptionsafety.h b/lib/checkexceptionsafety.h index 3e5b2b75023..ece2b338c1f 100644 --- a/lib/checkexceptionsafety.h +++ b/lib/checkexceptionsafety.h @@ -53,11 +53,11 @@ static const struct CWE CWE480(480U); // Use of Incorrect Operator class CPPCHECKLIB CheckExceptionSafety : public Check { public: /** This constructor is used when registering the CheckClass */ - CheckExceptionSafety() : Check(myName()) {} + CheckExceptionSafety() : Check() {} /** This constructor is used when running checks. */ CheckExceptionSafety(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) - : Check(myName(), tokenizer, settings, errorLogger) {} + : Check(tokenizer, settings, errorLogger) {} void runChecks(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) override { if (tokenizer->isC()) @@ -119,7 +119,7 @@ class CPPCHECKLIB CheckExceptionSafety : public Check { } /** Short description of class (for --doc) */ - static std::string myName() { + std::string name() const override { return "Exception Safety"; } diff --git a/lib/checkfunctions.h b/lib/checkfunctions.h index 9f39959aa42..12c2462401b 100644 --- a/lib/checkfunctions.h +++ b/lib/checkfunctions.h @@ -51,11 +51,11 @@ namespace ValueFlow { class CPPCHECKLIB CheckFunctions : public Check { public: /** This constructor is used when registering the CheckFunctions */ - CheckFunctions() : Check(myName()) {} + CheckFunctions() : Check() {} /** This constructor is used when running checks. */ CheckFunctions(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) - : Check(myName(), tokenizer, settings, errorLogger) {} + : Check(tokenizer, settings, errorLogger) {} /** @brief Run checks against the normal token list */ void runChecks(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) override { @@ -148,7 +148,7 @@ class CPPCHECKLIB CheckFunctions : public Check { c.useStandardLibraryError(nullptr, "memcpy"); } - static std::string myName() { + std::string name() const override { return "Check function usage"; } diff --git a/lib/checkinternal.h b/lib/checkinternal.h index 5cd875e422f..fca67fe382c 100644 --- a/lib/checkinternal.h +++ b/lib/checkinternal.h @@ -41,11 +41,11 @@ class Tokenizer; class CPPCHECKLIB CheckInternal : public Check { public: /** This constructor is used when registering the CheckClass */ - CheckInternal() : Check(myName()) {} + CheckInternal() : Check() {} /** This constructor is used when running checks. */ CheckInternal(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) - : Check(myName(), tokenizer, settings, errorLogger) {} + : Check(tokenizer, settings, errorLogger) {} void runChecks(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) override { if (!settings->checks.isEnabled(Checks::internalCheck)) @@ -106,7 +106,7 @@ class CPPCHECKLIB CheckInternal : public Check { c.checkRedundantTokCheckError(nullptr); } - static std::string myName() { + std::string name() const override { return "cppcheck internal API usage"; } diff --git a/lib/checkio.h b/lib/checkio.h index 7e330c3326c..85eb74a5012 100644 --- a/lib/checkio.h +++ b/lib/checkio.h @@ -42,11 +42,11 @@ class ErrorLogger; class CPPCHECKLIB CheckIO : public Check { public: /** @brief This constructor is used when registering CheckIO */ - CheckIO() : Check(myName()) {} + CheckIO() : Check() {} /** @brief This constructor is used when running checks. */ CheckIO(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) - : Check(myName(), tokenizer, settings, errorLogger) {} + : Check(tokenizer, settings, errorLogger) {} /** @brief Run checks on the normal token list */ void runChecks(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) override { @@ -159,7 +159,7 @@ class CPPCHECKLIB CheckIO : public Check { c.wrongPrintfScanfPosixParameterPositionError(nullptr, "printf", 2, 1); } - static std::string myName() { + std::string name() const override { return "IO using format string"; } diff --git a/lib/checkleakautovar.h b/lib/checkleakautovar.h index 15b8a287a4c..62096c66cbd 100644 --- a/lib/checkleakautovar.h +++ b/lib/checkleakautovar.h @@ -108,11 +108,11 @@ class CPPCHECKLIB VarInfo { class CPPCHECKLIB CheckLeakAutoVar : public Check { public: /** This constructor is used when registering the CheckLeakAutoVar */ - CheckLeakAutoVar() : Check(myName()) {} + CheckLeakAutoVar() : Check() {} /** This constructor is used when running checks. */ CheckLeakAutoVar(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) - : Check(myName(), tokenizer, settings, errorLogger) {} + : Check(tokenizer, settings, errorLogger) {} void runChecks(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) override { CheckLeakAutoVar checkLeakAutoVar(tokenizer, settings, errorLogger); @@ -168,7 +168,7 @@ class CPPCHECKLIB CheckLeakAutoVar : public Check { c.doubleFreeError(nullptr, nullptr, "varname", 0); } - static std::string myName() { + std::string name() const override { return "Leaks (auto variables)"; } diff --git a/lib/checkmemoryleak.h b/lib/checkmemoryleak.h index cf6712a2327..e76e66db64a 100644 --- a/lib/checkmemoryleak.h +++ b/lib/checkmemoryleak.h @@ -166,11 +166,11 @@ class CPPCHECKLIB CheckMemoryLeak { class CPPCHECKLIB CheckMemoryLeakInFunction : private Check, public CheckMemoryLeak { public: /** @brief This constructor is used when registering this class */ - CheckMemoryLeakInFunction() : Check(myName()), CheckMemoryLeak(nullptr, nullptr, nullptr) {} + CheckMemoryLeakInFunction() : Check(), CheckMemoryLeak(nullptr, nullptr, nullptr) {} /** @brief This constructor is used when running checks */ CheckMemoryLeakInFunction(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) - : Check(myName(), tokenizer, settings, errorLogger), CheckMemoryLeak(tokenizer, errorLogger, settings) {} + : Check(tokenizer, settings, errorLogger), CheckMemoryLeak(tokenizer, errorLogger, settings) {} void runChecks(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) override { CheckMemoryLeakInFunction checkMemoryLeak(tokenizer, settings, errorLogger); @@ -201,7 +201,7 @@ class CPPCHECKLIB CheckMemoryLeakInFunction : private Check, public CheckMemoryL * Get name of class (--doc) * @return name of class */ - static std::string myName() { + std::string name() const override { return "Memory leaks (function variables)"; } @@ -222,10 +222,10 @@ class CPPCHECKLIB CheckMemoryLeakInFunction : private Check, public CheckMemoryL class CPPCHECKLIB CheckMemoryLeakInClass : private Check, private CheckMemoryLeak { public: - CheckMemoryLeakInClass() : Check(myName()), CheckMemoryLeak(nullptr, nullptr, nullptr) {} + CheckMemoryLeakInClass() : Check(), CheckMemoryLeak(nullptr, nullptr, nullptr) {} CheckMemoryLeakInClass(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) - : Check(myName(), tokenizer, settings, errorLogger), CheckMemoryLeak(tokenizer, errorLogger, settings) {} + : Check(tokenizer, settings, errorLogger), CheckMemoryLeak(tokenizer, errorLogger, settings) {} void runChecks(const Tokenizer *tokenizr, const Settings *settings, ErrorLogger *errLog) override { if (!tokenizr->isCPP()) @@ -252,7 +252,7 @@ class CPPCHECKLIB CheckMemoryLeakInClass : private Check, private CheckMemoryLea c.unsafeClassError(nullptr, "class", "class::varname"); } - static std::string myName() { + std::string name() const override { return "Memory leaks (class variables)"; } @@ -267,10 +267,10 @@ class CPPCHECKLIB CheckMemoryLeakInClass : private Check, private CheckMemoryLea class CPPCHECKLIB CheckMemoryLeakStructMember : private Check, private CheckMemoryLeak { public: - CheckMemoryLeakStructMember() : Check(myName()), CheckMemoryLeak(nullptr, nullptr, nullptr) {} + CheckMemoryLeakStructMember() : Check(), CheckMemoryLeak(nullptr, nullptr, nullptr) {} CheckMemoryLeakStructMember(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) - : Check(myName(), tokenizer, settings, errorLogger), CheckMemoryLeak(tokenizer, errorLogger, settings) {} + : Check(tokenizer, settings, errorLogger), CheckMemoryLeak(tokenizer, errorLogger, settings) {} void runChecks(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) override { CheckMemoryLeakStructMember checkMemoryLeak(tokenizer, settings, errorLogger); @@ -288,7 +288,7 @@ class CPPCHECKLIB CheckMemoryLeakStructMember : private Check, private CheckMemo void getErrorMessages(ErrorLogger * /*errorLogger*/, const Settings * /*settings*/) const override {} - static std::string myName() { + std::string name() const override { return "Memory leaks (struct members)"; } @@ -303,10 +303,10 @@ class CPPCHECKLIB CheckMemoryLeakStructMember : private Check, private CheckMemo class CPPCHECKLIB CheckMemoryLeakNoVar : private Check, private CheckMemoryLeak { public: - CheckMemoryLeakNoVar() : Check(myName()), CheckMemoryLeak(nullptr, nullptr, nullptr) {} + CheckMemoryLeakNoVar() : Check(), CheckMemoryLeak(nullptr, nullptr, nullptr) {} CheckMemoryLeakNoVar(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) - : Check(myName(), tokenizer, settings, errorLogger), CheckMemoryLeak(tokenizer, errorLogger, settings) {} + : Check(tokenizer, settings, errorLogger), CheckMemoryLeak(tokenizer, errorLogger, settings) {} void runChecks(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) override { CheckMemoryLeakNoVar checkMemoryLeak(tokenizer, settings, errorLogger); @@ -346,7 +346,7 @@ class CPPCHECKLIB CheckMemoryLeakNoVar : private Check, private CheckMemoryLeak c.unsafeArgAllocError(nullptr, "funcName", "shared_ptr", "int"); } - static std::string myName() { + std::string name() const override { return "Memory leaks (address not taken)"; } diff --git a/lib/checknullpointer.h b/lib/checknullpointer.h index c5ebd9df075..e2fd71069b2 100644 --- a/lib/checknullpointer.h +++ b/lib/checknullpointer.h @@ -49,11 +49,11 @@ namespace tinyxml2 { class CPPCHECKLIB CheckNullPointer : public Check { public: /** @brief This constructor is used when registering the CheckNullPointer */ - CheckNullPointer() : Check(myName()) {} + CheckNullPointer() : Check() {} /** @brief This constructor is used when running checks. */ CheckNullPointer(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) - : Check(myName(), tokenizer, settings, errorLogger) {} + : Check(tokenizer, settings, errorLogger) {} /** @brief Run checks against the normal token list */ void runChecks(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) override { @@ -127,7 +127,7 @@ class CPPCHECKLIB CheckNullPointer : public Check { } /** Name of check */ - static std::string myName() { + std::string name() const override { return "Null pointer"; } diff --git a/lib/checkother.h b/lib/checkother.h index 4c3bf2fa14a..cb68516a9e9 100644 --- a/lib/checkother.h +++ b/lib/checkother.h @@ -49,11 +49,11 @@ class ErrorLogger; class CPPCHECKLIB CheckOther : public Check { public: /** @brief This constructor is used when registering the CheckClass */ - CheckOther() : Check(myName()) {} + CheckOther() : Check() {} /** @brief This constructor is used when running checks. */ CheckOther(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) - : Check(myName(), tokenizer, settings, errorLogger) {} + : Check(tokenizer, settings, errorLogger) {} /** @brief Run checks against the normal token list */ void runChecks(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) override { @@ -357,7 +357,7 @@ class CPPCHECKLIB CheckOther : public Check { c.checkModuloOfOneError(nullptr); } - static std::string myName() { + std::string name() const override { return "Other"; } diff --git a/lib/checkpostfixoperator.h b/lib/checkpostfixoperator.h index 96aeec74578..a03cdfc026e 100644 --- a/lib/checkpostfixoperator.h +++ b/lib/checkpostfixoperator.h @@ -42,11 +42,11 @@ class Token; class CPPCHECKLIB CheckPostfixOperator : public Check { public: /** This constructor is used when registering the CheckPostfixOperator */ - CheckPostfixOperator() : Check(myName()) {} + CheckPostfixOperator() : Check() {} /** This constructor is used when running checks. */ CheckPostfixOperator(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) - : Check(myName(), tokenizer, settings, errorLogger) {} + : Check(tokenizer, settings, errorLogger) {} void runChecks(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) override { if (tokenizer->isC()) @@ -68,7 +68,7 @@ class CPPCHECKLIB CheckPostfixOperator : public Check { c.postfixOperatorError(nullptr); } - static std::string myName() { + std::string name() const override { return "Using postfix operators"; } diff --git a/lib/checksizeof.h b/lib/checksizeof.h index a4e4516a4ca..e9567d1e31b 100644 --- a/lib/checksizeof.h +++ b/lib/checksizeof.h @@ -41,11 +41,11 @@ class Tokenizer; class CPPCHECKLIB CheckSizeof : public Check { public: /** @brief This constructor is used when registering the CheckClass */ - CheckSizeof() : Check(myName()) {} + CheckSizeof() : Check() {} /** @brief This constructor is used when running checks. */ CheckSizeof(const Tokenizer* tokenizer, const Settings* settings, ErrorLogger* errorLogger) - : Check(myName(), tokenizer, settings, errorLogger) {} + : Check(tokenizer, settings, errorLogger) {} /** @brief Run checks against the normal token list */ void runChecks(const Tokenizer* tokenizer, const Settings* settings, ErrorLogger* errorLogger) override { @@ -117,7 +117,7 @@ class CPPCHECKLIB CheckSizeof : public Check { c.arithOperationsOnVoidPointerError(nullptr, "varname", "vartype"); } - static std::string myName() { + std::string name() const override { return "Sizeof"; } diff --git a/lib/checkstl.h b/lib/checkstl.h index 23225893b8b..17f2f4b8a8e 100644 --- a/lib/checkstl.h +++ b/lib/checkstl.h @@ -45,11 +45,11 @@ class ErrorLogger; class CPPCHECKLIB CheckStl : public Check { public: /** This constructor is used when registering the CheckClass */ - CheckStl() : Check(myName()) {} + CheckStl() : Check() {} /** This constructor is used when running checks. */ CheckStl(const Tokenizer* tokenizer, const Settings* settings, ErrorLogger* errorLogger) - : Check(myName(), tokenizer, settings, errorLogger) {} + : Check(tokenizer, settings, errorLogger) {} /** run checks, the token list is not simplified */ void runChecks(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) override { @@ -277,7 +277,7 @@ class CPPCHECKLIB CheckStl : public Check { c.localMutexError(nullptr); } - static std::string myName() { + std::string name() const override { return "STL usage"; } diff --git a/lib/checkstring.h b/lib/checkstring.h index 64fa458226b..bf94851e3ef 100644 --- a/lib/checkstring.h +++ b/lib/checkstring.h @@ -41,11 +41,11 @@ class Tokenizer; class CPPCHECKLIB CheckString : public Check { public: /** @brief This constructor is used when registering the CheckClass */ - CheckString() : Check(myName()) {} + CheckString() : Check() {} /** @brief This constructor is used when running checks. */ CheckString(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) - : Check(myName(), tokenizer, settings, errorLogger) {} + : Check(tokenizer, settings, errorLogger) {} /** @brief Run checks against the normal token list */ void runChecks(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) override { @@ -109,7 +109,7 @@ class CPPCHECKLIB CheckString : public Check { c.overlappingStrcmpError(nullptr, nullptr); } - static std::string myName() { + std::string name() const override { return "String"; } diff --git a/lib/checktype.h b/lib/checktype.h index 8104fd0acd0..1c76f32fe55 100644 --- a/lib/checktype.h +++ b/lib/checktype.h @@ -44,11 +44,11 @@ class ValueType; class CPPCHECKLIB CheckType : public Check { public: /** @brief This constructor is used when registering the CheckClass */ - CheckType() : Check(myName()) {} + CheckType() : Check() {} /** @brief This constructor is used when running checks. */ CheckType(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) - : Check(myName(), tokenizer, settings, errorLogger) {} + : Check(tokenizer, settings, errorLogger) {} /** @brief Run checks against the normal token list */ void runChecks(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) override { @@ -102,7 +102,7 @@ class CPPCHECKLIB CheckType : public Check { c.floatToIntegerOverflowError(nullptr, f); } - static std::string myName() { + std::string name() const override { return "Type"; } diff --git a/lib/checkuninitvar.h b/lib/checkuninitvar.h index ce334468289..d017fdcd5d4 100644 --- a/lib/checkuninitvar.h +++ b/lib/checkuninitvar.h @@ -62,11 +62,11 @@ struct VariableValue { class CPPCHECKLIB CheckUninitVar : public Check { public: /** @brief This constructor is used when registering the CheckUninitVar */ - CheckUninitVar() : Check(myName()) {} + CheckUninitVar() : Check() {} /** @brief This constructor is used when running checks. */ CheckUninitVar(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) - : Check(myName(), tokenizer, settings, errorLogger) {} + : Check(tokenizer, settings, errorLogger) {} /** @brief Run checks against the normal token list */ void runChecks(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) override { @@ -146,7 +146,7 @@ class CPPCHECKLIB CheckUninitVar : public Check { c.uninitStructMemberError(nullptr, "a.b"); } - static std::string myName() { + std::string name() const override { return "Uninitialized variables"; } diff --git a/lib/checkunusedfunctions.h b/lib/checkunusedfunctions.h index d219e6afbab..c38f14e7e9f 100644 --- a/lib/checkunusedfunctions.h +++ b/lib/checkunusedfunctions.h @@ -46,11 +46,11 @@ namespace CTU { class CPPCHECKLIB CheckUnusedFunctions : public Check { public: /** @brief This constructor is used when registering the CheckUnusedFunctions */ - CheckUnusedFunctions() : Check(myName()) {} + CheckUnusedFunctions() : Check() {} /** @brief This constructor is used when running checks. */ CheckUnusedFunctions(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) - : Check(myName(), tokenizer, settings, errorLogger) {} + : Check(tokenizer, settings, errorLogger) {} static void clear() { instance.mFunctions.clear(); @@ -93,7 +93,7 @@ class CPPCHECKLIB CheckUnusedFunctions : public Check { const std::string &filename, unsigned int lineNumber, const std::string &funcname); - static std::string myName() { + std::string name() const override { return "Unused functions"; } diff --git a/lib/checkunusedvar.h b/lib/checkunusedvar.h index 4a7655f26f4..a2df1224548 100644 --- a/lib/checkunusedvar.h +++ b/lib/checkunusedvar.h @@ -47,11 +47,11 @@ class Function; class CPPCHECKLIB CheckUnusedVar : public Check { public: /** @brief This constructor is used when registering the CheckClass */ - CheckUnusedVar() : Check(myName()) {} + CheckUnusedVar() : Check() {} /** @brief This constructor is used when running checks. */ CheckUnusedVar(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) - : Check(myName(), tokenizer, settings, errorLogger) {} + : Check(tokenizer, settings, errorLogger) {} /** @brief Run checks against the normal token list */ void runChecks(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) override { @@ -92,7 +92,7 @@ class CPPCHECKLIB CheckUnusedVar : public Check { c.unusedStructMemberError(nullptr, "structname", "variable"); } - static std::string myName() { + std::string name() const override { return "UnusedVar"; } diff --git a/lib/checkvaarg.h b/lib/checkvaarg.h index de8dd3b2239..433b80f6d54 100644 --- a/lib/checkvaarg.h +++ b/lib/checkvaarg.h @@ -41,10 +41,10 @@ class Tokenizer; class CPPCHECKLIB CheckVaarg : public Check { public: - CheckVaarg() : Check(myName()) {} + CheckVaarg() : Check() {} CheckVaarg(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) - : Check(myName(), tokenizer, settings, errorLogger) {} + : Check(tokenizer, settings, errorLogger) {} void runChecks(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) override { CheckVaarg check(tokenizer, settings, errorLogger); @@ -71,7 +71,7 @@ class CPPCHECKLIB CheckVaarg : public Check { c.va_start_subsequentCallsError(nullptr, "vl"); } - static std::string myName() { + std::string name() const override { return "Vaarg"; }