Skip to content

Commit 4f8f7cc

Browse files
Fix #12546 new check: suggest to return const reference from "getter" member function (cppcheck-opensource#6256)
1 parent b7f208f commit 4f8f7cc

20 files changed

Lines changed: 135 additions & 45 deletions

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -498,7 +498,7 @@ $(libcppdir)/checkboost.o: lib/checkboost.cpp lib/check.h lib/checkboost.h lib/c
498498
$(libcppdir)/checkbufferoverrun.o: lib/checkbufferoverrun.cpp externals/tinyxml2/tinyxml2.h lib/addoninfo.h lib/astutils.h lib/check.h lib/checkbufferoverrun.h lib/color.h lib/config.h lib/ctu.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/smallvector.h lib/sourcelocation.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/valueflow.h lib/vfvalue.h lib/xml.h
499499
$(CXX) ${INCLUDE_FOR_LIB} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $(libcppdir)/checkbufferoverrun.cpp
500500

501-
$(libcppdir)/checkclass.o: lib/checkclass.cpp externals/tinyxml2/tinyxml2.h lib/addoninfo.h lib/astutils.h lib/check.h lib/checkclass.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/smallvector.h lib/sourcelocation.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h lib/xml.h
501+
$(libcppdir)/checkclass.o: lib/checkclass.cpp externals/tinyxml2/tinyxml2.h lib/addoninfo.h lib/astutils.h lib/check.h lib/checkclass.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/smallvector.h lib/sourcelocation.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/valueflow.h lib/vfvalue.h lib/xml.h
502502
$(CXX) ${INCLUDE_FOR_LIB} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $(libcppdir)/checkclass.cpp
503503

504504
$(libcppdir)/checkcondition.o: lib/checkcondition.cpp lib/addoninfo.h lib/astutils.h lib/check.h lib/checkcondition.h lib/checkother.h lib/config.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/smallvector.h lib/sourcelocation.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h

