diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2017-01-31 10:18:24 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2017-02-21 17:25:16 +0000 |
commit | b1b58a735a8d6f8f9fb586a877c145326f4b1628 (patch) | |
tree | c4b4c37e3469df8a355d82bf1b1c882d569a5c2a /src/lib/corelib/api | |
parent | 1c65b79eb3da939de372b10b603729c4621caba8 (diff) |
Remove all usages of Q_FOREACH from the library
This will make it easier to experiment with exchanging Qt containers
for STL ones, for instance.
Change-Id: Ie591fa54b5241ad4841b1ebcfb78b72932cd2b38
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src/lib/corelib/api')
-rw-r--r-- | src/lib/corelib/api/languageinfo.cpp | 5 | ||||
-rw-r--r-- | src/lib/corelib/api/project.cpp | 103 | ||||
-rw-r--r-- | src/lib/corelib/api/projectdata.cpp | 17 | ||||
-rw-r--r-- | src/lib/corelib/api/projectfileupdater.cpp | 7 | ||||
-rw-r--r-- | src/lib/corelib/api/runenvironment.cpp | 6 |
5 files changed, 72 insertions, 66 deletions
diff --git a/src/lib/corelib/api/languageinfo.cpp b/src/lib/corelib/api/languageinfo.cpp index 4ba3c6c01..33f128b9f 100644 --- a/src/lib/corelib/api/languageinfo.cpp +++ b/src/lib/corelib/api/languageinfo.cpp @@ -40,6 +40,7 @@ #include "languageinfo.h" #include <language/builtindeclarations.h> +#include <tools/qttools.h> #include <tools/version.h> #include <QtCore/qstringlist.h> @@ -64,7 +65,7 @@ QByteArray LanguageInfo::qmlTypeInfo() // Individual Components: auto typeNames = builtins.allTypeNames(); typeNames.sort(); - foreach (const QString &typeName, typeNames) { + for (const QString &typeName : qAsConst(typeNames)) { QByteArray utf8TypeName = typeName.toUtf8(); result.append(" Component {\n"); result.append(QByteArray(" name: \"") + utf8TypeName + QByteArray("\"\n")); @@ -84,7 +85,7 @@ QByteArray LanguageInfo::qmlTypeInfo() (const Internal::PropertyDeclaration &a, const Internal::PropertyDeclaration &b) { return a.name() < b.name(); }); - foreach (const Internal::PropertyDeclaration &property, properties) { + for (const Internal::PropertyDeclaration &property : qAsConst(properties)) { result.append(" Property { name: \""); result.append(property.name().toUtf8()); result.append("\"; "); diff --git a/src/lib/corelib/api/project.cpp b/src/lib/corelib/api/project.cpp index b1d626364..b83ea7411 100644 --- a/src/lib/corelib/api/project.cpp +++ b/src/lib/corelib/api/project.cpp @@ -75,6 +75,7 @@ #include <tools/scripttools.h> #include <tools/setupprojectparameters.h> #include <tools/qbsassert.h> +#include <tools/qttools.h> #include <QtCore/qdir.h> #include <QtCore/qmutex.h> @@ -99,7 +100,7 @@ static void loadPlugins(const QStringList &_pluginPaths, const Logger &logger) return; QStringList pluginPaths; - foreach (const QString &pluginPath, _pluginPaths) { + for (const QString &pluginPath : _pluginPaths) { if (!FileInfo::exists(pluginPath)) { #ifndef QBS_STATIC_LIB logger.qbsWarning() << Tr::tr("Plugin path '%1' does not exist.") @@ -134,7 +135,7 @@ static void addDependencies(QList<ResolvedProductPtr> &products) { for (int i = 0; i < products.count(); ++i) { const ResolvedProductPtr &product = products.at(i); - foreach (const ResolvedProductPtr &dependency, product->dependencies) { + for (const ResolvedProductPtr &dependency : qAsConst(product->dependencies)) { if (!products.contains(dependency)) products << dependency; } @@ -176,7 +177,7 @@ InstallJob *ProjectPrivate::installProducts(const QList<ResolvedProductPtr> &pro QList<ResolvedProductPtr> ProjectPrivate::internalProducts(const QList<ProductData> &products) const { QList<ResolvedProductPtr> internalProducts; - foreach (const ProductData &product, products) { + for (const ProductData &product : products) { if (product.isEnabled()) internalProducts << internalProduct(product); } @@ -187,11 +188,11 @@ static QList<ResolvedProductPtr> enabledInternalProducts(const ResolvedProjectCo bool includingNonDefault) { QList<ResolvedProductPtr> products; - foreach (const ResolvedProductPtr &p, project->products) { + for (const ResolvedProductPtr &p : qAsConst(project->products)) { if (p->enabled && (includingNonDefault || p->builtByDefault())) products << p; } - foreach (const ResolvedProjectConstPtr &subProject, project->subProjects) + for (const ResolvedProjectConstPtr &subProject : qAsConst(project->subProjects)) products << enabledInternalProducts(subProject, includingNonDefault); return products; } @@ -204,13 +205,13 @@ QList<ResolvedProductPtr> ProjectPrivate::allEnabledInternalProducts(bool includ static ResolvedProductPtr internalProductForProject(const ResolvedProjectConstPtr &project, const ProductData &product) { - foreach (const ResolvedProductPtr &resolvedProduct, project->products) { + for (const ResolvedProductPtr &resolvedProduct : qAsConst(project->products)) { if (product.name() == resolvedProduct->name && product.profile() == resolvedProduct->profile) { return resolvedProduct; } } - foreach (const ResolvedProjectConstPtr &subProject, project->subProjects) { + for (const ResolvedProjectConstPtr &subProject : qAsConst(project->subProjects)) { const ResolvedProductPtr &p = internalProductForProject(subProject, product); if (p) return p; @@ -225,7 +226,7 @@ ResolvedProductPtr ProjectPrivate::internalProduct(const ProductData &product) c ProductData ProjectPrivate::findProductData(const ProductData &product) const { - foreach (const ProductData &p, m_projectData.allProducts()) { + for (const ProductData &p : m_projectData.allProducts()) { if (p.name() == product.name() && p.profile() == product.profile()) return p; } @@ -235,7 +236,7 @@ ProductData ProjectPrivate::findProductData(const ProductData &product) const QList<ProductData> ProjectPrivate::findProductsByName(const QString &name) const { QList<ProductData> list; - foreach (const ProductData &p, m_projectData.allProducts()) { + for (const ProductData &p : m_projectData.allProducts()) { if (p.name() == name) list << p; } @@ -244,7 +245,7 @@ QList<ProductData> ProjectPrivate::findProductsByName(const QString &name) const GroupData ProjectPrivate::findGroupData(const ProductData &product, const QString &groupName) const { - foreach (const GroupData &g, product.groups()) { + for (const GroupData &g : product.groups()) { if (g.name() == groupName) return g; } @@ -258,13 +259,13 @@ GroupData ProjectPrivate::createGroupDataFromGroup(const GroupPtr &resolvedGroup group.d->name = resolvedGroup->name; group.d->prefix = resolvedGroup->prefix; group.d->location = resolvedGroup->location; - foreach (const SourceArtifactConstPtr &sa, resolvedGroup->files) { + for (const SourceArtifactConstPtr &sa : qAsConst(resolvedGroup->files)) { ArtifactData artifact = createApiSourceArtifact(sa); setupInstallData(artifact, product); group.d->sourceArtifacts << artifact; } if (resolvedGroup->wildcards) { - foreach (const SourceArtifactConstPtr &sa, resolvedGroup->wildcards->files) { + for (const SourceArtifactConstPtr &sa : qAsConst(resolvedGroup->wildcards->files)) { ArtifactData artifact = createApiSourceArtifact(sa); setupInstallData(artifact, product); group.d->sourceArtifactsFromWildcards << artifact; @@ -323,7 +324,7 @@ void ProjectPrivate::addGroup(const ProductData &product, const QString &groupNa const QList<ResolvedProductPtr> resolvedProducts = internalProducts(products); QBS_CHECK(products.count() == resolvedProducts.count()); - foreach (const GroupPtr &resolvedGroup, resolvedProducts.first()->groups) { + for (const GroupPtr &resolvedGroup : qAsConst(resolvedProducts.first()->groups)) { if (resolvedGroup->name == groupName) { throw ErrorInfo(Tr::tr("Group '%1' already exists in product '%2'.") .arg(groupName, product.name()), resolvedGroup->location); @@ -367,8 +368,8 @@ ProjectPrivate::GroupUpdateContext ProjectPrivate::getGroupContext(const Product context.resolvedProducts = internalProducts(context.products); const QString groupName = group.isValid() ? group.name() : product.name(); - foreach (const ResolvedProductPtr &p, context.resolvedProducts) { - foreach (const GroupPtr &g, p->groups) { + for (const ResolvedProductPtr &p : qAsConst(context.resolvedProducts)) { + for (const GroupPtr &g : qAsConst(p->groups)) { if (g->name == groupName) { context.resolvedGroups << g; break; @@ -377,7 +378,7 @@ ProjectPrivate::GroupUpdateContext ProjectPrivate::getGroupContext(const Product } if (context.resolvedGroups.isEmpty()) throw ErrorInfo(Tr::tr("Group '%1' does not exist.").arg(groupName)); - foreach (const ProductData &p, context.products) { + for (const ProductData &p : qAsConst(context.products)) { const GroupData &g = findGroupData(p, groupName); QBS_CHECK(p.isValid()); context.groups << g; @@ -392,7 +393,7 @@ static bool matchesWildcard(const QString &filePath, const GroupConstPtr &group) { if (!group->wildcards) return false; - foreach (const QString &pattern, group->wildcards->patterns) { + for (const QString &pattern : qAsConst(group->wildcards->patterns)) { QString fullPattern; if (QFileInfo(group->prefix).isAbsolute()) { fullPattern = group->prefix; @@ -431,7 +432,7 @@ ProjectPrivate::FileListUpdateContext ProjectPrivate::getFileListContext(const P QString baseDirPath = QFileInfo(product.location().filePath()).dir().absolutePath() + QLatin1Char('/') + prefix; QDir baseDir(baseDirPath); - foreach (const QString &filePath, filePaths) { + for (const QString &filePath : filePaths) { const QString absPath = QDir::cleanPath(FileInfo::resolvePath(baseDirPath, filePath)); if (filesContext.absoluteFilePaths.contains(absPath)) throw ErrorInfo(Tr::tr("File '%1' appears more than once.").arg(absPath)); @@ -465,9 +466,9 @@ void ProjectPrivate::addFiles(const ProductData &product, const GroupData &group // We do not check for entries in other groups, because such doublettes might be legitimate // due to conditions. - foreach (const GroupPtr &group, groupContext.resolvedGroups) { - foreach (const QString &filePath, filesContext.absoluteFilePaths) { - foreach (const SourceArtifactConstPtr &sa, group->files) { + for (const GroupPtr &group : qAsConst(groupContext.resolvedGroups)) { + for (const QString &filePath : qAsConst(filesContext.absoluteFilePaths)) { + for (const SourceArtifactConstPtr &sa : qAsConst(group->files)) { if (sa->absoluteFilePath == filePath) { throw ErrorInfo(Tr::tr("File '%1' already exists in group '%2'.") .arg(filePath, group->name)); @@ -489,26 +490,26 @@ void ProjectPrivate::addFiles(const ProductData &product, const GroupData &group for (int i = 0; i < groupContext.resolvedGroups.count(); ++i) { const ResolvedProductPtr &resolvedProduct = groupContext.resolvedProducts.at(i); const GroupPtr &resolvedGroup = groupContext.resolvedGroups.at(i); - foreach (const QString &file, filesContext.absoluteFilePaths) { + for (const QString &file : qAsConst(filesContext.absoluteFilePaths)) { const SourceArtifactPtr sa = createSourceArtifact(file, resolvedProduct, resolvedGroup, false, logger); addedSourceArtifacts.insert(file, qMakePair(sa, resolvedProduct)); } - foreach (const QString &file, filesContext.absoluteFilePathsFromWildcards) { + for (const QString &file : qAsConst(filesContext.absoluteFilePathsFromWildcards)) { QBS_CHECK(resolvedGroup->wildcards); const SourceArtifactPtr sa = createSourceArtifact(file, resolvedProduct, resolvedGroup, true, logger); addedSourceArtifacts.insert(file, qMakePair(sa, resolvedProduct)); } if (resolvedProduct->enabled) { - foreach (const auto &pair, addedSourceArtifacts) + for (const auto &pair : qAsConst(addedSourceArtifacts)) createArtifact(resolvedProduct, pair.first, logger); } } doSanityChecks(internalProject, logger); QList<ArtifactData> sourceArtifacts; QList<ArtifactData> sourceArtifactsFromWildcards; - foreach (const QString &fp, filesContext.absoluteFilePaths) { + for (const QString &fp : qAsConst(filesContext.absoluteFilePaths)) { const auto pair = addedSourceArtifacts.value(fp); const SourceArtifactConstPtr sa = pair.first; QBS_CHECK(sa); @@ -516,7 +517,7 @@ void ProjectPrivate::addFiles(const ProductData &product, const GroupData &group setupInstallData(artifactData, pair.second); sourceArtifacts << artifactData; } - foreach (const QString &fp, filesContext.absoluteFilePathsFromWildcards) { + for (const QString &fp : qAsConst(filesContext.absoluteFilePathsFromWildcards)) { const auto pair = addedSourceArtifacts.value(fp); const SourceArtifactConstPtr sa = pair.first; QBS_CHECK(sa); @@ -524,7 +525,7 @@ void ProjectPrivate::addFiles(const ProductData &product, const GroupData &group setupInstallData(artifactData, pair.second); sourceArtifactsFromWildcards << artifactData; } - foreach (const GroupData &g, groupContext.groups) { + for (const GroupData &g : qAsConst(groupContext.groups)) { g.d->sourceArtifacts << sourceArtifacts; qSort(g.d->sourceArtifacts); g.d->sourceArtifactsFromWildcards << sourceArtifactsFromWildcards; @@ -545,7 +546,7 @@ void ProjectPrivate::removeFiles(const ProductData &product, const GroupData &gr } QStringList filesNotFound = filesContext.absoluteFilePaths; QList<SourceArtifactPtr> sourceArtifacts; - foreach (const SourceArtifactPtr &sa, groupContext.resolvedGroups.first()->files) { + for (const SourceArtifactPtr &sa : qAsConst(groupContext.resolvedGroups.first()->files)) { if (filesNotFound.removeOne(sa->absoluteFilePath)) sourceArtifacts << sa; } @@ -561,7 +562,7 @@ void ProjectPrivate::removeFiles(const ProductData &product, const GroupData &gr for (int i = 0; i < groupContext.resolvedProducts.count(); ++i) { removeFilesFromBuildGraph(groupContext.resolvedProducts.at(i), sourceArtifacts); - foreach (const SourceArtifactPtr &sa, sourceArtifacts) + for (const SourceArtifactPtr &sa : qAsConst(sourceArtifacts)) groupContext.resolvedGroups.at(i)->files.removeOne(sa); } doSanityChecks(internalProject, logger); @@ -569,7 +570,7 @@ void ProjectPrivate::removeFiles(const ProductData &product, const GroupData &gr m_projectData.d.detach(); updateInternalCodeLocations(internalProject, remover.itemPosition(), remover.lineOffset()); updateExternalCodeLocations(m_projectData, remover.itemPosition(), remover.lineOffset()); - foreach (const GroupData &g, groupContext.groups) { + for (const GroupData &g : qAsConst(groupContext.groups)) { for (int i = g.d->sourceArtifacts.count() - 1; i >= 0; --i) { if (filesContext.absoluteFilePaths.contains(g.d->sourceArtifacts.at(i).filePath())) g.d->sourceArtifacts.removeAt(i); @@ -610,7 +611,7 @@ void ProjectPrivate::removeFilesFromBuildGraph(const ResolvedProductConstPtr &pr return; QBS_CHECK(internalProject->buildData); ArtifactSet allRemovedArtifacts; - foreach (const SourceArtifactPtr &sa, files) { + for (const SourceArtifactPtr &sa : files) { ArtifactSet removedArtifacts; Artifact * const artifact = lookupArtifact(product, sa->absoluteFilePath); if (artifact) { // Can be null if the executor has not yet applied the respective rule. @@ -640,26 +641,26 @@ void ProjectPrivate::updateInternalCodeLocations(const ResolvedProjectPtr &proje if (lineOffset == 0) return; updateLocationIfNecessary(project->location, changeLocation, lineOffset); - foreach (const ResolvedProjectPtr &subProject, project->subProjects) + for (const ResolvedProjectPtr &subProject : qAsConst(project->subProjects)) updateInternalCodeLocations(subProject, changeLocation, lineOffset); - foreach (const ResolvedProductPtr &product, project->products) { + for (const ResolvedProductPtr &product : qAsConst(project->products)) { updateLocationIfNecessary(product->location, changeLocation, lineOffset); - foreach (const GroupPtr &group, product->groups) + for (const GroupPtr &group : qAsConst(product->groups)) updateLocationIfNecessary(group->location, changeLocation, lineOffset); - foreach (const RulePtr &rule, product->rules) { + for (const RulePtr &rule : qAsConst(product->rules)) { updateLocationIfNecessary(rule->prepareScript->location, changeLocation, lineOffset); - foreach (const RuleArtifactPtr &artifact, rule->artifacts) { + for (const RuleArtifactPtr &artifact : qAsConst(rule->artifacts)) { for (int i = 0; i < artifact->bindings.count(); ++i) { updateLocationIfNecessary(artifact->bindings[i].location, changeLocation, lineOffset); } } } - foreach (const ResolvedScannerConstPtr &scanner, product->scanners) { + for (const ResolvedScannerConstPtr &scanner : qAsConst(product->scanners)) { updateLocationIfNecessary(scanner->searchPathsScript->location, changeLocation, lineOffset); updateLocationIfNecessary(scanner->scanScript->location, changeLocation, lineOffset); } - foreach (const ResolvedModuleConstPtr &module, product->modules) { + for (const ResolvedModuleConstPtr &module : qAsConst(product->modules)) { updateLocationIfNecessary(module->setupBuildEnvironmentScript->location, changeLocation, lineOffset); updateLocationIfNecessary(module->setupRunEnvironmentScript->location, @@ -674,11 +675,11 @@ void ProjectPrivate::updateExternalCodeLocations(const ProjectData &project, if (lineOffset == 0) return; updateLocationIfNecessary(project.d->location, changeLocation, lineOffset); - foreach (const ProjectData &subProject, project.subProjects()) + for (const ProjectData &subProject : project.subProjects()) updateExternalCodeLocations(subProject, changeLocation, lineOffset); - foreach (const ProductData &product, project.products()) { + for (const ProductData &product : project.products()) { updateLocationIfNecessary(product.d->location, changeLocation, lineOffset); - foreach (const GroupData &group, product.groups()) + for (const GroupData &group : product.groups()) updateLocationIfNecessary(group.d->location, changeLocation, lineOffset); } } @@ -704,14 +705,14 @@ RuleCommandList ProjectPrivate::ruleCommands(const ProductData &product, QBS_CHECK(resolvedProduct->buildData); const ArtifactSet &outputArtifacts = resolvedProduct->buildData->artifactsByFileTag .value(FileTag(outputFileTag.toLocal8Bit())); - foreach (const Artifact * const outputArtifact, outputArtifacts) { + for (const Artifact * const outputArtifact : qAsConst(outputArtifacts)) { const TransformerConstPtr transformer = outputArtifact->transformer; if (!transformer) continue; - foreach (const Artifact * const inputArtifact, transformer->inputs) { + for (const Artifact * const inputArtifact : qAsConst(transformer->inputs)) { if (inputArtifact->filePath() == inputFilePath) { RuleCommandList list; - foreach (const AbstractCommandPtr &internalCommand, transformer->commands) { + for (const AbstractCommandPtr &internalCommand : qAsConst(transformer->commands)) { RuleCommand externalCommand; externalCommand.d->description = internalCommand->description(); externalCommand.d->extendedDescription = internalCommand->extendedDescription(); @@ -756,7 +757,7 @@ void ProjectPrivate::retrieveProjectData(ProjectData &projectData, projectData.d->name = internalProject->name; projectData.d->location = internalProject->location; projectData.d->enabled = internalProject->enabled; - foreach (const ResolvedProductConstPtr &resolvedProduct, internalProject->products) { + for (const ResolvedProductConstPtr &resolvedProduct : qAsConst(internalProject->products)) { ProductData product; product.d->type = resolvedProduct->fileTags.toStringList(); product.d->name = resolvedProduct->name; @@ -770,13 +771,12 @@ void ProjectPrivate::retrieveProjectData(ProjectData &projectData, product.d->isRunnable = productIsRunnable(resolvedProduct); product.d->properties = resolvedProduct->productProperties; product.d->moduleProperties.d->m_map = resolvedProduct->moduleProperties; - foreach (const GroupPtr &resolvedGroup, resolvedProduct->groups) + for (const GroupPtr &resolvedGroup : qAsConst(resolvedProduct->groups)) product.d->groups << createGroupDataFromGroup(resolvedGroup, resolvedProduct); if (resolvedProduct->enabled) { QBS_CHECK(resolvedProduct->buildData); const ArtifactSet targetArtifacts = resolvedProduct->targetArtifacts(); - foreach (Artifact * const a, - filterByType<Artifact>(resolvedProduct->buildData->nodes)) { + for (Artifact * const a : filterByType<Artifact>(resolvedProduct->buildData->nodes)) { if (a->artifactType != Artifact::Generated) continue; ArtifactData ta; @@ -802,8 +802,10 @@ void ProjectPrivate::retrieveProjectData(ProjectData &projectData, product.d->generatedArtifacts << ta; } } - foreach (const ResolvedProductPtr &resolvedDependentProduct, resolvedProduct->dependencies) + for (const ResolvedProductPtr &resolvedDependentProduct + : qAsConst(resolvedProduct->dependencies)) { product.d->dependencies << resolvedDependentProduct->name; + } qSort(product.d->type); qSort(product.d->groups); qSort(product.d->generatedArtifacts); @@ -811,7 +813,8 @@ void ProjectPrivate::retrieveProjectData(ProjectData &projectData, product.d->isValid = true; projectData.d->products << product; } - foreach (const ResolvedProjectConstPtr &internalSubProject, internalProject->subProjects) { + for (const ResolvedProjectConstPtr &internalSubProject + : qAsConst(internalProject->subProjects)) { if (!internalSubProject->enabled) continue; ProjectData subProject; diff --git a/src/lib/corelib/api/projectdata.cpp b/src/lib/corelib/api/projectdata.cpp index 6377b70ed..961ce075c 100644 --- a/src/lib/corelib/api/projectdata.cpp +++ b/src/lib/corelib/api/projectdata.cpp @@ -44,6 +44,7 @@ #include <tools/fileinfo.h> #include <tools/jsliterals.h> #include <tools/qbsassert.h> +#include <tools/qttools.h> #include <QtCore/qdir.h> @@ -516,13 +517,13 @@ QList<ArtifactData> ProductData::targetArtifacts() const QList<ArtifactData> ProductData::installableArtifacts() const { QList<ArtifactData> artifacts; - foreach (const GroupData &g, groups()) { - foreach (const ArtifactData &a, g.allSourceArtifacts()) { + for (const GroupData &g : groups()) { + for (const ArtifactData &a : g.allSourceArtifacts()) { if (a.installData().isInstallable()) artifacts << a; } } - foreach (const ArtifactData &a, targetArtifacts()) { + for (const ArtifactData &a : targetArtifacts()) { if (a.installData().isInstallable()) artifacts << a; } @@ -536,7 +537,7 @@ QList<ArtifactData> ProductData::installableArtifacts() const QString ProductData::targetExecutable() const { QBS_ASSERT(isValid(), return QString()); - foreach (const ArtifactData &ta, targetArtifacts()) { + for (const ArtifactData &ta : targetArtifacts()) { if (ta.isExecutable()) { if (ta.installData().isInstallable()) return ta.installData().localInstallFilePath(); @@ -717,7 +718,7 @@ QList<ProjectData> ProjectData::subProjects() const QList<ProductData> ProjectData::allProducts() const { QList<ProductData> productList = products(); - foreach (const ProjectData &pd, subProjects()) + for (const ProjectData &pd : subProjects()) productList << pd.allProducts(); return productList; } @@ -728,7 +729,7 @@ QList<ProductData> ProjectData::allProducts() const QList<ArtifactData> ProjectData::installableArtifacts() const { QList<ArtifactData> artifacts; - foreach (const ProductData &p, allProducts()) + for (const ProductData &p : allProducts()) artifacts << p.installableArtifacts(); return artifacts; } @@ -819,7 +820,7 @@ QStringList PropertyMap::getModulePropertiesAsStringList(const QString &moduleNa { const QVariantList &vl = d->m_map->moduleProperty(moduleName, propertyName).toList(); QStringList sl; - foreach (const QVariant &v, vl) { + for (const QVariant &v : vl) { QBS_ASSERT(v.canConvert<QString>(), continue); sl << v.toString(); } @@ -840,7 +841,7 @@ static QString mapToString(const QVariantMap &map, const QString &prefix) QStringList keys(map.keys()); qSort(keys); QString stringRep; - foreach (const QString &key, keys) { + for (const QString &key : qAsConst(keys)) { const QVariant &val = map.value(key); if (val.type() == QVariant::Map) { stringRep += mapToString(val.value<QVariantMap>(), prefix + key + QLatin1Char('.')); diff --git a/src/lib/corelib/api/projectfileupdater.cpp b/src/lib/corelib/api/projectfileupdater.cpp index 6ac3c60dd..942ab0efa 100644 --- a/src/lib/corelib/api/projectfileupdater.cpp +++ b/src/lib/corelib/api/projectfileupdater.cpp @@ -52,6 +52,7 @@ #include <tools/hostosinfo.h> #include <tools/jsliterals.h> #include <tools/qbsassert.h> +#include <tools/qttools.h> #include <QtCore/qfile.h> @@ -178,7 +179,7 @@ void ProjectFileUpdater::apply() if (!parserMessages.isEmpty()) { ErrorInfo errorInfo; errorInfo.append(Tr::tr("Failure parsing project file.")); - foreach (const DiagnosticMessage &msg, parserMessages) + for (const DiagnosticMessage &msg : qAsConst(parserMessages)) errorInfo.append(msg.message, toCodeLocation(file.fileName(), msg.loc)); throw errorInfo; } @@ -288,7 +289,7 @@ static QString &addToFilesRepr(QString &filesRepr, const QString &fileRepr, int static QString &addToFilesRepr(QString &filesRepr, const QStringList &filePaths, int indentation) { - foreach (const QString &f, filePaths) + for (const QString &f : filePaths) addToFilesRepr(filesRepr, toJSLiteral(f), indentation); return filesRepr; } @@ -468,7 +469,7 @@ void ProjectFileFilesRemover::doApply(QString &fileContent, UiProgram *ast) .arg(filesToRemove.join(QLatin1String(", "))), bindingLocation); } QString filesString = QLatin1String("[\n"); - foreach (const QString &file, newFilesList) { + for (const QString &file : qAsConst(newFilesList)) { filesString += QString(arrayElemIndentation, QLatin1Char(' ')); filesString += QString::fromLatin1("\"%1\",\n").arg(file); } diff --git a/src/lib/corelib/api/runenvironment.cpp b/src/lib/corelib/api/runenvironment.cpp index 0be54558e..02985bc16 100644 --- a/src/lib/corelib/api/runenvironment.cpp +++ b/src/lib/corelib/api/runenvironment.cpp @@ -155,7 +155,7 @@ int RunEnvironment::doRunShell() #if defined(Q_OS_LINUX) clearenv(); #endif - foreach (const QString &key, environment.keys()) + for (const QString &key : environment.keys()) qputenv(key.toLocal8Bit().constData(), environment.value(key).toLocal8Bit()); QString command; QScopedPointer<QTemporaryFile> envFile; @@ -197,9 +197,9 @@ static QString findExecutable(const QStringList &fileNames) const QStringList path = QString::fromLocal8Bit(qgetenv("PATH")) .split(HostOsInfo::pathListSeparator(), QString::SkipEmptyParts); - foreach (const QString &fileName, fileNames) { + for (const QString &fileName : fileNames) { const QString exeFileName = HostOsInfo::appendExecutableSuffix(fileName); - foreach (const QString &ppath, path) { + for (const QString &ppath : path) { const QString fullPath = ppath + QLatin1Char('/') + exeFileName; QFileInfo fi(fullPath); if (fi.exists() && fi.isFile() && fi.isExecutable()) |