diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2018-05-14 18:05:28 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2018-05-15 07:36:31 +0000 |
commit | 20d261df437c9c08462735909e9c62c2b7615a55 (patch) | |
tree | 07340bd9762f4180179a9075105bad0f642c50eb | |
parent | 77e4517e12539b42196d6ce953eb76c969bd398f (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.cpp | 31 |
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, |