diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2017-11-08 08:22:52 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2017-11-08 10:12:56 +0000 |
commit | 8865df709a560f6ae053e4481293f8edb6cd7fc2 (patch) | |
tree | 19f7ddd5f6373ac156d21e7f39d34927ba7c23f6 /src/lib/corelib/language/projectresolver.cpp | |
parent | b1a82f03a5fea2e8f21fdf80d7ea2357adb85802 (diff) |
Remove unnecessary indirection from property maps
The top-level "module" entry has not been needed ever since we separated
the product properties and module properties maps.
Change-Id: Ic669a6c76206c87ee6458e5528c2a55d1c55bac1
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src/lib/corelib/language/projectresolver.cpp')
-rw-r--r-- | src/lib/corelib/language/projectresolver.cpp | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/src/lib/corelib/language/projectresolver.cpp b/src/lib/corelib/language/projectresolver.cpp index 7b35e4b57..c69df523b 100644 --- a/src/lib/corelib/language/projectresolver.cpp +++ b/src/lib/corelib/language/projectresolver.cpp @@ -457,12 +457,8 @@ void ProjectResolver::resolveProductFully(Item *item, ProjectContext *projectCon product->destinationDirectory); } product->probes = pi.probes; - product->productProperties = createProductConfig(); + createProductConfig(product.get()); product->productProperties.insert(destDirKey, product->destinationDirectory); - QVariantMap moduleProperties; - moduleProperties.insert(QLatin1String("modules"), - product->productProperties.take(QLatin1String("modules"))); - product->moduleProperties->setValue(moduleProperties); ModuleProperties::init(m_evaluator->scriptValue(item), product); QList<Item *> subItems = item->children(); @@ -632,7 +628,7 @@ QVariantMap ProjectResolver::resolveAdditionalModuleProperties(const Item *group = propertiesToEvaluate(propsSetInGroup.toList(), m_evaluator->propertyDependencies()); // Step 3: Evaluate all these properties and replace their values in the map - QVariantMap modulesMap = currentValues.value(QLatin1String("modules")).toMap(); + QVariantMap modulesMap = currentValues; QHash<QString, QStringList> propsPerModule; for (auto fullPropName : propsToEval) { const QString moduleName @@ -653,9 +649,7 @@ QVariantMap ProjectResolver::resolveAdditionalModuleProperties(const Item *group evaluateProperties(module.item, module.item, reusableValues, true)); } m_evaluator->clearPathPropertiesBaseDir(); - QVariantMap newValues = currentValues; - newValues.insert(QLatin1String("modules"), modulesMap); - return newValues; + return modulesMap; } void ProjectResolver::resolveGroup(Item *item, ProjectContext *projectContext) @@ -1276,9 +1270,7 @@ QVariantMap ProjectResolver::evaluateModuleValues(Item *item, bool lookupPrototy moduleValues[fullName] = evaluateProperties(module.item, lookupPrototype); } - QVariantMap result; - result[QLatin1String("modules")] = moduleValues; - return result; + return moduleValues; } QVariantMap ProjectResolver::evaluateProperties(Item *item, bool lookupPrototype) @@ -1351,14 +1343,14 @@ QVariantMap ProjectResolver::evaluateProperties(const Item *item, const Item *pr : result; } -QVariantMap ProjectResolver::createProductConfig() +void ProjectResolver::createProductConfig(ResolvedProduct *product) { EvalCacheEnabler cachingEnabler(m_evaluator); m_evaluator->setPathPropertiesBaseDir(m_productContext->product->sourceDirectory); - QVariantMap cfg = evaluateModuleValues(m_productContext->item); - cfg = evaluateProperties(m_productContext->item, m_productContext->item, cfg); + product->moduleProperties->setValue(evaluateModuleValues(m_productContext->item)); + product->productProperties = evaluateProperties(m_productContext->item, m_productContext->item, + QVariantMap()); m_evaluator->clearPathPropertiesBaseDir(); - return cfg; } void ProjectResolver::callItemFunction(const ItemFuncMap &mappings, Item *item, |