aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib
diff options
context:
space:
mode:
authorIvan Komissarov <abbapoh@gmail.com>2020-09-16 15:29:01 +0200
committerIvan Komissarov <ABBAPOH@gmail.com>2020-09-17 12:57:24 +0000
commit8f8a7b8110c0ebef04c3dba4075bfeb1dd3ac169 (patch)
tree5548e181a48353173bfbe3e55a77c7984b60ff34 /src/lib/corelib
parent575829ca20574db6f4287a674e0b14b72d09440c (diff)
Remove the isBaseModule argument from loadModuleFile()
Pass the fullName to the isBaseModule() function so the value can be calculated where it is needed. Change-Id: I4f4574818fd335d67d72bf307276bacf18cfd89b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/lib/corelib')
-rw-r--r--src/lib/corelib/language/moduleloader.cpp17
-rw-r--r--src/lib/corelib/language/moduleloader.h2
2 files changed, 10 insertions, 9 deletions
diff --git a/src/lib/corelib/language/moduleloader.cpp b/src/lib/corelib/language/moduleloader.cpp
index f8c03ddf6..4eefe9d47 100644
--- a/src/lib/corelib/language/moduleloader.cpp
+++ b/src/lib/corelib/language/moduleloader.cpp
@@ -2952,9 +2952,9 @@ private:
std::vector<DependsChainEntry> &m_dependsChain;
};
-static bool isBaseModule(const QualifiedId &moduleName)
+static bool isBaseModule(QStringView fullModuleName)
{
- return moduleName.size() == 1 && moduleName.front() == StringConstants::qbsModule();
+ return fullModuleName == StringConstants::qbsModule();
}
class DelayedPropertyChanger
@@ -3028,7 +3028,8 @@ Item *ModuleLoader::loadModule(ProductContext *productContext, Item *exportingPr
// Prepare module instance for evaluating Module.condition.
DelayedPropertyChanger delayedPropertyChanger;
const QString &qbsModuleName = StringConstants::qbsModule();
- if (!isBaseModule(moduleName)) {
+ const auto fullName = moduleName.toString();
+ if (!isBaseModule(fullName)) {
ItemValuePtr qbsProp = productContext->item->itemProperty(qbsModuleName);
if (qbsProp) {
ValuePtr qbsModuleValue = moduleInstance->ownProperty(qbsModuleName);
@@ -3041,7 +3042,7 @@ Item *ModuleLoader::loadModule(ProductContext *productContext, Item *exportingPr
}
Item *modulePrototype = nullptr;
- ProductModuleInfo * const pmi = productModule(productContext, moduleName.toString(),
+ ProductModuleInfo * const pmi = productModule(productContext, fullName,
multiplexId, *isProductDependency);
if (pmi) {
m_dependsChain.back().isProduct = true;
@@ -3152,7 +3153,7 @@ Item *ModuleLoader::searchAndLoadModuleFile(ProductContext *productContext,
for (auto it = moduleFileNames.begin(); it != moduleFileNames.end(); ) {
const QString &filePath = *it;
const auto [module, triedToLoad] = loadModuleFile(
- productContext, fullName, isBaseModule(moduleName), filePath, moduleInstance);
+ productContext, fullName, filePath, moduleInstance);
if (module)
candidates.emplace_back(module, 0, i);
if (!triedToLoad)
@@ -3267,7 +3268,7 @@ static Item *findDeepestModuleInstance(Item *instance)
}
std::pair<Item *, bool> ModuleLoader::loadModuleFile(
- ProductContext *productContext, const QString &fullModuleName, bool isBaseModule,
+ ProductContext *productContext, const QString &fullModuleName,
const QString &filePath, Item *moduleInstance)
{
checkCancelation();
@@ -3300,7 +3301,7 @@ std::pair<Item *, bool> ModuleLoader::loadModuleFile(
return {nullptr, triedToLoad};
}
- if (isBaseModule)
+ if (isBaseModule(fullModuleName))
setupBaseModulePrototype(module);
else
resolveParameterDeclarations(module);
@@ -3535,7 +3536,7 @@ void ModuleLoader::instantiateModule(ProductContext *productContext, Item *expor
if (productModuleInfo) {
dependsContext.productDependencies = &productContext->productModuleDependencies[fullName];
resolveDependencies(&dependsContext, moduleInstance);
- } else if (!isBaseModule(moduleName)) {
+ } else if (!isBaseModule(fullName)) {
dependsContext.productDependencies = &productContext->info.usedProducts;
resolveDependencies(&dependsContext, moduleInstance);
}
diff --git a/src/lib/corelib/language/moduleloader.h b/src/lib/corelib/language/moduleloader.h
index b6d8143e0..df853e77f 100644
--- a/src/lib/corelib/language/moduleloader.h
+++ b/src/lib/corelib/language/moduleloader.h
@@ -321,7 +321,7 @@ private:
FallbackMode fallbackMode, bool isRequired, Item *moduleInstance);
QStringList &getModuleFileNames(const QString &dirPath);
std::pair<Item *, bool> loadModuleFile(
- ProductContext *productContext, const QString &fullModuleName, bool isBaseModule,
+ ProductContext *productContext, const QString &fullModuleName,
const QString &filePath, Item *moduleInstance);
std::pair<Item *, bool> getModulePrototype(ProductContext *productContext,
const QString &fullModuleName, const QString &filePath);