diff options
Diffstat (limited to 'src/lib/corelib/language/moduleloader.cpp')
-rw-r--r-- | src/lib/corelib/language/moduleloader.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/lib/corelib/language/moduleloader.cpp b/src/lib/corelib/language/moduleloader.cpp index f2dae2cf9..bfb7b8ef1 100644 --- a/src/lib/corelib/language/moduleloader.cpp +++ b/src/lib/corelib/language/moduleloader.cpp @@ -1556,10 +1556,9 @@ static void mergeParameters(QVariantMap &dst, const QVariantMap &src) } } -static void adjustParametersItemTypesAndScopes(Item *item, Item *scope) +static void adjustParametersScopes(Item *item, Item *scope) { - if (item->type() == ItemType::ModuleInstance) { - item->setType(ItemType::ModuleParameters); + if (item->type() == ItemType::ModuleParameters) { item->setScope(scope); return; } @@ -1567,7 +1566,7 @@ static void adjustParametersItemTypesAndScopes(Item *item, Item *scope) for (auto value : item->properties()) { if (value->type() != Value::ItemValueType) continue; - adjustParametersItemTypesAndScopes(std::static_pointer_cast<ItemValue>(value)->item(), scope); + adjustParametersScopes(std::static_pointer_cast<ItemValue>(value)->item(), scope); } } @@ -1609,7 +1608,7 @@ void ModuleLoader::mergeExportItems(const ProductContext &productContext) filesWithExportItem += exportItem->file(); for (Item * const child : exportItem->children()) { if (child->type() == ItemType::Parameters) { - adjustParametersItemTypesAndScopes(child, child); + adjustParametersScopes(child, child); mergeParameters(pmi.defaultParameters, m_evaluator->scriptValue(child).toVariant().toMap()); } else { @@ -2012,7 +2011,7 @@ void ModuleLoader::resolveDependencies(DependsContext *dependsContext, Item *ite for (Item * const dependsItem : dependsItemPerLoadedModule) { if (dependsItem == lastDependsItem) continue; - adjustParametersItemTypesAndScopes(dependsItem, dependsItem); + adjustParametersScopes(dependsItem, dependsItem); forwardParameterDeclarations(dependsItem, loadedModules); lastDependsItem = dependsItem; } |