Skip to content

Commit 8684514

Browse files
authored
pass ErrorLogger by reference in Check/CheckImpl (#8601)
1 parent 9a97ccf commit 8684514

79 files changed

Lines changed: 224 additions & 232 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

lib/check.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,10 @@ class CPPCHECKLIB Check {
6262
Check& operator=(const Check &) = delete;
6363

6464
/** run checks, the token list is not simplified */
65-
virtual void runChecks(const Tokenizer &, ErrorLogger *) = 0;
65+
virtual void runChecks(const Tokenizer &, ErrorLogger&) = 0;
6666

6767
/** get error messages */
68-
virtual void getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const = 0;
68+
virtual void getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const = 0;
6969

7070
/** class name, used to generate documentation */
7171
const std::string& name() const {

lib/check64bit.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -183,13 +183,13 @@ void Check64BitPortabilityImpl::returnIntegerError(const Token *tok)
183183
"The safe way is to always return a pointer.", CWE758, Certainty::normal);
184184
}
185185

186-
void Check64BitPortability::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger)
186+
void Check64BitPortability::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger)
187187
{
188188
Check64BitPortabilityImpl check64BitPortability(&tokenizer, tokenizer.getSettings(), errorLogger);
189189
check64BitPortability.pointerassignment();
190190
}
191191

192-
void Check64BitPortability::getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const
192+
void Check64BitPortability::getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const
193193
{
194194
Check64BitPortabilityImpl c(nullptr, settings, errorLogger);
195195
c.assignmentAddressToIntegerError(nullptr);

lib/check64bit.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,9 @@ class CPPCHECKLIB Check64BitPortability : public Check {
4949

5050
private:
5151
/** @brief Run checks against the normal token list */
52-
void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override;
52+
void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override;
5353

54-
void getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const override;
54+
void getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const override;
5555

5656
std::string classInfo() const override {
5757
return "Check if there is 64-bit portability issues:\n"
@@ -63,7 +63,7 @@ class CPPCHECKLIB Check64BitPortability : public Check {
6363
class CPPCHECKLIB Check64BitPortabilityImpl : public CheckImpl {
6464
public:
6565
/** This constructor is used when running checks. */
66-
Check64BitPortabilityImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger)
66+
Check64BitPortabilityImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger)
6767
: CheckImpl(tokenizer, settings, errorLogger) {}
6868

6969
/** Check for pointer assignment */

lib/checkassert.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,13 +178,13 @@ bool CheckAssertImpl::inSameScope(const Token* returnTok, const Token* assignTok
178178
return returnTok->scope() == assignTok->scope();
179179
}
180180

181-
void CheckAssert::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger)
181+
void CheckAssert::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger)
182182
{
183183
CheckAssertImpl checkAssert(&tokenizer, tokenizer.getSettings(), errorLogger);
184184
checkAssert.assertWithSideEffects();
185185
}
186186

187-
void CheckAssert::getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const
187+
void CheckAssert::getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const
188188
{
189189
CheckAssertImpl c(nullptr, settings, errorLogger);
190190
c.sideEffectInAssertError(nullptr, "function");

lib/checkassert.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ class CPPCHECKLIB CheckAssert : public Check {
4747

4848
private:
4949
/** run checks, the token list is not simplified */
50-
void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override;
51-
void getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const override;
50+
void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override;
51+
void getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const override;
5252

5353
std::string classInfo() const override {
5454
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 {
5757

5858
class CPPCHECKLIB CheckAssertImpl : public CheckImpl {
5959
public:
60-
CheckAssertImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger)
60+
CheckAssertImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger)
6161
: CheckImpl(tokenizer, settings, errorLogger) {}
6262

6363
void assertWithSideEffects();

lib/checkautovariables.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -817,15 +817,15 @@ void CheckAutoVariablesImpl::errorInvalidDeallocation(const Token *tok, const Va
817817
"that has been allocated dynamically.", CWE590, Certainty::normal);
818818
}
819819

820-
void CheckAutoVariables::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger)
820+
void CheckAutoVariables::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger)
821821
{
822822
CheckAutoVariablesImpl checkAutoVariables(&tokenizer, tokenizer.getSettings(), errorLogger);
823823
checkAutoVariables.assignFunctionArg();
824824
checkAutoVariables.autoVariables();
825825
checkAutoVariables.checkVarLifetime();
826826
}
827827

828-
void CheckAutoVariables::getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const
828+
void CheckAutoVariables::getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const
829829
{
830830
CheckAutoVariablesImpl c(nullptr,settings,errorLogger);
831831
c.errorAutoVariableAssignment(nullptr, false);

lib/checkautovariables.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,9 @@ class CPPCHECKLIB CheckAutoVariables : public Check {
5252

5353
private:
5454
/** @brief Run checks against the normal token list */
55-
void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override;
55+
void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override;
5656

57-
void getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const override;
57+
void getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const override;
5858

5959
std::string classInfo() const override {
6060
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
7272
{
7373
public:
7474
/** This constructor is used when running checks. */
75-
CheckAutoVariablesImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger)
75+
CheckAutoVariablesImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger)
7676
: CheckImpl(tokenizer, settings, errorLogger) {}
7777

7878
/** assign function argument */

lib/checkbool.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -512,7 +512,7 @@ void CheckBoolImpl::returnValueBoolError(const Token *tok)
512512
reportError(tok, Severity::style, "returnNonBoolInBooleanFunction", "Non-boolean value returned from function returning bool");
513513
}
514514

515-
void CheckBool::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger)
515+
void CheckBool::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger)
516516
{
517517
CheckBoolImpl checkBool(&tokenizer, tokenizer.getSettings(), errorLogger);
518518

@@ -529,7 +529,7 @@ void CheckBool::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger)
529529
checkBool.checkBitwiseOnBoolean();
530530
}
531531

