aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorIvan Komissarov <ABBAPOH@gmail.com>2019-02-19 23:13:54 +0100
committerIvan Komissarov <ABBAPOH@gmail.com>2019-03-06 18:13:43 +0000
commitf3056e49c3b2443c5dd9abf78c46381fdbbbd731 (patch)
treed435db1321f25287eda1481ba16b9d3cfab4b40a /src/lib
parent967d67664b53169bf958dc1ea61ab014d16c56e6 (diff)
Fix calls to non-const begin()/end() in range-for loops
This fixes -Wclazy-range-loop Change-Id: I08a435b700017cdbe27fbfdbda6e26840d9a3568 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/corelib/api/internaljobs.cpp3
-rw-r--r--src/lib/corelib/api/project.cpp21
-rw-r--r--src/lib/corelib/api/projectdata.cpp18
-rw-r--r--src/lib/corelib/api/runenvironment.cpp6
-rw-r--r--src/lib/corelib/buildgraph/cycledetector.cpp3
-rw-r--r--src/lib/corelib/buildgraph/executor.cpp19
-rw-r--r--src/lib/corelib/buildgraph/inputartifactscanner.cpp7
-rw-r--r--src/lib/corelib/buildgraph/processcommandexecutor.cpp6
-rw-r--r--src/lib/corelib/buildgraph/rulesapplicator.cpp8
-rw-r--r--src/lib/corelib/buildgraph/transformer.cpp3
-rw-r--r--src/lib/corelib/buildgraph/transformerchangetracking.cpp3
-rw-r--r--src/lib/corelib/generators/generator.cpp2
-rw-r--r--src/lib/corelib/jsextensions/environmentextension.cpp3
-rw-r--r--src/lib/corelib/language/astimportshandler.cpp6
-rw-r--r--src/lib/corelib/language/builtindeclarations.cpp3
-rw-r--r--src/lib/corelib/language/item.cpp3
-rw-r--r--src/lib/corelib/language/moduleloader.cpp13
-rw-r--r--src/lib/corelib/language/projectresolver.cpp8
-rw-r--r--src/lib/corelib/logging/logger.cpp3
-rw-r--r--src/lib/corelib/tools/applecodesignutils.cpp6
-rw-r--r--src/lib/corelib/tools/fileinfo.cpp5
-rw-r--r--src/lib/corelib/tools/jsliterals.cpp3
-rw-r--r--src/lib/corelib/tools/msvcinfo.cpp6
-rw-r--r--src/lib/corelib/tools/preferences.cpp6
-rw-r--r--src/lib/corelib/tools/settingscreator.cpp3
-rw-r--r--src/lib/corelib/tools/settingsmodel.cpp6
-rw-r--r--src/lib/corelib/tools/vsenvironmentdetector.cpp12
27 files changed, 118 insertions, 67 deletions
diff --git a/src/lib/corelib/api/internaljobs.cpp b/src/lib/corelib/api/internaljobs.cpp
index 4d06821fd..32f288659 100644
--- a/src/lib/corelib/api/internaljobs.cpp
+++ b/src/lib/corelib/api/internaljobs.cpp
@@ -162,7 +162,8 @@ void InternalJob::storeBuildGraph(const TopLevelProjectPtr &project)
project->store(logger());
} catch (const ErrorInfo &error) {
ErrorInfo fullError = this->error();
- for (const ErrorItem &item : error.items())
+ const auto items = error.items();
+ for (const ErrorItem &item : items)
fullError.append(item);
setError(fullError);
}
diff --git a/src/lib/corelib/api/project.cpp b/src/lib/corelib/api/project.cpp
index abb053991..f7c57611d 100644
--- a/src/lib/corelib/api/project.cpp
+++ b/src/lib/corelib/api/project.cpp
@@ -233,7 +233,8 @@ ResolvedProductPtr ProjectPrivate::internalProduct(const ProductData &product) c
ProductData ProjectPrivate::findProductData(const ProductData &product) const
{
- for (const ProductData &p : m_projectData.allProducts()) {
+ const auto products = m_projectData.allProducts();
+ for (const ProductData &p : products) {
if (p.name() == product.name()
&& p.profile() == product.profile()
&& p.multiplexConfigurationId() == product.multiplexConfigurationId()) {
@@ -246,7 +247,8 @@ ProductData ProjectPrivate::findProductData(const ProductData &product) const
QList<ProductData> ProjectPrivate::findProductsByName(const QString &name) const
{
QList<ProductData> list;
- for (const ProductData &p : m_projectData.allProducts()) {
+ const auto products = m_projectData.allProducts();
+ for (const ProductData &p : products) {
if (p.name() == name)
list.push_back(p);
}
@@ -255,7 +257,8 @@ QList<ProductData> ProjectPrivate::findProductsByName(const QString &name) const
GroupData ProjectPrivate::findGroupData(const ProductData &product, const QString &groupName) const
{
- for (const GroupData &g : product.groups()) {
+ const auto groups = product.groups();
+ for (const GroupData &g : groups) {
if (g.name() == groupName)
return g;
}
@@ -704,11 +707,14 @@ void ProjectPrivate::updateExternalCodeLocations(const ProjectData &project,
if (lineOffset == 0)
return;
updateLocationIfNecessary(project.d->location, changeLocation, lineOffset);
- for (const ProjectData &subProject : project.subProjects())
+ const auto subProjects = project.subProjects();
+ for (const ProjectData &subProject : subProjects)
updateExternalCodeLocations(subProject, changeLocation, lineOffset);
- for (const ProductData &product : project.products()) {
+ const auto products = project.products();
+ for (const ProductData &product : products) {
updateLocationIfNecessary(product.d->location, changeLocation, lineOffset);
- for (const GroupData &group : product.groups())
+ const auto groups = product.groups();
+ for (const GroupData &group : groups)
updateLocationIfNecessary(group.d->location, changeLocation, lineOffset);
}
}
@@ -784,7 +790,8 @@ ProjectTransformerData ProjectPrivate::transformerData()
if (!m_projectData.isValid())
retrieveProjectData(m_projectData, internalProject);
ProjectTransformerData projectTransformerData;
- for (const ProductData &productData : m_projectData.allProducts()) {
+ const auto allProducts = m_projectData.allProducts();
+ for (const ProductData &productData : allProducts) {
if (!productData.isEnabled())
continue;
const ResolvedProductConstPtr product = internalProduct(productData);
diff --git a/src/lib/corelib/api/projectdata.cpp b/src/lib/corelib/api/projectdata.cpp
index a3e6eac25..3220b0e37 100644
--- a/src/lib/corelib/api/projectdata.cpp
+++ b/src/lib/corelib/api/projectdata.cpp
@@ -538,13 +538,14 @@ QList<ArtifactData> ProductData::targetArtifacts() const
QList<ArtifactData> ProductData::installableArtifacts() const
{
QList<ArtifactData> artifacts;
- for (const GroupData &g : groups()) {
- for (const ArtifactData &a : g.allSourceArtifacts()) {
+ for (const GroupData &g : qAsConst(d->groups)) {
+ const auto sourceArtifacts = g.allSourceArtifacts();
+ for (const ArtifactData &a : sourceArtifacts) {
if (a.installData().isInstallable())
artifacts << a;
}
}
- for (const ArtifactData &a : generatedArtifacts()) {
+ for (const ArtifactData &a : qAsConst(d->generatedArtifacts)) {
if (a.installData().isInstallable())
artifacts << a;
}
@@ -560,7 +561,8 @@ QString ProductData::targetExecutable() const
QBS_ASSERT(isValid(), return {});
if (d->moduleProperties.getModuleProperty(QStringLiteral("bundle"),
QStringLiteral("isBundle")).toBool()) {
- for (const ArtifactData &ta : targetArtifacts()) {
+ const auto artifacts = targetArtifacts();
+ for (const ArtifactData &ta : artifacts) {
if (ta.fileTags().contains(QLatin1String("bundle.application-executable"))) {
if (ta.installData().isInstallable())
return ta.installData().localInstallFilePath();
@@ -568,7 +570,8 @@ QString ProductData::targetExecutable() const
}
}
}
- for (const ArtifactData &ta : targetArtifacts()) {
+ const auto artifacts = targetArtifacts();
+ for (const ArtifactData &ta : artifacts) {
if (ta.isExecutable()) {
if (ta.installData().isInstallable())
return ta.installData().localInstallFilePath();
@@ -758,7 +761,7 @@ QList<ProjectData> ProjectData::subProjects() const
QList<ProductData> ProjectData::allProducts() const
{
QList<ProductData> productList = products();
- for (const ProjectData &pd : subProjects())
+ for (const ProjectData &pd : qAsConst(d->subProjects))
productList << pd.allProducts();
return productList;
}
@@ -769,7 +772,8 @@ QList<ProductData> ProjectData::allProducts() const
QList<ArtifactData> ProjectData::installableArtifacts() const
{
QList<ArtifactData> artifacts;
- for (const ProductData &p : allProducts())
+ const auto products = allProducts();
+ for (const ProductData &p : products)
artifacts << p.installableArtifacts();
return artifacts;
}
diff --git a/src/lib/corelib/api/runenvironment.cpp b/src/lib/corelib/api/runenvironment.cpp
index 989918207..f65cc6e3a 100644
--- a/src/lib/corelib/api/runenvironment.cpp
+++ b/src/lib/corelib/api/runenvironment.cpp
@@ -184,7 +184,8 @@ int RunEnvironment::doRunShell()
#if defined(Q_OS_LINUX)
clearenv();
#endif
- for (const QString &key : environment.keys())
+ const auto keys = environment.keys();
+ for (const QString &key : keys)
qputenv(key.toLocal8Bit().constData(), environment.value(key).toLocal8Bit());
QString command;
if (HostOsInfo::isWindowsHost()) {
@@ -260,7 +261,8 @@ static QString findMainIntent(const QString &aapt, const QString &apkFilePath)
<< QStringLiteral("badging")
<< apkFilePath);
if (aaptProcess.waitForFinished(-1)) {
- for (auto line : aaptProcess.readAllStandardOutput().split('\n')) {
+ const auto lines = aaptProcess.readAllStandardOutput().split('\n');
+ for (const auto &line : lines) {
if (line.startsWith(QByteArrayLiteral("package:")))
packageId = QString::fromStdString(readAaptBadgingAttribute(line.toStdString()));
else if (line.startsWith(QByteArrayLiteral("launchable-activity:")))
diff --git a/src/lib/corelib/buildgraph/cycledetector.cpp b/src/lib/corelib/buildgraph/cycledetector.cpp
index 95afba87d..a008cc096 100644
--- a/src/lib/corelib/buildgraph/cycledetector.cpp
+++ b/src/lib/corelib/buildgraph/cycledetector.cpp
@@ -80,7 +80,8 @@ bool CycleDetector::visitNode(BuildGraphNode *node)
{
if (Q_UNLIKELY(m_nodesInCurrentPath.contains(node))) {
ErrorInfo error(Tr::tr("Cycle in build graph detected."));
- for (const BuildGraphNode * const n : cycle(node))
+ const auto nodes = cycle(node);
+ for (const BuildGraphNode * const n : nodes)
error.append(n->toString());
throw error;
}
diff --git a/src/lib/corelib/buildgraph/executor.cpp b/src/lib/corelib/buildgraph/executor.cpp
index 8f71e1ea3..444ab568f 100644
--- a/src/lib/corelib/buildgraph/executor.cpp
+++ b/src/lib/corelib/buildgraph/executor.cpp
@@ -105,7 +105,8 @@ Executor::~Executor()
// jobs must be destroyed before deleting the shared scan result cache
for (ExecutorJob *job : qAsConst(m_availableJobs))
delete job;
- for (ExecutorJob *job : m_processingJobs.keys())
+ const auto processingJobs = m_processingJobs.keys();
+ for (ExecutorJob *job : processingJobs)
delete job;
delete m_inputArtifactScanContext;
delete m_productInstaller;
@@ -412,7 +413,8 @@ bool Executor::schedulingBlockedByJobLimit(const BuildGraphNode *node)
// running transformers.
if (jobLimitIsExceeded(transformer))
return true;
- for (const ExecutorJob * const runningJob : m_processingJobs.keys()) {
+ const auto runningJobs = m_processingJobs.keys();
+ for (const ExecutorJob * const runningJob : runningJobs) {
if (!runningJob->jobPools().contains(jobPool))
continue;
const Transformer * const runningTransformer = runningJob->transformer();
@@ -684,7 +686,8 @@ bool Executor::transformerHasMatchingInputFiles(const TransformerConstPtr &trans
if (transformer->inputs.empty())
return true;
for (const Artifact * const input : qAsConst(transformer->inputs)) {
- for (const QString &filePath : m_buildOptions.filesToConsider()) {
+ const auto files = m_buildOptions.filesToConsider();
+ for (const QString &filePath : files) {
if (input->filePath() == filePath
|| input->fileTags().intersects(m_tagsNeededForFilesToConsider)) {
return true;
@@ -725,7 +728,8 @@ void Executor::cancelJobs()
return;
qCDebug(lcExec) << "Canceling all jobs.";
setState(ExecutorCanceling);
- for (ExecutorJob *job : m_processingJobs.keys())
+ const auto jobs = m_processingJobs.keys();
+ for (ExecutorJob *job : jobs)
job->cancel();
}
@@ -734,7 +738,7 @@ void Executor::setupProgressObserver()
if (!m_progressObserver)
return;
int totalEffort = 1; // For the effort after the last rule application;
- for (const ResolvedProductConstPtr &product : m_productsToBuild) {
+ for (const ResolvedProductConstPtr &product : qAsConst(m_productsToBuild)) {
QBS_CHECK(product->buildData);
const auto filtered = filterByType<RuleNode>(product->buildData->allNodes());
totalEffort += std::distance(filtered.begin(), filtered.end());
@@ -746,7 +750,7 @@ void Executor::doSanityChecks()
{
QBS_CHECK(m_project);
QBS_CHECK(!m_productsToBuild.empty());
- for (const ResolvedProductConstPtr &product : m_productsToBuild) {
+ for (const ResolvedProductConstPtr &product : qAsConst(m_productsToBuild)) {
QBS_CHECK(product->buildData);
QBS_CHECK(product->topLevelProject() == m_project.get());
}
@@ -754,7 +758,8 @@ void Executor::doSanityChecks()
void Executor::handleError(const ErrorInfo &error)
{
- for (const ErrorItem &ei : error.items())
+ const auto items = error.items();
+ for (const ErrorItem &ei : items)
m_error.append(ei);
if (m_processingJobs.empty())
finish();
diff --git a/src/lib/corelib/buildgraph/inputartifactscanner.cpp b/src/lib/corelib/buildgraph/inputartifactscanner.cpp
index 68f3b744b..48722186d 100644
--- a/src/lib/corelib/buildgraph/inputartifactscanner.cpp
+++ b/src/lib/corelib/buildgraph/inputartifactscanner.cpp
@@ -77,8 +77,9 @@ static void resolveDepencency(const RawScannedDependency &dependency,
FileDependency *fileDependencyArtifact = nullptr;
Artifact *dependencyInProduct = nullptr;
Artifact *dependencyInOtherProduct = nullptr;
- for (FileResourceBase *lookupResult : project->topLevelProject()
- ->buildData->lookupFiles(absDirPath, dependency.fileName())) {
+ const auto files = project->topLevelProject()
+ ->buildData->lookupFiles(absDirPath, dependency.fileName());
+ for (FileResourceBase *lookupResult : files) {
switch (lookupResult->fileType()) {
case FileResourceBase::FileTypeDependency:
fileDependencyArtifact = static_cast<FileDependency *>(lookupResult);
@@ -274,7 +275,7 @@ void InputArtifactScanner::resolveScanResultDependencies(const Artifact *inputAr
}
// try include paths
- for (const QString &includePath : cache.searchPaths) {
+ for (const QString &includePath : qAsConst(cache.searchPaths)) {
resolveDepencency(dependency, inputArtifact->product.get(),
&resolvedDependency, includePath);
if (resolvedDependency.isValid())
diff --git a/src/lib/corelib/buildgraph/processcommandexecutor.cpp b/src/lib/corelib/buildgraph/processcommandexecutor.cpp
index 0818e1200..c34a734b4 100644
--- a/src/lib/corelib/buildgraph/processcommandexecutor.cpp
+++ b/src/lib/corelib/buildgraph/processcommandexecutor.cpp
@@ -89,7 +89,8 @@ static QProcessEnvironment mergeEnvironments(const QProcessEnvironment &baseEnv,
QStringLiteral("DYLD_LIBRARY_PATH"),
QStringLiteral("DYLD_FRAMEWORK_PATH"),
};
- for (const QString &key : additionalEnv.keys()) {
+ const auto keys = additionalEnv.keys();
+ for (const QString &key : keys) {
QString newValue = additionalEnv.value(key);
if (pathListVariables.contains(key, HostOsInfo::fileNameCaseSensitivity())) {
const QString &oldValue = baseEnv.value(key);
@@ -108,7 +109,8 @@ void ProcessCommandExecutor::doSetup()
transformer()->product()->buildEnvironment)
.findExecutable(cmd->program(), cmd->workingDir());
cmd->clearRelevantEnvValues();
- for (const QString &key : cmd->relevantEnvVars())
+ const auto keys = cmd->relevantEnvVars();
+ for (const QString &key : keys)
cmd->addRelevantEnvValue(key, transformer()->product()->buildEnvironment.value(key));
m_commandEnvironment = mergeEnvironments(m_buildEnvironment, cmd->environment());
diff --git a/src/lib/corelib/buildgraph/rulesapplicator.cpp b/src/lib/corelib/buildgraph/rulesapplicator.cpp
index 7ff64a9ef..1bc0cdedb 100644
--- a/src/lib/corelib/buildgraph/rulesapplicator.cpp
+++ b/src/lib/corelib/buildgraph/rulesapplicator.cpp
@@ -308,7 +308,7 @@ void RulesApplicator::doApply(const ArtifactSet &inputArtifacts, QScriptValue &p
|| m_oldTransformer->commands != m_transformer->commands
|| commandsNeedRerun(m_transformer.get(), m_product.get(), m_productsByName,
m_projectsByName)) {
- for (Artifact * const output : outputArtifacts) {
+ for (Artifact * const output : qAsConst(outputArtifacts)) {
output->clearTimestamp();
m_invalidatedArtifacts += output;
}
@@ -558,9 +558,9 @@ class ArtifactBindingsExtractor
static Set<QString> getArtifactItemPropertyNames()
{
Set<QString> s;
- for (const PropertyDeclaration &pd :
- BuiltinDeclarations::instance().declarationsForType(
- ItemType::Artifact).properties()) {
+ const auto properties = BuiltinDeclarations::instance().declarationsForType(
+ ItemType::Artifact).properties();
+ for (const PropertyDeclaration &pd : properties) {
s.insert(pd.name());
}
s.insert(StringConstants::explicitlyDependsOnProperty());
diff --git a/src/lib/corelib/buildgraph/transformer.cpp b/src/lib/corelib/buildgraph/transformer.cpp
index cf632463d..0a4fa17f9 100644
--- a/src/lib/corelib/buildgraph/transformer.cpp
+++ b/src/lib/corelib/buildgraph/transformer.cpp
@@ -242,7 +242,8 @@ AbstractCommandPtr Transformer::createCommandFromScriptValue(const QScriptValue
if (className == StringConstants::commandType()) {
auto procCmd = static_cast<ProcessCommand *>(cmdBase.get());
procCmd->clearRelevantEnvValues();
- for (const QString &key : procCmd->relevantEnvVars())
+ const auto envVars = procCmd->relevantEnvVars();
+ for (const QString &key : envVars)
procCmd->addRelevantEnvValue(key, product()->buildEnvironment.value(key));
}
return cmdBase;
diff --git a/src/lib/corelib/buildgraph/transformerchangetracking.cpp b/src/lib/corelib/buildgraph/transformerchangetracking.cpp
index 08875b742..4ee4394fd 100644
--- a/src/lib/corelib/buildgraph/transformerchangetracking.cpp
+++ b/src/lib/corelib/buildgraph/transformerchangetracking.cpp
@@ -338,7 +338,8 @@ bool TrafoChangeTracker::commandsNeedRerun() const
if (c->type() != AbstractCommand::ProcessCommandType)
continue;
const ProcessCommandPtr &processCmd = std::static_pointer_cast<ProcessCommand>(c);
- for (const QString &var : processCmd->relevantEnvVars()) {
+ const auto envVars = processCmd->relevantEnvVars();
+ for (const QString &var : envVars) {
const QString &oldValue = processCmd->relevantEnvValue(var);
const QString &newValue = m_product->buildEnvironment.value(var);
if (oldValue != newValue) {
diff --git a/src/lib/corelib/generators/generator.cpp b/src/lib/corelib/generators/generator.cpp
index 24da95e41..90bebdcaa 100644
--- a/src/lib/corelib/generators/generator.cpp
+++ b/src/lib/corelib/generators/generator.cpp
@@ -213,7 +213,7 @@ const GeneratableProject ProjectGenerator::project() const
{
QMap<QString, ProjectData> rootProjects;
GeneratableProject proj;
- for (const auto &project : projects()) {
+ for (const auto &project : qAsConst(d->projects)) {
const QString configurationName = _configurationName(project);
rootProjects.insert(configurationName, project.projectData());
proj.projects.insert(configurationName, project);
diff --git a/src/lib/corelib/jsextensions/environmentextension.cpp b/src/lib/corelib/jsextensions/environmentextension.cpp
index 22c4f069b..cf17c938b 100644
--- a/src/lib/corelib/jsextensions/environmentextension.cpp
+++ b/src/lib/corelib/jsextensions/environmentextension.cpp
@@ -127,7 +127,8 @@ QScriptValue EnvironmentExtension::js_currentEnv(QScriptContext *context, QScrip
if (!procenv)
procenv = &env;
QScriptValue envObject = engine->newObject();
- for (const QString &key : procenv->keys()) {
+ const auto keys = procenv->keys();
+ for (const QString &key : keys) {
const QString keyName = HostOsInfo::isWindowsHost() ? key.toUpper() : key;
envObject.setProperty(keyName, QScriptValue(procenv->value(key)));
}
diff --git a/src/lib/corelib/language/astimportshandler.cpp b/src/lib/corelib/language/astimportshandler.cpp
index 960af4cda..d634af7e4 100644
--- a/src/lib/corelib/language/astimportshandler.cpp
+++ b/src/lib/corelib/language/astimportshandler.cpp
@@ -69,7 +69,8 @@ ASTImportsHandler::ASTImportsHandler(ItemReaderVisitorState &visitorState, Logge
void ASTImportsHandler::handleImports(const QbsQmlJS::AST::UiImportList *uiImportList)
{
- for (const QString &searchPath : m_file->searchPaths())
+ const auto searchPaths = m_file->searchPaths();
+ for (const QString &searchPath : searchPaths)
collectPrototypes(searchPath + QStringLiteral("/imports"), QString());
// files in the same directory are available as prototypes
@@ -191,7 +192,8 @@ void ASTImportsHandler::handleImport(const QbsQmlJS::AST::UiImport *import, bool
? QStringLiteral("qbs/base") : importUri.join(QDir::separator());
bool found = m_typeNameToFile.contains(importUri);
if (!found) {
- for (const QString &searchPath : m_file->searchPaths()) {
+ const auto searchPaths = m_file->searchPaths();
+ for (const QString &searchPath : searchPaths) {
const QFileInfo fi(FileInfo::resolvePath(
FileInfo::resolvePath(searchPath,
StringConstants::importsDir()),
diff --git a/src/lib/corelib/language/builtindeclarations.cpp b/src/lib/corelib/language/builtindeclarations.cpp
index ee1b2d56e..68355df51 100644
--- a/src/lib/corelib/language/builtindeclarations.cpp
+++ b/src/lib/corelib/language/builtindeclarations.cpp
@@ -150,7 +150,8 @@ QStringList BuiltinDeclarations::argumentNamesForScriptFunction(ItemType itemTyp
const QString &scriptName) const
{
const ItemDeclaration itemDecl = declarationsForType(itemType);
- for (const PropertyDeclaration &propDecl : itemDecl.properties()) {
+ const auto properties = itemDecl.properties();
+ for (const PropertyDeclaration &propDecl : properties) {
if (propDecl.name() == scriptName)
return propDecl.functionArgumentNames();
}
diff --git a/src/lib/corelib/language/item.cpp b/src/lib/corelib/language/item.cpp
index 39dc39370..9f754bdd7 100644
--- a/src/lib/corelib/language/item.cpp
+++ b/src/lib/corelib/language/item.cpp
@@ -249,7 +249,8 @@ bool Item::isPresentModule() const
void Item::setupForBuiltinType(Logger &logger)
{
const BuiltinDeclarations &builtins = BuiltinDeclarations::instance();
- for (const PropertyDeclaration &pd : builtins.declarationsForType(type()).properties()) {
+ const auto properties = builtins.declarationsForType(type()).properties();
+ for (const PropertyDeclaration &pd : properties) {
m_propertyDeclarations.insert(pd.name(), pd);
const ValuePtr value = m_properties.value(pd.name());
if (!value) {
diff --git a/src/lib/corelib/language/moduleloader.cpp b/src/lib/corelib/language/moduleloader.cpp
index d7fb9b75d..f8206031b 100644
--- a/src/lib/corelib/language/moduleloader.cpp
+++ b/src/lib/corelib/language/moduleloader.cpp
@@ -294,7 +294,8 @@ ModuleLoaderResult ModuleLoader::load(const SetupProjectParameters &parameters)
m_probesEncountered = m_probesRun = m_probesCachedCurrent = m_probesCachedOld = 0;
m_settings.reset(new Settings(parameters.settingsDirectory()));
- for (const QString &key : m_parameters.overriddenValues().keys()) {
+ const auto keys = m_parameters.overriddenValues().keys();
+ for (const QString &key : keys) {
static const QStringList prefixes({ StringConstants::projectPrefix(),
QStringLiteral("projects"),
QStringLiteral("products"), QStringLiteral("modules"),
@@ -695,7 +696,7 @@ void ModuleLoader::handleProject(ModuleLoaderResult *loadResult,
if (child->type() == ItemType::Product)
multiplexedProducts << multiplexProductItem(&dummyProductContext, child);
}
- for (Item * const additionalProductItem : multiplexedProducts)
+ for (Item * const additionalProductItem : qAsConst(multiplexedProducts))
Item::addChild(projectItem, additionalProductItem);
resolveProbes(&dummyProductContext, projectItem);
@@ -2653,7 +2654,7 @@ void ModuleLoader::resolveDependsItem(DependsContext *dependsContext, Item *pare
profiles.push_back(QString());
}
for (const QString &profile : qAsConst(profiles)) {
- for (const QString &multiplexId : multiplexConfigurationIds) {
+ for (const QString &multiplexId : qAsConst(multiplexConfigurationIds)) {
ModuleLoaderResult::ProductInfo::Dependency dependency;
dependency.name = moduleName.toString();
dependency.profile = profile;
@@ -3405,7 +3406,8 @@ void ModuleLoader::instantiateModule(ProductContext *productContext, Item *expor
// create ids from from the prototype in the instance
if (modulePrototype->file()->idScope()) {
- for (Item * const itemWithId : collectItemsWithId(modulePrototype)) {
+ const auto items = collectItemsWithId(modulePrototype);
+ for (Item * const itemWithId : items) {
Item *idProto = itemWithId;
Item *idInstance = prototypeInstanceMap.value(idProto);
QBS_ASSERT(idInstance, continue);
@@ -4044,7 +4046,8 @@ void ModuleLoader::handleProductError(const ErrorInfo &error,
}
}
}
- for (const ErrorItem &ei : error.items())
+ const auto errorItems = error.items();
+ for (const ErrorItem &ei : errorItems)
productContext->info.delayedError.append(ei.description(), ei.codeLocation());
productContext->project->result->productInfos.insert(productContext->item,
productContext->info);
diff --git a/src/lib/corelib/language/projectresolver.cpp b/src/lib/corelib/language/projectresolver.cpp
index 0bbf8d37a..4e073a36a 100644
--- a/src/lib/corelib/language/projectresolver.cpp
+++ b/src/lib/corelib/language/projectresolver.cpp
@@ -826,7 +826,7 @@ void ProjectResolver::resolveGroupFully(Item *item, ProjectResolver::ProjectCont
&m_productContext->sourceArtifactLocations, &fileError);
}
- for (const QString &fileName : files) {
+ for (const QString &fileName : qAsConst(files)) {
createSourceArtifact(m_productContext->product, fileName, group, false, filesLocation,
&m_productContext->sourceArtifactLocations, &fileError);
}
@@ -1022,7 +1022,8 @@ void ProjectResolver::setupExportedProperties(const Item *item, const QString &n
const ItemDeclaration itemDecl
= BuiltinDeclarations::instance().declarationsForType(item->type());
PropertyDeclaration propertyDecl;
- for (const PropertyDeclaration &decl : itemDecl.properties()) {
+ const auto itemProperties = itemDecl.properties();
+ for (const PropertyDeclaration &decl : itemProperties) {
if (decl.name() == it.key()) {
propertyDecl = decl;
exportedProperty.isBuiltin = true;
@@ -1109,7 +1110,8 @@ void ProjectResolver::resolveExport(Item *exportItem, ProjectContext *)
exportItem->file()->content());
}
}
- for (const QString &builtinImport: JsExtensions::extensionNames()) {
+ const auto builtInImports = JsExtensions::extensionNames();
+ for (const QString &builtinImport: builtInImports) {
if (usesImport(exportedModule, builtinImport))
exportedModule.importStatements << QStringLiteral("import qbs.") + builtinImport;
}
diff --git a/src/lib/corelib/logging/logger.cpp b/src/lib/corelib/logging/logger.cpp
index c3b11094d..71ca6a96c 100644
--- a/src/lib/corelib/logging/logger.cpp
+++ b/src/lib/corelib/logging/logger.cpp
@@ -165,7 +165,8 @@ LogWriter operator<<(LogWriter w, const QVariant &variant)
QString str = QLatin1String(variant.typeName()) + QLatin1Char('(');
if (variant.type() == QVariant::List) {
bool firstLoop = true;
- for (const QVariant &item : variant.toList()) {
+ const auto list = variant.toList();
+ for (const QVariant &item : list) {
str += item.toString();
if (firstLoop)
firstLoop = false;
diff --git a/src/lib/corelib/tools/applecodesignutils.cpp b/src/lib/corelib/tools/applecodesignutils.cpp
index 67c4f5238..feae266bf 100644
--- a/src/lib/corelib/tools/applecodesignutils.cpp
+++ b/src/lib/corelib/tools/applecodesignutils.cpp
@@ -80,7 +80,8 @@ QVariantMap certificateInfo(const QByteArray &data)
// Also potentially useful, but these are for signing pkgs which aren't used here
// 1.2.840.113635.100.4.9 - 3rd Party Mac Developer Installer: <name>
// 1.2.840.113635.100.4.13 - Developer ID Installer: <name>
- for (const auto &extension : cert.extensions()) {
+ const auto extensions = cert.extensions();
+ for (const auto &extension : extensions) {
if (extension.name() == QStringLiteral("extendedKeyUsage")) {
if (!extension.value().toStringList().contains(QStringLiteral("Code Signing")))
return {};
@@ -89,7 +90,8 @@ QVariantMap certificateInfo(const QByteArray &data)
const auto subjectInfo = [](const QSslCertificate &cert) {
QVariantMap map;
- for (const auto &attr : cert.subjectInfoAttributes())
+ const auto attributes = cert.subjectInfoAttributes();
+ for (const auto &attr : attributes)
map.insert(QString::fromUtf8(attr), cert.subjectInfo(attr).front());
return map;
};
diff --git a/src/lib/corelib/tools/fileinfo.cpp b/src/lib/corelib/tools/fileinfo.cpp
index cec6b2660..8b0eedc27 100644
--- a/src/lib/corelib/tools/fileinfo.cpp
+++ b/src/lib/corelib/tools/fileinfo.cpp
@@ -404,8 +404,9 @@ bool removeFileRecursion(const QFileInfo &f, QString *errorMessage)
const QDir dir(f.absoluteFilePath());
// QDir::System is needed for broken symlinks.
- for (const QFileInfo &fi : dir.entryInfoList(QDir::AllEntries | QDir::NoDotAndDotDot
- | QDir::Hidden | QDir::System))
+ const auto fileInfos = dir.entryInfoList(QDir::AllEntries | QDir::NoDotAndDotDot
+ | QDir::Hidden | QDir::System);
+ for (const QFileInfo &fi : fileInfos)
removeFileRecursion(fi, errorMessage);
QDir parent = f.absoluteDir();
if (!parent.rmdir(f.fileName())) {
diff --git a/src/lib/corelib/tools/jsliterals.cpp b/src/lib/corelib/tools/jsliterals.cpp
index bf9720493..74328006c 100644
--- a/src/lib/corelib/tools/jsliterals.cpp
+++ b/src/lib/corelib/tools/jsliterals.cpp
@@ -77,7 +77,8 @@ QString toJSLiteral(const QVariant &val)
return Internal::StringConstants::undefinedValue();
if (val.type() == QVariant::List || val.type() == QVariant::StringList) {
QString res;
- for (const QVariant &child : val.toList()) {
+ const auto list = val.toList();
+ for (const QVariant &child : list) {
if (res.length()) res.append(QLatin1String(", "));
res.append(toJSLiteral(child));
}
diff --git a/src/lib/corelib/tools/msvcinfo.cpp b/src/lib/corelib/tools/msvcinfo.cpp
index f51ba8ba2..cbec7b457 100644
--- a/src/lib/corelib/tools/msvcinfo.cpp
+++ b/src/lib/corelib/tools/msvcinfo.cpp
@@ -70,7 +70,8 @@ public:
TemporaryEnvChanger(const QProcessEnvironment &envChanges) : m_locker(envMutex)
{
QProcessEnvironment currentEnv = QProcessEnvironment::systemEnvironment();
- for (const QString &key : envChanges.keys()) {
+ const auto keys = envChanges.keys();
+ for (const QString &key : keys) {
m_changesToRestore.insert(key, currentEnv.value(key));
qputenv(qPrintable(key), qPrintable(envChanges.value(key)));
}
@@ -78,7 +79,8 @@ public:
~TemporaryEnvChanger()
{
- for (const QString &key : m_changesToRestore.keys())
+ const auto keys = m_changesToRestore.keys();
+ for (const QString &key : keys)
qputenv(qPrintable(key), qPrintable(m_changesToRestore.value(key)));
}
diff --git a/src/lib/corelib/tools/preferences.cpp b/src/lib/corelib/tools/preferences.cpp
index ca3fe8378..644c2722f 100644
--- a/src/lib/corelib/tools/preferences.cpp
+++ b/src/lib/corelib/tools/preferences.cpp
@@ -131,14 +131,16 @@ JobLimits Preferences::jobLimits() const
{
const QString prefix = QStringLiteral("preferences.jobLimit");
JobLimits limits;
- for (const QString &key : m_settings->allKeysWithPrefix(prefix, Settings::allScopes())) {
+ const auto keys = m_settings->allKeysWithPrefix(prefix, Settings::allScopes());
+ for (const QString &key : keys) {
limits.setJobLimit(key, m_settings->value(prefix + QLatin1Char('.') + key,
Settings::allScopes()).toInt());
}
const QString fullPrefix = prefix + QLatin1Char('.');
if (!m_profile.isEmpty()) {
Profile p(m_profile, m_settings, m_profileContents);
- for (const QString &key : p.allKeys(Profile::KeySelectionRecursive)) {
+ const auto keys = p.allKeys(Profile::KeySelectionRecursive);
+ for (const QString &key : keys) {
if (!key.startsWith(fullPrefix))
continue;
const QString jobPool = key.mid(fullPrefix.size());
diff --git a/src/lib/corelib/tools/settingscreator.cpp b/src/lib/corelib/tools/settingscreator.cpp
index 8479a67dc..cddc3b93d 100644
--- a/src/lib/corelib/tools/settingscreator.cpp
+++ b/src/lib/corelib/tools/settingscreator.cpp
@@ -102,7 +102,8 @@ void SettingsCreator::migrate()
// that's only preferences.qbsSearchPaths as written by libqtprofilesetup, but we don't want
// to hardcode that here.
m_settings.reset(new QSettings(m_newSettingsFilePath, format()));
- for (const QString &key : m_settings->allKeys()) {
+ const auto allKeys = m_settings->allKeys();
+ for (const QString &key : allKeys) {
QVariant v = m_settings->value(key);
if (v.type() == QVariant::String) {
QString s = v.toString();
diff --git a/src/lib/corelib/tools/settingsmodel.cpp b/src/lib/corelib/tools/settingsmodel.cpp
index 4a90773eb..d67f1da5c 100644
--- a/src/lib/corelib/tools/settingsmodel.cpp
+++ b/src/lib/corelib/tools/settingsmodel.cpp
@@ -327,7 +327,8 @@ void SettingsModel::SettingsModelPrivate::readSettings()
{
qDeleteAll(rootNode.children);
rootNode.children.clear();
- for (const QString &topLevelKey : settings->directChildren(QString(), scope()))
+ const auto topLevelKeys = settings->directChildren(QString(), scope());
+ for (const QString &topLevelKey : topLevelKeys)
addNodeFromSettings(&rootNode, topLevelKey);
for (QVariantMap::ConstIterator it = additionalProperties.constBegin();
it != additionalProperties.constEnd(); ++it) {
@@ -353,7 +354,8 @@ void SettingsModel::SettingsModelPrivate::addNodeFromSettings(Node *parentNode,
= fullyQualifiedName.mid(fullyQualifiedName.lastIndexOf(QLatin1Char('.')) + 1);
Node * const node = createNode(parentNode, nodeName);
node->value = settingsValueToRepresentation(settings->value(fullyQualifiedName, scope()));
- for (const QString &childKey : settings->directChildren(fullyQualifiedName, scope()))
+ const auto childKeys = settings->directChildren(fullyQualifiedName, scope());
+ for (const QString &childKey : childKeys)
addNodeFromSettings(node, fullyQualifiedName + QLatin1Char('.') + childKey);
dirty = true;
}
diff --git a/src/lib/corelib/tools/vsenvironmentdetector.cpp b/src/lib/corelib/tools/vsenvironmentdetector.cpp
index b91a8ff74..869423950 100644
--- a/src/lib/corelib/tools/vsenvironmentdetector.cpp
+++ b/src/lib/corelib/tools/vsenvironmentdetector.cpp
@@ -201,9 +201,12 @@ static QString vcArchitecture(const MSVC *msvc)
if (msvc->architecture == StringConstants::x86_64Arch())
vcArch = StringConstants::amd64Arch();
- for (const QString &hostPrefix :
- QStringList({StringConstants::x86Arch(), QStringLiteral("amd64_"),
- QStringLiteral("x86_")})) {
+ const QString hostPrefixes[] = {
+ StringConstants::x86Arch(),
+ QStringLiteral("amd64_"),
+ QStringLiteral("x86_")
+ };
+ for (const QString &hostPrefix : hostPrefixes) {
if (QFile::exists(msvc->clPathForArchitecture(hostPrefix + vcArch))) {
vcArch.prepend(hostPrefix);
break;
@@ -237,7 +240,8 @@ void VsEnvironmentDetector::parseBatOutput(const QByteArray &output, std::vector
{
QString arch;
QProcessEnvironment *targetEnv = nullptr;
- for (QByteArray line : output.split('\n')) {
+ const auto lines = output.split('\n');
+ for (QByteArray line : lines) {
line = line.trimmed();
if (line.isEmpty())
continue;