aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/language/projectresolver.cpp
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2017-11-08 08:22:52 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2017-11-08 10:12:56 +0000
commit8865df709a560f6ae053e4481293f8edb6cd7fc2 (patch)
tree19f7ddd5f6373ac156d21e7f39d34927ba7c23f6 /src/lib/corelib/language/projectresolver.cpp
parentb1a82f03a5fea2e8f21fdf80d7ea2357adb85802 (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.cpp24
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,