From ff61ba1702644bd558ba5d65821b885d39a21e1d Mon Sep 17 00:00:00 2001 From: Ivan Komissarov Date: Thu, 14 May 2020 18:49:05 +0200 Subject: ProjectData: return const values/references Qbs does not care that much about binary compatilibity (because of qbs session) and thus is is preferable to return members by const-ref (saving 2 atomic operations and preventing from accidental detaches). In case when method needs to compute some value instead of returning member directly, the function signature can be changed. Change-Id: I4e8d228761a990d274e77652c94adf9f43a758f1 Reviewed-by: Christian Kandeler --- src/app/qbs/commandlinefrontend.cpp | 9 +++------ src/app/qbs/status.cpp | 3 +-- 2 files changed, 4 insertions(+), 8 deletions(-) (limited to 'src/app/qbs') diff --git a/src/app/qbs/commandlinefrontend.cpp b/src/app/qbs/commandlinefrontend.cpp index d8b4d9ca8..4a28b93ec 100644 --- a/src/app/qbs/commandlinefrontend.cpp +++ b/src/app/qbs/commandlinefrontend.cpp @@ -351,8 +351,7 @@ CommandLineFrontend::ProductMap CommandLineFrontend::productsToUse() const for (const Project &project : qAsConst(m_projects)) { QList &productList = products[project]; const ProjectData projectData = project.projectData(); - const auto products = projectData.allProducts(); - for (const ProductData &product : products) { + for (const ProductData &product : projectData.allProducts()) { productNames << product.name(); if (useAll || m_parser.products().contains(product.name())) { productList.push_back(product); @@ -647,8 +646,7 @@ ProductData CommandLineFrontend::getTheOneRunnableProduct() QBS_CHECK(m_projects.size() == 1); // Has been checked earlier. if (m_parser.products().size() == 1) { - const auto products = m_projects.front().projectData().allProducts(); - for (const ProductData &p : products) { + for (const ProductData &p : m_projects.front().projectData().allProducts()) { if (p.name() == m_parser.products().constFirst()) return p; } @@ -657,8 +655,7 @@ ProductData CommandLineFrontend::getTheOneRunnableProduct() QBS_CHECK(m_parser.products().isEmpty()); QList runnableProducts; - const auto products = m_projects.front().projectData().allProducts(); - for (const ProductData &p : products) { + for (const ProductData &p : m_projects.front().projectData().allProducts()) { if (p.isRunnable()) runnableProducts.push_back(p); } diff --git a/src/app/qbs/status.cpp b/src/app/qbs/status.cpp index 3dc540ff5..2efc6e36a 100644 --- a/src/app/qbs/status.cpp +++ b/src/app/qbs/status.cpp @@ -134,8 +134,7 @@ int printStatus(const ProjectData &project) QStringList untrackedFilesInProject = allFilesInProject(projectDirectory); QStringList missingFiles; - const auto products = project.allProducts(); - for (const ProductData &product : products) { + for (const ProductData &product : project.allProducts()) { qbsInfo() << "\nProduct: " << product.name() << " (" << product.location().filePath() << ":" << product.location().line() << ")"; -- cgit v1.2.3