gui/application.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,23 +49,23 @@ class Application {
4949
* @brief Get application name.
5050
* @return Application name.
5151
*/
52-
QString getName() const {
52+
const QString& getName() const {
5353
return mName;
5454
}
5555

5656
/**
5757
* @brief Get application path.
5858
* @return Application path.
5959
*/
60-
QString getPath() const {
60+
const QString& getPath() const {
6161
return mPath;
6262
}
6363

6464
/**
6565
* @brief Get application command line parameters.
6666
* @return Application command line parameters.
6767
*/
68-
QString getParameters() const {
68+
const QString& getParameters() const {
6969
return mParameters;
7070
}
7171

gui/checkstatistics.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ class CheckStatistics : public QObject {
6868
*/
6969
unsigned getCount(const QString &tool, ShowTypes::ShowType type) const;
7070

71-
std::set<std::string> getActiveCheckers() const {
71+
const std::set<std::string>& getActiveCheckers() const {
7272
return mActiveCheckers;
7373
}
7474

@@ -82,7 +82,7 @@ class CheckStatistics : public QObject {
8282
void setCheckersReport(QString report) {
8383
mCheckersReport = std::move(report);
8484
}
85-
QString getCheckersReport() const {
85+
const QString& getCheckersReport() const {
8686
return mCheckersReport;
8787
}
8888

gui/codeeditor.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ class CodeEditor : public QPlainTextEdit {
114114
mFileName = fileName;
115115
}
116116

117-
QString getFileName() const {
117+
const QString& getFileName() const {
118118
return mFileName;
119119
}
120120

gui/mainwindow.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1751,7 +1751,7 @@ void MainWindow::analyzeProject(const ProjectFile *projectFile, const bool check
17511751
Settings::terminate(false);
17521752

17531753
QFileInfo inf(projectFile->getFilename());
1754-
const QString rootpath = projectFile->getRootPath();
1754+
const QString& rootpath = projectFile->getRootPath();
17551755

17561756
QDir::setCurrent(inf.absolutePath());
17571757

gui/printablereport.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ void PrintableReport::writeError(const ErrorItem &error)
5252
mFormattedReport += "\n";
5353
}
5454

55-
QString PrintableReport::getFormattedReportText() const
55+
const QString& PrintableReport::getFormattedReportText() const
5656
{
5757
return mFormattedReport;
5858
}

gui/printablereport.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ class PrintableReport : public Report {
6262
/**
6363
* @brief Returns the formatted report.
6464
*/
65-
QString getFormattedReportText() const;
65+
const QString& getFormattedReportText() const;
6666

6767
private:
6868

gui/projectfile.h

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -75,15 +75,15 @@ class ProjectFile : public QObject {
7575
* @brief Get project root path.
7676
* @return project root path.
7777
*/
78-
QString getRootPath() const {
78+
const QString& getRootPath() const {
7979
return mRootPath;
8080
}
8181

82-
QString getBuildDir() const {
82+
const QString& getBuildDir() const {
8383
return mBuildDir;
8484
}
8585

86-
QString getImportProject() const {
86+
const QString& getImportProject() const {
8787
return mImportProject;
8888
}
8989

@@ -119,15 +119,15 @@ class ProjectFile : public QObject {
119119
* @brief Get list of defines.
120120
* @return list of defines.
121121
*/
122-
QStringList getDefines() const {
122+
const QStringList& getDefines() const {
123123
return mDefines;
124124
}
125125

126126
/**
127127
* @brief Get list of undefines.
128128
* @return list of undefines.
129129
*/
130-
QStringList getUndefines() const {
130+
const QStringList& getUndefines() const {
131131
return mUndefines;
132132
}
133133

@@ -151,27 +151,27 @@ class ProjectFile : public QObject {
151151
* @brief Get list of paths to exclude from the check.
152152
* @return list of paths.
153153
*/
154-
QStringList getVsConfigurations() const {
154+
const QStringList& getVsConfigurations() const {
155155
return mVsConfigurations;
156156
}
157157

158158
/**
159159
* @brief Get list libraries.
160160
* @return list of libraries.
161161
*/
162-
QStringList getLibraries() const {
162+
const QStringList& getLibraries() const {
163163
return mLibraries;
164164
}
165165

166166
/**
167167
* @brief Get platform.
168168
* @return Current platform. If it ends with .xml then it is a file. Otherwise it must match one of the return values from @sa cppcheck::Platform::toString() ("win32A", "unix32", ..)
169169
*/
170-
QString getPlatform() const {
170+
const QString& getPlatform() const {
171171
return mPlatform;
172172
}
173173

174-
QString getProjectName() const {
174+
const QString& getProjectName() const {
175175
return mProjectName;
176176
}
177177

@@ -183,7 +183,7 @@ class ProjectFile : public QObject {
183183
* @brief Get "raw" suppressions.
184184
* @return list of suppressions.
185185
*/
186-
QList<SuppressionList::Suppression> getSuppressions() const {
186+
const QList<SuppressionList::Suppression>& getSuppressions() const {
187187
return mSuppressions;
188188
}
189189

@@ -197,7 +197,7 @@ class ProjectFile : public QObject {
197197
* @brief Get list addons.
198198
* @return list of addons.
199199
*/
200-
QStringList getAddons() const {
200+
const QStringList& getAddons() const {
201201
return mAddons;
202202
}
203203

@@ -230,7 +230,7 @@ class ProjectFile : public QObject {
230230
mClangTidy = c;
231231
}
232232

233-
QStringList getTags() const {
233+
const QStringList& getTags() const {
234234
return mTags;
235235
}
236236

@@ -254,7 +254,7 @@ class ProjectFile : public QObject {
254254
* @brief Get filename for the project file.
255255
* @return file name.
256256
*/
257-
QString getFilename() const {
257+
const QString& getFilename() const {
258258
return mFilename;
259259
}
260260

@@ -367,7 +367,7 @@ class ProjectFile : public QObject {
367367
}
368368

369369
/** @brief Get list of coding standards (checked by Cppcheck Premium). */
370-
QStringList getCodingStandards() const {
370+
const QStringList& getCodingStandards() const {
371371
return mCodingStandards;
372372
}
373373

@@ -414,7 +414,7 @@ class ProjectFile : public QObject {
414414
SafeChecks safeChecks;
415415

416416
/** Check unknown function return values */
417-
QStringList getCheckUnknownFunctionReturn() const {
417+
const QStringList& getCheckUnknownFunctionReturn() const {
418418
return mCheckUnknownFunctionReturn;
419419
}
420420
/*

gui/projectfiledialog.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ class ProjectFileDialog : public QDialog {
109109
* @brief Return suppressions from the dialog control.
110110
* @return List of suppressions.
111111
*/
112-
QList<SuppressionList::Suppression> getSuppressions() const {
112+
const QList<SuppressionList::Suppression>& getSuppressions() const {
113113
return mSuppressions;
114114
}
115115

gui/resultstree.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1337,7 +1337,7 @@ void ResultsTree::setCheckDirectory(const QString &dir)
13371337
}
13381338

13391339

1340-
QString ResultsTree::getCheckDirectory()
1340+
const QString& ResultsTree::getCheckDirectory()
13411341
{
13421342
return mCheckPath;
13431343
}

0 commit comments

Comments
 (0)