diff options
author | Ivan Komissarov <abbapoh@gmail.com> | 2020-05-14 18:56:03 +0200 |
---|---|---|
committer | Ivan Komissarov <ABBAPOH@gmail.com> | 2020-06-02 13:16:07 +0000 |
commit | 3aff94dd31b1a2e9f74c98e715d9f2ac11ed1df5 (patch) | |
tree | c9e03913517b61940fd32347feb9f65884b1db02 | |
parent | 4103cfcdc08107962ef838e6c33a89b73ff0fe0f (diff) |
ProductData: return members by const-reference
Change-Id: I865d28b8fd930820c7145a3bf8aa76b2dd677550
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
20 files changed, 50 insertions, 66 deletions
diff --git a/src/app/qbs/status.cpp b/src/app/qbs/status.cpp index bfc8ed4bf..01d3451fe 100644 --- a/src/app/qbs/status.cpp +++ b/src/app/qbs/status.cpp @@ -120,8 +120,7 @@ static QStringList allFilesInProject(const QString &projectRootPath) QStringList allFiles(const ProductData &product) { QStringList files; - const auto groups = product.groups(); - for (const GroupData &group : groups) + for (const GroupData &group : product.groups()) files += group.allFilePaths(); return files; } @@ -138,8 +137,7 @@ int printStatus(const ProjectData &project) qbsInfo() << "\nProduct: " << product.name() << " (" << product.location().filePath() << ":" << product.location().line() << ")"; - const auto groups = product.groups(); - for (const GroupData &group : groups) { + for (const GroupData &group : product.groups()) { qbsInfo() << " Group: " << group.name() << " (" << group.location().filePath() << ":" << group.location().line() << ")"; diff --git a/src/lib/corelib/api/project.cpp b/src/lib/corelib/api/project.cpp index c7b6e99e7..378b13dfe 100644 --- a/src/lib/corelib/api/project.cpp +++ b/src/lib/corelib/api/project.cpp @@ -256,8 +256,7 @@ QList<ProductData> ProjectPrivate::findProductsByName(const QString &name) const GroupData ProjectPrivate::findGroupData(const ProductData &product, const QString &groupName) const { - const auto groups = product.groups(); - for (const GroupData &g : groups) { + for (const GroupData &g : product.groups()) { if (g.name() == groupName) return g; } diff --git a/src/lib/corelib/api/projectdata.cpp b/src/lib/corelib/api/projectdata.cpp index f15dd63a2..cb7d12b98 100644 --- a/src/lib/corelib/api/projectdata.cpp +++ b/src/lib/corelib/api/projectdata.cpp @@ -530,7 +530,7 @@ QJsonObject ProductData::toJson(const QStringList &propertyNames) const /*! * \brief The product type, which is the list of file tags matching the product's target artifacts. */ -QStringList ProductData::type() const +const QStringList &ProductData::type() const { return d->type; } @@ -538,7 +538,7 @@ QStringList ProductData::type() const /*! * \brief The names of dependent products. */ -QStringList ProductData::dependencies() const +const QStringList &ProductData::dependencies() const { return d->dependencies; } @@ -546,7 +546,7 @@ QStringList ProductData::dependencies() const /*! * \brief The name of the product as given in the qbs source file. */ -QString ProductData::name() const +const QString &ProductData::name() const { return d->name; } @@ -564,7 +564,7 @@ QString ProductData::fullDisplayName() const /*! * \brief The base name of the product's target file as given in the qbs source file. */ -QString ProductData::targetName() const +const QString &ProductData::targetName() const { return d->targetName; } @@ -572,7 +572,7 @@ QString ProductData::targetName() const /*! * \brief The version number of the product. */ -QString ProductData::version() const +const QString &ProductData::version() const { return d->version; } @@ -587,7 +587,7 @@ QString ProductData::profile() const StringConstants::profileProperty()).toString(); } -QString ProductData::multiplexConfigurationId() const +const QString &ProductData::multiplexConfigurationId() const { return d->multiplexConfigurationId; } @@ -595,7 +595,7 @@ QString ProductData::multiplexConfigurationId() const /*! * \brief The location at which the product is defined in the source file. */ -CodeLocation ProductData::location() const +const CodeLocation &ProductData::location() const { return d->location; } @@ -603,7 +603,7 @@ CodeLocation ProductData::location() const /*! * \brief The directory under which the product's generated artifacts are located. */ -QString ProductData::buildDirectory() const +const QString &ProductData::buildDirectory() const { return d->buildDirectory; } @@ -611,7 +611,7 @@ QString ProductData::buildDirectory() const /*! * \brief All artifacts that are generated when building this product. */ -QList<ArtifactData> ProductData::generatedArtifacts() const +const QList<ArtifactData> &ProductData::generatedArtifacts() const { return d->generatedArtifacts; } @@ -620,7 +620,7 @@ QList<ArtifactData> ProductData::generatedArtifacts() const \brief This product's target artifacts. This is a subset of \c generatedArtifacts() */ -QList<ArtifactData> ProductData::targetArtifacts() const +const QList<ArtifactData> ProductData::targetArtifacts() const { QList<ArtifactData> list; std::copy_if(d->generatedArtifacts.cbegin(), d->generatedArtifacts.cend(), @@ -632,7 +632,7 @@ QList<ArtifactData> ProductData::targetArtifacts() const /*! * \brief The list of artifacts in this product that are to be installed. */ -QList<ArtifactData> ProductData::installableArtifacts() const +const QList<ArtifactData> ProductData::installableArtifacts() const { QList<ArtifactData> artifacts; for (const GroupData &g : qAsConst(d->groups)) { @@ -681,7 +681,7 @@ QString ProductData::targetExecutable() const /*! * \brief The list of \c GroupData in this product. */ -QList<GroupData> ProductData::groups() const +const QList<GroupData> &ProductData::groups() const { return d->groups; } @@ -689,7 +689,7 @@ QList<GroupData> ProductData::groups() const /*! * \brief The product properties. */ -QVariantMap ProductData::properties() const +const QVariantMap &ProductData::properties() const { return d->properties; } @@ -697,7 +697,7 @@ QVariantMap ProductData::properties() const /*! * \brief The set of properties inherited from dependent products and modules. */ -PropertyMap ProductData::moduleProperties() const +const PropertyMap &ProductData::moduleProperties() const { return d->moduleProperties; } diff --git a/src/lib/corelib/api/projectdata.h b/src/lib/corelib/api/projectdata.h index 2e6785010..9fe6445c7 100644 --- a/src/lib/corelib/api/projectdata.h +++ b/src/lib/corelib/api/projectdata.h @@ -198,23 +198,23 @@ public: bool isValid() const; QJsonObject toJson(const QStringList &propertyNames = {}) const; - QStringList type() const; - QStringList dependencies() const; - QString name() const; + const QStringList &type() const; + const QStringList &dependencies() const; + const QString &name() const; QString fullDisplayName() const; - QString targetName() const; - QString version() const; + const QString &targetName() const; + const QString &version() const; QString profile() const; - QString multiplexConfigurationId() const; - CodeLocation location() const; - QString buildDirectory() const; - QList<ArtifactData> generatedArtifacts() const; - QList<ArtifactData> targetArtifacts() const; - QList<ArtifactData> installableArtifacts() const; + const QString &multiplexConfigurationId() const; + const CodeLocation &location() const; + const QString &buildDirectory() const; + const QList<ArtifactData> &generatedArtifacts() const; + const QList<ArtifactData> targetArtifacts() const; + const QList<ArtifactData> installableArtifacts() const; QString targetExecutable() const; - QList<GroupData> groups() const; - QVariantMap properties() const; - PropertyMap moduleProperties() const; + const QList<GroupData> &groups() const; + const QVariantMap &properties() const; + const PropertyMap &moduleProperties() const; bool isEnabled() const; bool isRunnable() const; bool isMultiplexed() const; diff --git a/src/lib/corelib/generators/generatorutils.cpp b/src/lib/corelib/generators/generatorutils.cpp index 9c00eef05..3767c9467 100644 --- a/src/lib/corelib/generators/generatorutils.cpp +++ b/src/lib/corelib/generators/generatorutils.cpp @@ -124,7 +124,7 @@ std::vector<ProductData> dependenciesOf(const ProductData &qbsProduct, const QString &configurationName) { std::vector<ProductData> result; - const auto depsNames = qbsProduct.dependencies(); + const auto &depsNames = qbsProduct.dependencies(); for (const auto &product : qAsConst(genProject.products)) { const auto pt = product.type(); if (!pt.contains(QLatin1String("staticlibrary"))) @@ -139,12 +139,11 @@ std::vector<ProductData> dependenciesOf(const ProductData &qbsProduct, QString targetBinary(const ProductData &qbsProduct) { - const auto type = qbsProduct.type(); + const auto &type = qbsProduct.type(); if (type.contains(QLatin1String("application"))) { return QFileInfo(qbsProduct.targetExecutable()).fileName(); } else if (type.contains(QLatin1String("staticlibrary"))) { - const auto artifacts = qbsProduct.targetArtifacts(); - for (const auto &artifact : artifacts) { + for (const auto &artifact : qbsProduct.targetArtifacts()) { if (artifact.fileTags().contains(QLatin1String("staticlibrary"))) return QFileInfo(artifact.filePath()).fileName(); } diff --git a/src/plugins/generator/clangcompilationdb/clangcompilationdbgenerator.cpp b/src/plugins/generator/clangcompilationdb/clangcompilationdbgenerator.cpp index d73cd49a6..3676d079e 100644 --- a/src/plugins/generator/clangcompilationdb/clangcompilationdbgenerator.cpp +++ b/src/plugins/generator/clangcompilationdb/clangcompilationdbgenerator.cpp @@ -74,8 +74,7 @@ void ClangCompilationDatabaseGenerator::generate() const QString &buildDir = projectData.buildDirectory(); for (const ProductData &productData : projectData.allProducts()) { - const auto groups = productData.groups(); - for (const GroupData &groupData : groups) { + for (const GroupData &groupData : productData.groups()) { const auto sourceArtifacts = groupData.allSourceArtifacts(); for (const ArtifactData &sourceArtifact : sourceArtifacts) { if (!hasValidInputFileTag(sourceArtifact.fileTags())) diff --git a/src/plugins/generator/iarew/archs/arm/armlinkersettingsgroup_v8.cpp b/src/plugins/generator/iarew/archs/arm/armlinkersettingsgroup_v8.cpp index 7e29c2788..2cabac587 100644 --- a/src/plugins/generator/iarew/archs/arm/armlinkersettingsgroup_v8.cpp +++ b/src/plugins/generator/iarew/archs/arm/armlinkersettingsgroup_v8.cpp @@ -60,8 +60,7 @@ struct ConfigPageOptions final // Enumerate all product linker config files // (which are set trough 'linkerscript' tag). - const auto qbsGroups = qbsProduct.groups(); - for (const auto &qbsGroup : qbsGroups) { + for (const auto &qbsGroup : qbsProduct.groups()) { if (!qbsGroup.isEnabled()) continue; const auto qbsArtifacts = qbsGroup.sourceArtifacts(); diff --git a/src/plugins/generator/iarew/archs/avr/avrlinkersettingsgroup_v7.cpp b/src/plugins/generator/iarew/archs/avr/avrlinkersettingsgroup_v7.cpp index 59ba515d9..0af4f088b 100644 --- a/src/plugins/generator/iarew/archs/avr/avrlinkersettingsgroup_v7.cpp +++ b/src/plugins/generator/iarew/archs/avr/avrlinkersettingsgroup_v7.cpp @@ -60,8 +60,7 @@ struct ConfigPageOptions final // Enumerate all product linker config files // (which are set trough 'linkerscript' tag). - const auto qbsGroups = qbsProduct.groups(); - for (const auto &qbsGroup : qbsGroups) { + for (const auto &qbsGroup : qbsProduct.groups()) { const auto qbsArtifacts = qbsGroup.sourceArtifacts(); for (const auto &qbsArtifact : qbsArtifacts) { const auto qbsTags = qbsArtifact.fileTags(); diff --git a/src/plugins/generator/iarew/archs/mcs51/mcs51generalsettingsgroup_v10.cpp b/src/plugins/generator/iarew/archs/mcs51/mcs51generalsettingsgroup_v10.cpp index 43c160045..8aa87794b 100644 --- a/src/plugins/generator/iarew/archs/mcs51/mcs51generalsettingsgroup_v10.cpp +++ b/src/plugins/generator/iarew/archs/mcs51/mcs51generalsettingsgroup_v10.cpp @@ -222,8 +222,7 @@ struct TargetPageOptions final // Enumerate all product linker config files // (which are set trough 'linkerscript' tag). - const auto qbsGroups = qbsProduct.groups(); - for (const auto &qbsGroup : qbsGroups) { + for (const auto &qbsGroup : qbsProduct.groups()) { const auto qbsArtifacts = qbsGroup.sourceArtifacts(); for (const auto &qbsArtifact : qbsArtifacts) { const auto qbsTags = qbsArtifact.fileTags(); diff --git a/src/plugins/generator/iarew/archs/mcs51/mcs51linkersettingsgroup_v10.cpp b/src/plugins/generator/iarew/archs/mcs51/mcs51linkersettingsgroup_v10.cpp index a88ac22e1..d2c7f3846 100644 --- a/src/plugins/generator/iarew/archs/mcs51/mcs51linkersettingsgroup_v10.cpp +++ b/src/plugins/generator/iarew/archs/mcs51/mcs51linkersettingsgroup_v10.cpp @@ -59,8 +59,7 @@ struct ConfigPageOptions final // Enumerate all product linker config files // (which are set trough 'linkerscript' tag). - const auto qbsGroups = qbsProduct.groups(); - for (const auto &qbsGroup : qbsGroups) { + for (const auto &qbsGroup : qbsProduct.groups()) { const auto qbsArtifacts = qbsGroup.sourceArtifacts(); for (const auto &qbsArtifact : qbsArtifacts) { const auto qbsTags = qbsArtifact.fileTags(); diff --git a/src/plugins/generator/iarew/archs/msp430/msp430generalsettingsgroup_v7.cpp b/src/plugins/generator/iarew/archs/msp430/msp430generalsettingsgroup_v7.cpp index ac1c475d1..d99e15bb2 100644 --- a/src/plugins/generator/iarew/archs/msp430/msp430generalsettingsgroup_v7.cpp +++ b/src/plugins/generator/iarew/archs/msp430/msp430generalsettingsgroup_v7.cpp @@ -117,8 +117,7 @@ struct TargetPageOptions final // Enumerate all product linker config files // (which are set trough 'linkerscript' tag). - const auto qbsGroups = qbsProduct.groups(); - for (const auto &qbsGroup : qbsGroups) { + for (const auto &qbsGroup : qbsProduct.groups()) { const auto qbsArtifacts = qbsGroup.sourceArtifacts(); for (const auto &qbsArtifact : qbsArtifacts) { const auto qbsTags = qbsArtifact.fileTags(); diff --git a/src/plugins/generator/iarew/archs/msp430/msp430linkersettingsgroup_v7.cpp b/src/plugins/generator/iarew/archs/msp430/msp430linkersettingsgroup_v7.cpp index b85edbb83..85aac7e83 100644 --- a/src/plugins/generator/iarew/archs/msp430/msp430linkersettingsgroup_v7.cpp +++ b/src/plugins/generator/iarew/archs/msp430/msp430linkersettingsgroup_v7.cpp @@ -56,8 +56,7 @@ struct ConfigPageOptions final // Enumerate all product linker config files // (which are set trough 'linkerscript' tag). - const auto qbsGroups = qbsProduct.groups(); - for (const auto &qbsGroup : qbsGroups) { + for (const auto &qbsGroup : qbsProduct.groups()) { const auto qbsArtifacts = qbsGroup.sourceArtifacts(); for (const auto &qbsArtifact : qbsArtifacts) { const auto qbsTags = qbsArtifact.fileTags(); diff --git a/src/plugins/generator/iarew/archs/stm8/stm8linkersettingsgroup_v3.cpp b/src/plugins/generator/iarew/archs/stm8/stm8linkersettingsgroup_v3.cpp index 8a9d13b9b..066c47931 100644 --- a/src/plugins/generator/iarew/archs/stm8/stm8linkersettingsgroup_v3.cpp +++ b/src/plugins/generator/iarew/archs/stm8/stm8linkersettingsgroup_v3.cpp @@ -56,8 +56,7 @@ struct ConfigPageOptions final // Enumerate all product linker config files // (which are set trough 'linkerscript' tag). - const auto qbsGroups = qbsProduct.groups(); - for (const auto &qbsGroup : qbsGroups) { + for (const auto &qbsGroup : qbsProduct.groups()) { const auto qbsArtifacts = qbsGroup.sourceArtifacts(); for (const auto &qbsArtifact : qbsArtifacts) { const auto qbsTags = qbsArtifact.fileTags(); diff --git a/src/plugins/generator/iarew/iarewutils.cpp b/src/plugins/generator/iarew/iarewutils.cpp index f00fce026..7196a391c 100644 --- a/src/plugins/generator/iarew/iarewutils.cpp +++ b/src/plugins/generator/iarew/iarewutils.cpp @@ -76,7 +76,7 @@ QString projectRelativeFilePath(const QString &basePath, OutputBinaryType outputBinaryType(const ProductData &qbsProduct) { - const auto qbsProductType = qbsProduct.type(); + const auto &qbsProductType = qbsProduct.type(); if (qbsProductType.contains(QLatin1String("application"))) return ApplicationOutputType; if (qbsProductType.contains(QLatin1String("staticlibrary"))) diff --git a/src/plugins/generator/keiluv/archs/arm/armtargetlinkergroup_v5.cpp b/src/plugins/generator/keiluv/archs/arm/armtargetlinkergroup_v5.cpp index 930aae020..5532b58b0 100644 --- a/src/plugins/generator/keiluv/archs/arm/armtargetlinkergroup_v5.cpp +++ b/src/plugins/generator/keiluv/archs/arm/armtargetlinkergroup_v5.cpp @@ -64,8 +64,7 @@ struct LinkerPageOptions final // Enumerate all product linker config files // (which are set trough 'linkerscript' tag). - const auto qbsGroups = qbsProduct.groups(); - for (const auto &qbsGroup : qbsGroups) { + for (const auto &qbsGroup : qbsProduct.groups()) { if (!qbsGroup.isEnabled()) continue; const auto qbsArtifacts = qbsGroup.sourceArtifacts(); diff --git a/src/plugins/generator/keiluv/keiluvfilesgroupspropertygroup.cpp b/src/plugins/generator/keiluv/keiluvfilesgroupspropertygroup.cpp index b9a234d6a..d1fda9876 100644 --- a/src/plugins/generator/keiluv/keiluvfilesgroupspropertygroup.cpp +++ b/src/plugins/generator/keiluv/keiluvfilesgroupspropertygroup.cpp @@ -158,8 +158,7 @@ KeiluvFilesGroupsPropertyGroup::KeiluvFilesGroupsPropertyGroup( const auto baseDirectory = gen::utils::buildRootPath(qbsProject); // Build source items. - const auto groups = qbsProduct.groups(); - for (const auto &group : groups) { + for (const auto &group : qbsProduct.groups()) { // Ignore disabled groups (e.g. when its condition property is false). if (!group.isEnabled()) continue; diff --git a/src/plugins/generator/keiluv/keiluvutils.cpp b/src/plugins/generator/keiluv/keiluvutils.cpp index 8932f0f16..ef93b9739 100644 --- a/src/plugins/generator/keiluv/keiluvutils.cpp +++ b/src/plugins/generator/keiluv/keiluvutils.cpp @@ -37,7 +37,7 @@ namespace KeiluvUtils { OutputBinaryType outputBinaryType(const ProductData &qbsProduct) { - const auto qbsProductType = qbsProduct.type(); + const auto &qbsProductType = qbsProduct.type(); if (qbsProductType.contains(QLatin1String("application"))) return ApplicationOutputType; if (qbsProductType.contains(QLatin1String("staticlibrary"))) diff --git a/src/plugins/generator/makefilegenerator/makefilegenerator.cpp b/src/plugins/generator/makefilegenerator/makefilegenerator.cpp index a158df0ac..af798965a 100644 --- a/src/plugins/generator/makefilegenerator/makefilegenerator.cpp +++ b/src/plugins/generator/makefilegenerator/makefilegenerator.cpp @@ -319,8 +319,7 @@ void qbs::MakefileGenerator::generate() << transformedInputFilePath << ' ' << transformedOutputDir << '\n'; } stream << "clean-" << productTarget << ":\n"; - const auto generatedArtifacts = productData.generatedArtifacts(); - for (const ArtifactData &artifact : generatedArtifacts) { + for (const ArtifactData &artifact : productData.generatedArtifacts()) { const QFileInfo fileInfo(artifact.filePath()); const QString transformedFilePath = QDir::toNativeSeparators( prefixifiedBuildDirPath(fileInfo.path()) diff --git a/src/plugins/generator/visualstudio/msbuildfiltersproject.cpp b/src/plugins/generator/visualstudio/msbuildfiltersproject.cpp index 1cd2573c3..a15e7fef3 100644 --- a/src/plugins/generator/visualstudio/msbuildfiltersproject.cpp +++ b/src/plugins/generator/visualstudio/msbuildfiltersproject.cpp @@ -108,8 +108,7 @@ MSBuildFiltersProject::MSBuildFiltersProject(const GeneratableProductData &produ Internal::Set<QString> allFiles; const auto productDatas = product.data.values(); for (const auto &productData : productDatas) { - const auto groups = productData.groups(); - for (const auto &groupData : groups) + for (const auto &groupData : productData.groups()) if (groupData.isEnabled()) allFiles.unite(Internal::Set<QString>::fromList(groupData.allFilePaths())); } diff --git a/src/plugins/generator/visualstudio/msbuildqbsproductproject.cpp b/src/plugins/generator/visualstudio/msbuildqbsproductproject.cpp index 2d679ceb1..6f77212d4 100644 --- a/src/plugins/generator/visualstudio/msbuildqbsproductproject.cpp +++ b/src/plugins/generator/visualstudio/msbuildqbsproductproject.cpp @@ -126,7 +126,7 @@ void MSBuildQbsProductProject::addConfiguration(const GeneratableProject &projec relativeTargetDir = QStringLiteral("$(SolutionDir)$(Configuration)") + relativeTargetDir.mid(configurationDir.size()); - const auto properties = productData.moduleProperties(); + const auto &properties = productData.moduleProperties(); const bool debugBuild = properties.getModuleProperty(StringConstants::qbsModule(), QStringLiteral("debugInformation")) @@ -248,7 +248,7 @@ static QString subsystemVersion(const QString &version) void MSBuildQbsProductProject::addItemDefGroup(const Project &project, const ProductData &productData) { - const auto properties = productData.moduleProperties(); + const auto &properties = productData.moduleProperties(); const bool consoleApp = productData.properties().value(QStringLiteral("consoleApplication")) .toBool(); |