532-
void CheckBool::getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const
532+
void CheckBool::getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const
533533
{
534534
CheckBoolImpl c(nullptr, settings, errorLogger);
535535
c.assignBoolToPointerError(nullptr);

lib/checkbool.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@ class CPPCHECKLIB CheckBool : public Check {
4646

4747
private:
4848
/** @brief Run checks against the normal token list */
49-
void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override;
49+
void runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger) override;
5050

51-
void getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const override;
51+
void getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const override;
5252

5353
std::string classInfo() const override {
5454
return "Boolean type checks\n"
@@ -67,7 +67,7 @@ class CPPCHECKLIB CheckBoolImpl : public CheckImpl
6767
{
6868
public:
6969
/** @brief This constructor is used when running checks. */
70-
CheckBoolImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger *errorLogger)
70+
CheckBoolImpl(const Tokenizer *tokenizer, const Settings &settings, ErrorLogger &errorLogger)
7171
: CheckImpl(tokenizer, settings, errorLogger) {}
7272

7373
/** @brief %Check for comparison of function returning bool*/

lib/checkbufferoverrun.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -990,7 +990,7 @@ Check::FileInfo * CheckBufferOverrun::loadFileInfoFromXml(const tinyxml2::XMLEle
990990
/** @brief Analyse all file infos for all TU */
991991
bool CheckBufferOverrun::analyseWholeProgram(const CTU::FileInfo &ctu, const std::list<Check::FileInfo*> &fileInfo, const Settings& settings, ErrorLogger &errorLogger)
992992
{
993-
CheckBufferOverrunImpl dummy(nullptr, settings, &errorLogger);
993+
CheckBufferOverrunImpl dummy(nullptr, settings, errorLogger);
994994
dummy.
995995
logChecker("CheckBufferOverrun::analyseWholeProgram");
996996

@@ -1214,7 +1214,7 @@ void CheckBufferOverrunImpl::negativeMemoryAllocationSizeError(const Token* tok,
12141214
msg, CWE131, inconclusive ? Certainty::inconclusive : Certainty::normal);
12151215
}
12161216

1217-
void CheckBufferOverrun::runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger)
1217+
void CheckBufferOverrun::runChecks(const Tokenizer &tokenizer, ErrorLogger& errorLogger)
12181218
{
12191219
CheckBufferOverrunImpl checkBufferOverrun(&tokenizer, tokenizer.getSettings(), errorLogger);
12201220
checkBufferOverrun.arrayIndex();
@@ -1227,7 +1227,7 @@ void CheckBufferOverrun::runChecks(const Tokenizer &tokenizer, ErrorLogger *erro
12271227
checkBufferOverrun.negativeArraySize();
12281228
}
12291229

1230-
void CheckBufferOverrun::getErrorMessages(ErrorLogger *errorLogger, const Settings &settings) const
1230+
void CheckBufferOverrun::getErrorMessages(ErrorLogger& errorLogger, const Settings &settings) const
12311231
{
12321232
CheckBufferOverrunImpl c(nullptr, settings, errorLogger);
12331233
c.arrayIndexError(nullptr, std::vector<Dimension>(), std::vector<ValueFlow::Value>());

0 commit comments

Comments
 (0)