aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2018-05-14 18:05:28 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2018-05-15 07:36:31 +0000
commit20d261df437c9c08462735909e9c62c2b7615a55 (patch)
tree07340bd9762f4180179a9075105bad0f642c50eb
parent77e4517e12539b42196d6ce953eb76c969bd398f (diff)
ModuleLoader: Move some code out of a loop
These values are the same in all iterations. Change-Id: I53f5f2bb5c76605eae089f546537c58d396787f1 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
-rw-r--r--src/lib/corelib/language/moduleloader.cpp31
1 files changed, 16 insertions, 15 deletions
diff --git a/src/lib/corelib/language/moduleloader.cpp b/src/lib/corelib/language/moduleloader.cpp
index 5f455f3be..3810a824a 100644
--- a/src/lib/corelib/language/moduleloader.cpp
+++ b/src/lib/corelib/language/moduleloader.cpp
@@ -2439,17 +2439,23 @@ void ModuleLoader::resolveDependsItem(DependsContext *dependsContext, Item *pare
m_productsWithDeferredDependsItems.insert(dependsContext->product);
return;
}
- for (const QualifiedId &moduleName : qAsConst(moduleNames)) {
- const bool isRequired = !productTypesIsSet
- && m_evaluator->boolValue(dependsItem, StringConstants::requiredProperty())
- && !contains(m_requiredChain, false);
- const Version minVersion = Version::fromString(
- m_evaluator->stringValue(dependsItem,
- StringConstants::versionAtLeastProperty()));
- const Version maxVersion = Version::fromString(
- m_evaluator->stringValue(dependsItem, StringConstants::versionBelowProperty()));
- const VersionRange versionRange(minVersion, maxVersion);
+ const bool isRequired = !productTypesIsSet
+ && m_evaluator->boolValue(dependsItem, StringConstants::requiredProperty())
+ && !contains(m_requiredChain, false);
+ const Version minVersion = Version::fromString(
+ m_evaluator->stringValue(dependsItem,
+ StringConstants::versionAtLeastProperty()));
+ const Version maxVersion = Version::fromString(
+ m_evaluator->stringValue(dependsItem, StringConstants::versionBelowProperty()));
+ const VersionRange versionRange(minVersion, maxVersion);
+ QStringList multiplexConfigurationIds = m_evaluator->stringListValue(
+ dependsItem,
+ StringConstants::multiplexConfigurationIdsProperty());
+ if (multiplexConfigurationIds.empty())
+ multiplexConfigurationIds << QString();
+
+ for (const QualifiedId &moduleName : qAsConst(moduleNames)) {
// Don't load the same module twice. Duplicate Depends statements can easily
// happen due to inheritance.
const auto it = std::find_if(moduleResults->begin(), moduleResults->end(),
@@ -2462,11 +2468,6 @@ void ModuleLoader::resolveDependsItem(DependsContext *dependsContext, Item *pare
}
QVariantMap defaultParameters;
- QStringList multiplexConfigurationIds = m_evaluator->stringListValue(
- dependsItem,
- StringConstants::multiplexConfigurationIdsProperty());
- if (multiplexConfigurationIds.empty())
- multiplexConfigurationIds << QString();
Item *moduleItem = loadModule(dependsContext->product, dependsContext->exportingProductItem,
parentItem, dependsItem->location(), dependsItem->id(),
moduleName, multiplexConfigurationIds.first(), isRequired,