aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/language/moduleloader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/corelib/language/moduleloader.cpp')
-rw-r--r--src/lib/corelib/language/moduleloader.cpp57
1 files changed, 28 insertions, 29 deletions
diff --git a/src/lib/corelib/language/moduleloader.cpp b/src/lib/corelib/language/moduleloader.cpp
index 5c4033c3f..591a3df34 100644
--- a/src/lib/corelib/language/moduleloader.cpp
+++ b/src/lib/corelib/language/moduleloader.cpp
@@ -1339,7 +1339,7 @@ void ModuleLoader::setupProductDependencies(ProductContext *productContext,
|| !containsKey(m_productsWithDeferredDependsItems, productContext)) {
addProductModuleDependencies(productContext);
}
- productContext->project->result->productInfos.insert(item, productContext->info);
+ productContext->project->result->productInfos[item] = productContext->info;
}
// Leaf modules first.
@@ -1515,7 +1515,7 @@ void ModuleLoader::handleProduct(ModuleLoader::ProductContext *productContext)
handleGroup(productContext, child, reverseModuleDeps);
}
}
- productContext->project->result->productInfos.insert(item, productContext->info);
+ productContext->project->result->productInfos[item] = productContext->info;
}
static Item *rootPrototype(Item *item)
@@ -1544,7 +1544,7 @@ private:
void check(const QVariantMap &parameters, const QualifiedId &moduleName) const
{
for (auto it = parameters.begin(); it != parameters.end(); ++it) {
- if (it.value().type() == QVariant::Map) {
+ if (it.value().userType() == QMetaType::QVariantMap) {
check(it.value().toMap(), QualifiedId(moduleName) << it.key());
} else {
const auto &deps = m_productItem->modules();
@@ -1942,7 +1942,7 @@ void ModuleLoader::printProfilingInfo()
static void mergeParameters(QVariantMap &dst, const QVariantMap &src)
{
for (auto it = src.begin(); it != src.end(); ++it) {
- if (it.value().type() == QVariant::Map) {
+ if (it.value().userType() == QMetaType::QVariantMap) {
QVariant &vdst = dst[it.key()];
QVariantMap mdst = vdst.toMap();
mergeParameters(mdst, it.value().toMap());
@@ -3207,30 +3207,30 @@ QStringList &ModuleLoader::getModuleFileNames(const QString &dirPath)
return moduleFileNames;
}
-// returns QVariant::Invalid for types that do not need conversion
-static QVariant::Type variantType(PropertyDeclaration::Type t)
+// returns QMetaType::UnknownType for types that do not need conversion
+static QMetaType::Type variantType(PropertyDeclaration::Type t)
{
switch (t) {
case PropertyDeclaration::UnknownType:
break;
case PropertyDeclaration::Boolean:
- return QVariant::Bool;
+ return QMetaType::Bool;
case PropertyDeclaration::Integer:
- return QVariant::Int;
+ return QMetaType::Int;
case PropertyDeclaration::Path:
- return QVariant::String;
+ return QMetaType::QString;
case PropertyDeclaration::PathList:
- return QVariant::StringList;
+ return QMetaType::QStringList;
case PropertyDeclaration::String:
- return QVariant::String;
+ return QMetaType::QString;
case PropertyDeclaration::StringList:
- return QVariant::StringList;
+ return QMetaType::QStringList;
case PropertyDeclaration::VariantList:
- return QVariant::List;
+ return QMetaType::QVariantList;
case PropertyDeclaration::Variant:
break;
}
- return QVariant::Invalid;
+ return QMetaType::UnknownType;
}
static QVariant convertToPropertyType(const QVariant &v, PropertyDeclaration::Type t,
@@ -3238,12 +3238,12 @@ static QVariant convertToPropertyType(const QVariant &v, PropertyDeclaration::Ty
{
if (v.isNull() || !v.isValid())
return v;
- const QVariant::Type vt = variantType(t);
- if (vt == QVariant::Invalid)
+ const auto vt = variantType(t);
+ if (vt == QMetaType::UnknownType)
return v;
// Handle the foo,bar,bla stringlist syntax.
- if (t == PropertyDeclaration::StringList && v.type() == QVariant::String)
+ if (t == PropertyDeclaration::StringList && v.userType() == QMetaType::QString)
return v.toString().split(QLatin1Char(','));
QVariant c = v;
@@ -3802,13 +3802,14 @@ QStringList ModuleLoader::findExistingModulePaths(
QVariantMap ModuleLoader::moduleProviderConfig(ModuleLoader::ProductContext &product)
{
- if (product.moduleProviderConfigRetrieved)
- return product.theModuleProviderConfig;
+ if (product.theModuleProviderConfig)
+ return *product.theModuleProviderConfig;
+ QVariantMap providerConfig;
const ItemValueConstPtr configItemValue
= product.item->itemProperty(StringConstants::moduleProviders());
if (configItemValue) {
const std::function<void(const Item *, QualifiedId)> collectMap
- = [this, &product, &collectMap](const Item *item, const QualifiedId &name) {
+ = [this, &providerConfig, &collectMap](const Item *item, const QualifiedId &name) {
const Item::PropertyMap &props = item->properties();
for (auto it = props.begin(); it != props.end(); ++it) {
QVariant value;
@@ -3826,9 +3827,9 @@ QVariantMap ModuleLoader::moduleProviderConfig(ModuleLoader::ProductContext &pro
value = static_cast<VariantValue *>(it.value().get())->value();
break;
}
- QVariantMap m = product.theModuleProviderConfig.value(name.toString()).toMap();
+ QVariantMap m = providerConfig.value(name.toString()).toMap();
m.insert(it.key(), value);
- product.theModuleProviderConfig.insert(name.toString(), m);
+ providerConfig.insert(name.toString(), m);
}
};
configItemValue->item()->setScope(product.item);
@@ -3841,15 +3842,14 @@ QVariantMap ModuleLoader::moduleProviderConfig(ModuleLoader::ProductContext &pro
const QVariantMap providerConfigFromBuildConfig = it.value().toMap();
if (providerConfigFromBuildConfig.empty())
continue;
- QVariantMap currentMapForProvider = product.theModuleProviderConfig.value(provider).toMap();
+ QVariantMap currentMapForProvider = providerConfig.value(provider).toMap();
for (auto propIt = providerConfigFromBuildConfig.begin();
propIt != providerConfigFromBuildConfig.end(); ++propIt) {
currentMapForProvider.insert(propIt.key(), propIt.value());
}
- product.theModuleProviderConfig.insert(provider, currentMapForProvider);
+ providerConfig.insert(provider, currentMapForProvider);
}
- product.moduleProviderConfigRetrieved = true;
- return product.theModuleProviderConfig;
+ return *(product.theModuleProviderConfig = std::move(providerConfig));
}
ModuleLoader::ModuleProviderResult ModuleLoader::findModuleProvider(const QualifiedId &name,
@@ -3887,7 +3887,7 @@ ModuleLoader::ModuleProviderResult ModuleLoader::findModuleProvider(const Qualif
const QVariant moduleConfig = moduleProviderConfig(product).value(name.toString());
QTextStream stream(&dummyItemFile);
using Qt::endl;
- stream.setCodec("UTF-8");
+ setupDefaultCodec(stream);
stream << "import qbs.FileInfo" << endl;
stream << "import qbs.Utilities" << endl;
stream << "import '" << providerFile << "' as Provider" << endl;
@@ -4166,8 +4166,7 @@ void ModuleLoader::handleProductError(const ErrorInfo &error,
const auto errorItems = error.items();
for (const ErrorItem &ei : errorItems)
productContext->info.delayedError.append(ei.description(), ei.codeLocation());
- productContext->project->result->productInfos.insert(productContext->item,
- productContext->info);
+ productContext->project->result->productInfos[productContext->item] = productContext->info;
m_disabledItems << productContext->item;
m_erroneousProducts.insert(productContext->name);
}