aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/projectexplorer/projectnodes.cpp2
-rw-r--r--src/plugins/qmakeprojectmanager/customwidgetwizard/plugingenerator.cpp2
-rw-r--r--src/plugins/qmakeprojectmanager/externaleditors.cpp4
-rw-r--r--src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp3
-rw-r--r--src/plugins/qmakeprojectmanager/makefileparse.cpp13
-rw-r--r--src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp5
-rw-r--r--src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp100
-rw-r--r--src/plugins/qmakeprojectmanager/qmakeparsernodes.h2
-rw-r--r--src/plugins/qmakeprojectmanager/qmakeproject.cpp44
-rw-r--r--src/plugins/qmakeprojectmanager/qmakeprojectimporter.cpp4
10 files changed, 92 insertions, 87 deletions
diff --git a/src/plugins/projectexplorer/projectnodes.cpp b/src/plugins/projectexplorer/projectnodes.cpp
index 78c42880dff..86766a586c8 100644
--- a/src/plugins/projectexplorer/projectnodes.cpp
+++ b/src/plugins/projectexplorer/projectnodes.cpp
@@ -557,7 +557,7 @@ const QList<Node *> FolderNode::nodes() const
return Utils::toRawPointer<QList>(m_nodes);
}
-QList<FileNode*> FolderNode::fileNodes() const
+QList<FileNode *> FolderNode::fileNodes() const
{
QList<FileNode *> result;
for (const std::unique_ptr<Node> &n : m_nodes) {
diff --git a/src/plugins/qmakeprojectmanager/customwidgetwizard/plugingenerator.cpp b/src/plugins/qmakeprojectmanager/customwidgetwizard/plugingenerator.cpp
index 1ac96007e90..634b73507cf 100644
--- a/src/plugins/qmakeprojectmanager/customwidgetwizard/plugingenerator.cpp
+++ b/src/plugins/qmakeprojectmanager/customwidgetwizard/plugingenerator.cpp
@@ -247,7 +247,7 @@ QList<Core::GeneratedFile> PluginGenerator::generatePlugin(const GenerationPara
// Copy icons that are not in the plugin source base directory yet (that is,
// probably all), add them to the resource file
QString iconFiles;
- foreach (QString icon, pluginIcons) {
+ for (QString icon : qAsConst(pluginIcons)) {
const QFileInfo qfi(icon);
if (qfi.dir() != slashLessBaseDir) {
const QString newIcon = baseDir + qfi.fileName();
diff --git a/src/plugins/qmakeprojectmanager/externaleditors.cpp b/src/plugins/qmakeprojectmanager/externaleditors.cpp
index 4462fbb822f..e1f3ff7d2e7 100644
--- a/src/plugins/qmakeprojectmanager/externaleditors.cpp
+++ b/src/plugins/qmakeprojectmanager/externaleditors.cpp
@@ -111,10 +111,10 @@ ExternalQtEditor *ExternalQtEditor::createDesignerEditor()
}
}
-static QString findFirstCommand(QVector<QtSupport::QtVersion *> qtVersions,
+static QString findFirstCommand(const QVector<QtSupport::QtVersion *> &qtVersions,
ExternalQtEditor::CommandForQtVersion command)
{
- foreach (QtSupport::QtVersion *qt, qtVersions) {
+ for (QtSupport::QtVersion *qt : qtVersions) {
if (qt) {
const QString binary = command(qt);
if (!binary.isEmpty())
diff --git a/src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp b/src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp
index 117a1cbe0e2..e7a991b3dfa 100644
--- a/src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp
+++ b/src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp
@@ -1029,7 +1029,8 @@ void InternalLibraryDetailsController::updateProFile()
QTC_ASSERT(bs, return);
QDir rootDir(m_rootProjectPath);
- foreach (QmakeProFile *proFile, bs->rootProFile()->allProFiles()) {
+ const QList<QmakeProFile *> proFiles = bs->rootProFile()->allProFiles();
+ for (QmakeProFile *proFile : proFiles) {
QmakeProjectManager::ProjectType type = proFile->projectType();
if (type != ProjectType::SharedLibraryTemplate && type != ProjectType::StaticLibraryTemplate)
continue;
diff --git a/src/plugins/qmakeprojectmanager/makefileparse.cpp b/src/plugins/qmakeprojectmanager/makefileparse.cpp
index 711d839131b..a01eb0e5afd 100644
--- a/src/plugins/qmakeprojectmanager/makefileparse.cpp
+++ b/src/plugins/qmakeprojectmanager/makefileparse.cpp
@@ -97,9 +97,8 @@ void MakeFileParse::parseArgs(const QString &args, const QString &project,
void dumpQMakeAssignments(const QList<QMakeAssignment> &list)
{
- foreach (const QMakeAssignment &qa, list) {
+ for (const QMakeAssignment &qa : list)
qCDebug(MakeFileParse::logging()) << " " << qa.variable << qa.op << qa.value;
- }
}
QList<QMakeAssignment> MakeFileParse::parseAssignments(const QList<QMakeAssignment> &assignments)
@@ -107,11 +106,11 @@ QList<QMakeAssignment> MakeFileParse::parseAssignments(const QList<QMakeAssignme
bool foundSeparateDebugInfo = false;
bool foundForceDebugInfo = false;
QList<QMakeAssignment> filteredAssignments;
- foreach (const QMakeAssignment &qa, assignments) {
+ for (const QMakeAssignment &qa : assignments) {
if (qa.variable == QLatin1String("CONFIG")) {
- QStringList values = qa.value.split(QLatin1Char(' '));
+ const QStringList values = qa.value.split(QLatin1Char(' '));
QStringList newValues;
- foreach (const QString &value, values) {
+ for (const QString &value : values) {
if (value == QLatin1String("debug")) {
if (qa.op == QLatin1String("+=")) {
m_qmakeBuildConfig.explicitDebug = true;
@@ -345,11 +344,11 @@ void MakeFileParse::parseCommandLine(const QString &command, const QString &proj
// Create command line of all unfiltered arguments
const QList<QMakeAssignment> &assignmentsToUse = m_mode == Mode::FilterKnownConfigValues
? filteredAssignments : assignments;
- foreach (const QMakeAssignment &qa, assignmentsToUse)
+ for (const QMakeAssignment &qa : assignmentsToUse)
ProcessArgs::addArg(&m_unparsedArguments, qa.variable + qa.op + qa.value);
if (!afterAssignments.isEmpty()) {
ProcessArgs::addArg(&m_unparsedArguments, QLatin1String("-after"));
- foreach (const QMakeAssignment &qa, afterAssignments)
+ for (const QMakeAssignment &qa : qAsConst(afterAssignments))
ProcessArgs::addArg(&m_unparsedArguments, qa.variable + qa.op + qa.value);
}
}
diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp
index 0d6e208fa5e..b809ae17402 100644
--- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp
@@ -271,13 +271,12 @@ void QmakeBuildConfiguration::updateProblemLabel()
allGood = false;
if (allGood) {
- Tasks issues;
- issues = version->reportIssues(proFileName, buildDirectory().toString());
+ Tasks issues = version->reportIssues(proFileName, buildDirectory().toString());
Utils::sort(issues);
if (!issues.isEmpty()) {
QString text = QLatin1String("<nobr>");
- foreach (const ProjectExplorer::Task &task, issues) {
+ for (const ProjectExplorer::Task &task : qAsConst(issues)) {
QString type;
switch (task.type) {
case ProjectExplorer::Task::Error:
diff --git a/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp b/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp
index f05144e2b60..e8af0bef33e 100644
--- a/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp
@@ -163,7 +163,7 @@ QmakeProject *QmakePriFile::project() const
return static_cast<QmakeProject *>(m_buildSystem->project());
}
-QVector<QmakePriFile *> QmakePriFile::children() const
+const QVector<QmakePriFile *> QmakePriFile::children() const
{
return m_children;
}
@@ -255,7 +255,8 @@ QSet<FilePath> QmakePriFile::recursiveEnumerate(const QString &folder)
QSet<FilePath> result;
QDir dir(folder);
dir.setFilter(dir.filter() | QDir::NoDotAndDotDot);
- foreach (const QFileInfo &file, dir.entryInfoList()) {
+ const QFileInfoList entries = dir.entryInfoList();
+ for (const QFileInfo &file : entries) {
if (file.isDir() && !file.isSymLink())
result += recursiveEnumerate(file.absoluteFilePath());
else if (!Core::EditorManager::isAutoSaveFile(file.fileName()))
@@ -271,7 +272,7 @@ static QStringList fileListForVar(
const QVector<ProFileEvaluator::SourceFile> &sources = sourceFiles[varName];
QStringList result;
result.reserve(sources.size());
- foreach (const ProFileEvaluator::SourceFile &sf, sources)
+ for (const ProFileEvaluator::SourceFile &sf : sources)
result << sf.fileName;
return result;
}
@@ -280,7 +281,7 @@ void QmakePriFile::extractSources(
QHash<int, QmakePriFileEvalResult *> proToResult, QmakePriFileEvalResult *fallback,
QVector<ProFileEvaluator::SourceFile> sourceFiles, FileType type, bool cumulative)
{
- foreach (const ProFileEvaluator::SourceFile &source, sourceFiles) {
+ for (const ProFileEvaluator::SourceFile &source : qAsConst(sourceFiles)) {
auto *result = proToResult.value(source.proFileId);
if (!result)
result = fallback;
@@ -401,16 +402,11 @@ bool QmakePriFile::folderChanged(const QString &changedFolder, const QSet<FilePa
{
qCDebug(qmakeParse()) << "QmakePriFile::folderChanged";
- QSet<FilePath> addedFiles = newFiles;
- addedFiles.subtract(m_recursiveEnumerateFiles);
-
- QSet<FilePath> removedFiles = m_recursiveEnumerateFiles;
- removedFiles.subtract(newFiles);
-
- foreach (const FilePath &file, removedFiles) {
- if (!file.isChildOf(FilePath::fromString(changedFolder)))
- removedFiles.remove(file);
- }
+ const QSet<FilePath> addedFiles = newFiles - m_recursiveEnumerateFiles;
+ const QSet<FilePath> removedFiles = Utils::filtered(m_recursiveEnumerateFiles - newFiles,
+ [changedFolder](const FilePath &file) {
+ return file.isChildOf(FilePath::fromString(changedFolder));
+ });
if (addedFiles.isEmpty() && removedFiles.isEmpty())
return false;
@@ -420,8 +416,8 @@ bool QmakePriFile::folderChanged(const QString &changedFolder, const QSet<FilePa
// Apply the differences per file type
for (int i = 0; i < static_cast<int>(FileType::FileTypeSize); ++i) {
auto type = static_cast<FileType>(i);
- QSet<FilePath> add = filterFilesRecursiveEnumerata(type, addedFiles);
- QSet<FilePath> remove = filterFilesRecursiveEnumerata(type, removedFiles);
+ const QSet<FilePath> add = filterFilesRecursiveEnumerata(type, addedFiles);
+ const QSet<FilePath> remove = filterFilesRecursiveEnumerata(type, removedFiles);
if (!add.isEmpty() || !remove.isEmpty()) {
qCDebug(qmakeParse()) << "For type" << static_cast<int>(type) <<"\n"
@@ -451,7 +447,7 @@ bool QmakePriFile::deploysFolder(const QString &folder) const
if (!f.endsWith(slash))
f.append(slash);
- foreach (const QString &wf, m_watchedFolders) {
+ for (const QString &wf : qAsConst(m_watchedFolders)) {
if (f.startsWith(wf)
&& (wf.endsWith(slash)
|| (wf.length() < f.length() && f.at(wf.length()) == slash)))
@@ -538,10 +534,10 @@ bool QmakePriFile::addFiles(const FilePaths &filePaths, FilePaths *notAdded)
}
FilePaths failedFiles;
- foreach (const QString &type, typeFileMap.keys()) {
- const FilePaths typeFiles = typeFileMap.value(type);
+ for (auto it = typeFileMap.constBegin(); it != typeFileMap.constEnd(); ++it) {
+ const FilePaths &typeFiles = *it;
FilePaths qrcFiles; // the list of qrc files referenced from ui files
- if (type == QLatin1String(ProjectExplorer::Constants::RESOURCE_MIMETYPE)) {
+ if (it.key() == QLatin1String(ProjectExplorer::Constants::RESOURCE_MIMETYPE)) {
for (const FilePath &formFile : typeFiles) {
const FilePaths resourceFiles = formResources(formFile);
for (const FilePath &resourceFile : resourceFiles)
@@ -563,7 +559,7 @@ bool QmakePriFile::addFiles(const FilePaths &filePaths, FilePaths *notAdded)
}
FilePath::sort(uniqueFilePaths);
- changeFiles(type, uniqueFilePaths, &failedFiles, AddToProFile);
+ changeFiles(it.key(), uniqueFilePaths, &failedFiles, AddToProFile);
if (notAdded)
*notAdded += failedFiles;
changeFiles(QLatin1String(ProjectExplorer::Constants::RESOURCE_MIMETYPE), uniqueQrcFiles, &failedFiles, AddToProFile);
@@ -583,7 +579,8 @@ bool QmakePriFile::removeFiles(const FilePaths &filePaths, FilePaths *notRemoved
const MimeType mt = Utils::mimeTypeForFile(file);
typeFileMap[mt.name()] << file;
}
- foreach (const QString &type, typeFileMap.keys()) {
+ const QStringList types = typeFileMap.keys();
+ for (const QString &type : types) {
const FilePaths typeFiles = typeFileMap.value(type);
changeFiles(type, typeFiles, &failedFiles, RemoveFromProFile);
if (notRemoved)
@@ -950,10 +947,10 @@ QStringList QmakePriFile::varNames(FileType type, QtSupport::ProFileReader *read
break;
case FileType::Source: {
vars << QLatin1String("SOURCES");
- QStringList listOfExtraCompilers = readerExact->values(QLatin1String("QMAKE_EXTRA_COMPILERS"));
- foreach (const QString &var, listOfExtraCompilers) {
- QStringList inputs = readerExact->values(var + QLatin1String(".input"));
- foreach (const QString &input, inputs)
+ const QStringList listOfExtraCompilers = readerExact->values("QMAKE_EXTRA_COMPILERS");
+ for (const QString &var : listOfExtraCompilers) {
+ const QStringList inputs = readerExact->values(var + QLatin1String(".input"));
+ for (const QString &input : inputs)
// FORMS, RESOURCES, and STATECHARTS are handled below, HEADERS and SOURCES above
if (input != "FORMS"
&& input != "STATECHARTS"
@@ -1059,11 +1056,11 @@ QSet<FilePath> QmakePriFile::filterFilesProVariables(FileType fileType, const QS
return files;
QSet<FilePath> result;
if (fileType == FileType::QML) {
- foreach (const FilePath &file, files)
+ for (const FilePath &file : files)
if (file.toString().endsWith(QLatin1String(".qml")))
result << file;
} else {
- foreach (const FilePath &file, files)
+ for (const FilePath &file : files)
if (!file.toString().endsWith(QLatin1String(".qml")))
result << file;
}
@@ -1076,11 +1073,11 @@ QSet<FilePath> QmakePriFile::filterFilesRecursiveEnumerata(FileType fileType, co
if (fileType != FileType::QML && fileType != FileType::Unknown)
return result;
if (fileType == FileType::QML) {
- foreach (const FilePath &file, files)
+ for (const FilePath &file : files)
if (file.toString().endsWith(QLatin1String(".qml")))
result << file;
} else {
- foreach (const FilePath &file, files)
+ for (const FilePath &file : files)
if (!file.toString().endsWith(QLatin1String(".qml")))
result << file;
}
@@ -1123,7 +1120,8 @@ const QmakeProFile *QmakeProFile::findProFile(const FilePath &fileName) const
QByteArray QmakeProFile::cxxDefines() const
{
QByteArray result;
- foreach (const QString &def, variableValue(Variable::Defines)) {
+ const QStringList defs = variableValue(Variable::Defines);
+ for (const QString &def : defs) {
// 'def' is shell input, so interpret it.
ProcessArgs::SplitError error = ProcessArgs::SplitOk;
const QStringList args = ProcessArgs::splitArgs(def, HostOsInfo::hostOs(), false, &error);
@@ -1237,7 +1235,7 @@ QString QmakeProFile::singleVariableValue(const Variable var) const
void QmakeProFile::setParseInProgressRecursive(bool b)
{
setParseInProgress(b);
- foreach (QmakePriFile *c, children()) {
+ for (QmakePriFile *c : children()) {
if (auto node = dynamic_cast<QmakeProFile *>(c))
node->setParseInProgressRecursive(b);
}
@@ -1253,7 +1251,7 @@ void QmakeProFile::setParseInProgress(bool b)
void QmakeProFile::setValidParseRecursive(bool b)
{
m_validParse = b;
- foreach (QmakePriFile *c, children()) {
+ for (QmakePriFile *c : children()) {
if (auto *node = dynamic_cast<QmakeProFile *>(c))
node->setValidParseRecursive(b);
}
@@ -1396,10 +1394,11 @@ QmakeEvalResultPtr QmakeProFile::evaluate(const QmakeEvalInput &input)
if (result->state == QmakeEvalResult::EvalOk) {
if (result->projectType == ProjectType::SubDirsTemplate) {
QStringList errors;
- FilePaths subDirs = subDirsPaths(input.readerExact, input.projectDir, &result->subProjectsNotToDeploy, &errors);
+ const FilePaths subDirs = subDirsPaths(input.readerExact, input.projectDir,
+ &result->subProjectsNotToDeploy, &errors);
result->errors.append(errors);
- foreach (const FilePath &subDirName, subDirs) {
+ for (const FilePath &subDirName : subDirs) {
auto subDir = new QmakeIncludedPriFile;
subDir->proFile = nullptr;
subDir->name = subDirName;
@@ -1416,8 +1415,8 @@ QmakeEvalResultPtr QmakeProFile::evaluate(const QmakeEvalInput &input)
QmakeIncludedPriFile *current = toBuild.takeFirst();
if (!current->proFile)
continue; // Don't attempt to map subdirs here
- QVector<ProFile *> children = includeFiles.value(current->proFile);
- foreach (ProFile *child, children) {
+ const QVector<ProFile *> children = includeFiles.value(current->proFile);
+ for (ProFile *child : children) {
const FilePath childName = FilePath::fromString(child->fileName());
auto it = current->children.find(childName);
if (it == current->children.end()) {
@@ -1452,8 +1451,8 @@ QmakeEvalResultPtr QmakeProFile::evaluate(const QmakeEvalInput &input)
QmakeIncludedPriFile *current = toBuild.takeFirst();
if (!current->proFile)
continue; // Don't attempt to map subdirs here
- QVector<ProFile *> children = includeFiles.value(current->proFile);
- foreach (ProFile *child, children) {
+ const QVector<ProFile *> children = includeFiles.value(current->proFile);
+ for (ProFile *child : children) {
const FilePath childName = FilePath::fromString(child->fileName());
auto it = current->children.find(childName);
if (it == current->children.end()) {
@@ -1481,7 +1480,7 @@ QmakeEvalResultPtr QmakeProFile::evaluate(const QmakeEvalInput &input)
for (int i = 0; i < static_cast<int>(FileType::FileTypeSize); ++i) {
const auto type = static_cast<FileType>(i);
const QStringList qmakeVariables = varNames(type, exactReader);
- foreach (const QString &qmakeVariable, qmakeVariables) {
+ for (const QString &qmakeVariable : qmakeVariables) {
QHash<ProString, bool> handled;
if (result->state == QmakeEvalResult::EvalOk) {
const QStringList vPathsExact = fullVPaths(
@@ -1645,7 +1644,7 @@ void QmakeProFile::applyEvaluate(const QmakeEvalResultPtr &result)
return;
}
- foreach (const QString &error, result->errors)
+ for (const QString &error : qAsConst(result->errors))
QmakeBuildSystem::proFileParseError(error, filePath());
// we are changing what is executed in that case
@@ -1673,7 +1672,7 @@ void QmakeProFile::applyEvaluate(const QmakeEvalResultPtr &result)
if (result->projectType != m_projectType) {
// probably all subfiles/projects have changed anyway
// delete files && folders && projects
- foreach (QmakePriFile *c, children()) {
+ for (QmakePriFile *c : children()) {
if (auto qmakeProFile = dynamic_cast<QmakeProFile *>(c)) {
qmakeProFile->setValidParseRecursive(false);
qmakeProFile->setParseInProgressRecursive(false);
@@ -1815,7 +1814,8 @@ QStringList QmakeProFile::includePaths(QtSupport::ProFileReader *reader, const F
{
QStringList paths;
bool nextIsAnIncludePath = false;
- foreach (const QString &cxxflags, reader->values(QLatin1String("QMAKE_CXXFLAGS"))) {
+ const QStringList flagList = reader->values(QLatin1String("QMAKE_CXXFLAGS"));
+ for (const QString &cxxflags : flagList) {
if (nextIsAnIncludePath) {
nextIsAnIncludePath = false;
paths.append(cxxflags);
@@ -1833,9 +1833,9 @@ QStringList QmakeProFile::includePaths(QtSupport::ProFileReader *reader, const F
const QString mocDir = mocDirPath(reader, buildDir);
const QString uiDir = uiDirPath(reader, buildDir);
- foreach (const ProFileEvaluator::SourceFile &el,
- reader->fixifiedValues(QLatin1String("INCLUDEPATH"), projectDir, buildDir.toString(),
- false)) {
+ const QVector<ProFileEvaluator::SourceFile> elList = reader->fixifiedValues(
+ QLatin1String("INCLUDEPATH"), projectDir, buildDir.toString(), false);
+ for (const ProFileEvaluator::SourceFile &el : elList) {
const QString sysrootifiedPath = sysrootify(el.fileName, sysroot.toString(), projectDir,
buildDir.toString());
if (IoUtils::isAbsolutePath(sysrootifiedPath)
@@ -1866,7 +1866,8 @@ QStringList QmakeProFile::includePaths(QtSupport::ProFileReader *reader, const F
QStringList QmakeProFile::libDirectories(QtSupport::ProFileReader *reader)
{
QStringList result;
- foreach (const QString &str, reader->values(QLatin1String("LIBS"))) {
+ const QStringList values = reader->values(QLatin1String("LIBS"));
+ for (const QString &str : values) {
if (str.startsWith(QLatin1String("-L")))
result.append(str.mid(2));
}
@@ -1881,8 +1882,7 @@ FilePaths QmakeProFile::subDirsPaths(QtSupport::ProFileReader *reader,
FilePaths subProjectPaths;
const QStringList subDirVars = reader->values(QLatin1String("SUBDIRS"));
-
- foreach (const QString &subDirVar, subDirVars) {
+ for (const QString &subDirVar : subDirVars) {
// Special case were subdir is just an identifier:
// "SUBDIR = subid
// subid.subdir = realdir"
@@ -1981,7 +1981,7 @@ InstallsList QmakeProFile::installsList(const QtSupport::ProFileReader *reader,
reader->propertyValue(installPrefix + "/dev")});
}
- foreach (const QString &item, itemList) {
+ for (const QString &item : itemList) {
const QStringList config = reader->values(item + ".CONFIG");
const bool active = !config.contains("no_default_install");
const bool executable = config.contains("executable");
diff --git a/src/plugins/qmakeprojectmanager/qmakeparsernodes.h b/src/plugins/qmakeprojectmanager/qmakeparsernodes.h
index c723504246f..d481dda64ce 100644
--- a/src/plugins/qmakeprojectmanager/qmakeparsernodes.h
+++ b/src/plugins/qmakeprojectmanager/qmakeparsernodes.h
@@ -119,7 +119,7 @@ public:
QmakePriFile *parent() const;
QmakeProject *project() const;
- QVector<QmakePriFile *> children() const;
+ const QVector<QmakePriFile *> children() const;
QmakePriFile *findPriFile(const Utils::FilePath &fileName);
const QmakePriFile *findPriFile(const Utils::FilePath &fileName) const;
diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.cpp b/src/plugins/qmakeprojectmanager/qmakeproject.cpp
index 43d36b2e225..ac886ee1797 100644
--- a/src/plugins/qmakeprojectmanager/qmakeproject.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakeproject.cpp
@@ -175,8 +175,8 @@ Project::RestoreResult QmakeProject::fromMap(const QVariantMap &map, QString *er
// Prune targets without buildconfigurations:
// This can happen esp. when updating from a old version of Qt Creator
- QList<Target *>ts = targets();
- foreach (Target *t, ts) {
+ const QList<Target *> ts = targets();
+ for (Target *t : ts) {
if (t->buildConfigurations().isEmpty()) {
qWarning() << "Removing" << t->id().name() << "since it has no buildconfigurations!";
removeTarget(t);
@@ -366,7 +366,8 @@ void QmakeBuildSystem::updateCppCodeModel()
// Header paths
ProjectExplorer::HeaderPaths headerPaths;
- foreach (const QString &inc, pro->variableValue(Variable::IncludePath)) {
+ const QStringList includes = pro->variableValue(Variable::IncludePath);
+ for (const QString &inc : includes) {
const auto headerPath = HeaderPath::makeUser(inc);
if (!headerPaths.contains(headerPath))
headerPaths += headerPath;
@@ -379,8 +380,8 @@ void QmakeBuildSystem::updateCppCodeModel()
// Files and generators
const QStringList cumulativeSourceFiles = pro->variableValue(Variable::CumulativeSource);
QStringList fileList = pro->variableValue(Variable::ExactSource) + cumulativeSourceFiles;
- QList<ProjectExplorer::ExtraCompiler *> proGenerators = pro->extraCompilers();
- foreach (ProjectExplorer::ExtraCompiler *ec, proGenerators) {
+ const QList<ProjectExplorer::ExtraCompiler *> proGenerators = pro->extraCompilers();
+ for (ProjectExplorer::ExtraCompiler *ec : proGenerators) {
ec->forEachTarget([&](const FilePath &generatedFile) {
fileList += generatedFile.toString();
});
@@ -717,7 +718,7 @@ void QmakeBuildSystem::asyncUpdate()
project()->updateExtraProjectFiles(docUpdater);
rootProFile()->asyncUpdate();
} else {
- foreach (QmakeProFile *file, m_partialEvaluate)
+ for (QmakeProFile *file : qAsConst(m_partialEvaluate))
file->asyncUpdate();
}
@@ -763,13 +764,17 @@ Tasks QmakeProject::projectIssues(const Kit *k) const
// Find the folder that contains a file with a certain name (recurse down)
static FolderNode *folderOf(FolderNode *in, const FilePath &fileName)
{
- foreach (FileNode *fn, in->fileNodes())
+ const QList<FileNode*> fileNodeList = in->fileNodes();
+ for (FileNode *fn : fileNodeList) {
if (fn->filePath() == fileName)
return in;
- foreach (FolderNode *folder, in->folderNodes())
+ }
+ const QList<FolderNode *> folderNodeList = in->folderNodes();
+ for (FolderNode *folder : folderNodeList) {
if (FolderNode *pn = folderOf(folder, fileName))
return pn;
- return nullptr;
+ }
+ return {};
}
// Find the QmakeProFileNode that contains a certain file.
@@ -778,7 +783,8 @@ static FileNode *fileNodeOf(FolderNode *in, const FilePath &fileName)
{
for (FolderNode *folder = folderOf(in, fileName); folder; folder = folder->parentFolderNode()) {
if (auto *proFile = dynamic_cast<QmakeProFileNode *>(folder)) {
- foreach (FileNode *fileNode, proFile->fileNodes()) {
+ const QList<FileNode*> fileNodeList = proFile->fileNodes();
+ for (FileNode *fileNode : fileNodeList) {
if (fileNode->filePath() == fileName)
return fileNode;
}
@@ -972,8 +978,8 @@ QSet<QString> CentralizedFolderWatcher::recursiveDirs(const QString &folder)
{
QSet<QString> result;
QDir dir(folder);
- QStringList list = dir.entryList(QDir::Dirs | QDir::NoSymLinks | QDir::NoDotAndDotDot);
- foreach (const QString &f, list) {
+ const QStringList list = dir.entryList(QDir::Dirs | QDir::NoSymLinks | QDir::NoDotAndDotDot);
+ for (const QString &f : list) {
const QString a = folder + f + QLatin1Char('/');
result.insert(a);
result += recursiveDirs(a);
@@ -986,7 +992,7 @@ void CentralizedFolderWatcher::watchFolders(const QList<QString> &folders, Qmake
m_watcher.addPaths(folders);
const QChar slash = QLatin1Char('/');
- foreach (const QString &f, folders) {
+ for (const QString &f : folders) {
QString folder = f;
if (!folder.endsWith(slash))
folder.append(slash);
@@ -1004,7 +1010,7 @@ void CentralizedFolderWatcher::watchFolders(const QList<QString> &folders, Qmake
void CentralizedFolderWatcher::unwatchFolders(const QList<QString> &folders, QmakePriFile *file)
{
const QChar slash = QLatin1Char('/');
- foreach (const QString &f, folders) {
+ for (const QString &f : folders) {
QString folder = f;
if (!folder.endsWith(slash))
folder.append(slash);
@@ -1018,7 +1024,7 @@ void CentralizedFolderWatcher::unwatchFolders(const QList<QString> &folders, Qma
// where a given directory watcher actual comes from...
QStringList toRemove;
- foreach (const QString &rwf, m_recursiveWatchedFolders) {
+ for (const QString &rwf : qAsConst(m_recursiveWatchedFolders)) {
if (rwf.startsWith(folder)) {
// So the rwf is a subdirectory of a folder we aren't watching
// but maybe someone else wants us to watch
@@ -1037,7 +1043,7 @@ void CentralizedFolderWatcher::unwatchFolders(const QList<QString> &folders, Qma
}
}
- foreach (const QString &tr, toRemove)
+ for (const QString &tr : qAsConst(toRemove))
m_recursiveWatchedFolders.remove(tr);
}
}
@@ -1050,7 +1056,7 @@ void CentralizedFolderWatcher::folderChanged(const QString &folder)
void CentralizedFolderWatcher::onTimer()
{
- foreach (const QString &folder, m_changedFolders)
+ for (const QString &folder : qAsConst(m_changedFolders))
delayedFolderChanged(folder);
m_changedFolders.clear();
}
@@ -1064,12 +1070,12 @@ void CentralizedFolderWatcher::delayedFolderChanged(const QString &folder)
while (true) {
if (!dir.endsWith(slash))
dir.append(slash);
- QList<QmakePriFile *> files = m_map.values(dir);
+ const QList<QmakePriFile *> files = m_map.values(dir);
if (!files.isEmpty()) {
// Collect all the files
QSet<FilePath> newFiles;
newFiles += QmakePriFile::recursiveEnumerate(folder);
- foreach (QmakePriFile *file, files)
+ for (QmakePriFile *file : files)
newOrRemovedFiles = newOrRemovedFiles || file->folderChanged(folder, newFiles);
}
diff --git a/src/plugins/qmakeprojectmanager/qmakeprojectimporter.cpp b/src/plugins/qmakeprojectmanager/qmakeprojectimporter.cpp
index 666ede66d65..d0041571db0 100644
--- a/src/plugins/qmakeprojectmanager/qmakeprojectimporter.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakeprojectimporter.cpp
@@ -87,10 +87,10 @@ QList<void *> QmakeProjectImporter::examineDirectory(const FilePath &importPath,
QList<void *> result;
const QLoggingCategory &logs = MakeFileParse::logging();
- QStringList makefiles = QDir(importPath.toString()).entryList(QStringList(QLatin1String("Makefile*")));
+ const QStringList makefiles = QDir(importPath.toString()).entryList(QStringList(("Makefile*")));
qCDebug(logs) << " Makefiles:" << makefiles;
- foreach (const QString &file, makefiles) {
+ for (const QString &file : makefiles) {
std::unique_ptr<DirectoryData> data(new DirectoryData);
data->makefile = file;
data->buildDirectory = importPath;