diff options
author | Marc Mutz <marc.mutz@qt.io> | 2023-05-21 11:38:15 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@qt.io> | 2023-05-22 21:07:45 +0000 |
commit | cacab19b31ebfa0f3676643031a56d3a8ccd2bea (patch) | |
tree | e8944d860bb1ae1ec4cbbcaef3fbe25c8388fedb | |
parent | 103867c03b6dd9a5634660acb839056460f92335 (diff) |
Port from qAsConst() to std::as_const()
QBS has been requiring C++17 since at least 1.18, probably earlier.
Providing qAsConst() is finally starting to bother Qt (QTBUG-99313),
so time to port away from it now.
Since qAsConst has exactly the same semantics as std::as_const (down
to rvalue treatment, constexpr'ness and noexcept'ness), there's really
nothing more to it than a global search-and-replace.
Task-number: QTBUG-99313
Change-Id: I51154f8c5d283a90b1db89bcb4b6a7671edca0f0
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
60 files changed, 220 insertions, 220 deletions
diff --git a/src/app/config/configcommandlineparser.cpp b/src/app/config/configcommandlineparser.cpp index 173676d6d..1ad0cc4b1 100644 --- a/src/app/config/configcommandlineparser.cpp +++ b/src/app/config/configcommandlineparser.cpp @@ -126,7 +126,7 @@ void ConfigCommandLineParser::parse(const QStringList &commandLine) throw Error(Tr::tr("Profile properties must be provided.")); if (m_command.varNames.size() % 2 != 0) throw Error(Tr::tr("Profile properties must be key/value pairs.")); - for (const auto &varName : qAsConst(m_command.varNames)) { + for (const auto &varName : std::as_const(m_command.varNames)) { if (varName.isEmpty()) throw Error(Tr::tr("Property names must not be empty.")); } diff --git a/src/app/qbs-create-project/createproject.cpp b/src/app/qbs-create-project/createproject.cpp index 4167a396e..22c845994 100644 --- a/src/app/qbs-create-project/createproject.cpp +++ b/src/app/qbs-create-project/createproject.cpp @@ -124,7 +124,7 @@ void ProjectCreator::serializeProject(const ProjectCreator::Project &project) fileContents << indent << "Depends { name: \"cpp\" }\n"; } fileContents << indent << "files: [\n"; - for (const QString &fileName : qAsConst(project.fileNames)) + for (const QString &fileName : std::as_const(project.fileNames)) fileContents << indent << indent << qbs::toJSLiteral(fileName) << ",\n"; fileContents << indent << "]\n"; for (const ProjectPtr &p : project.subProjects) @@ -152,7 +152,7 @@ void ProjectCreator::addGroups(QTextStream &stream, const QDir &baseDir, << qbs::toJSLiteral(baseDir.relativeFilePath(subProject.dirPath) + QLatin1Char('/')) << '\n'; stream << indent << indent << "files: [\n"; - for (const QString &fileName : qAsConst(subProject.fileNames)) + for (const QString &fileName : std::as_const(subProject.fileNames)) stream << indent << indent << indent << qbs::toJSLiteral(fileName) << ",\n"; stream << indent << indent << "]\n"; stream << indent << "}\n"; @@ -184,7 +184,7 @@ ProjectCreator::ProductFlags ProjectCreator::getFlags(const ProjectCreator::Proj void ProjectCreator::getFlagsFromFileNames(const ProjectCreator::Project &project, ProductFlags &flags) { - for (const QString &fileName : qAsConst(project.fileNames)) { + for (const QString &fileName : std::as_const(project.fileNames)) { if (flags.testFlag(IsApp) && flags.testFlag(NeedsQt)) return; const QFileInfo fi(project.dirPath + QLatin1Char('/') + fileName); @@ -210,7 +210,7 @@ void ProjectCreator::getFlagsFromFileNames(const ProjectCreator::Project &projec void ProjectCreator::getFlagsFromFileContents(const ProjectCreator::Project &project, ProductFlags &flags) { - for (const QString &fileName : qAsConst(project.fileNames)) { + for (const QString &fileName : std::as_const(project.fileNames)) { QFile f (project.dirPath + QLatin1Char('/') + fileName); if (!f.open(QIODevice::ReadOnly)) { qDebug() << "Ignoring failure to read" << f.fileName(); diff --git a/src/app/qbs-setup-android/android-setup.cpp b/src/app/qbs-setup-android/android-setup.cpp index 329bd0052..fad24d018 100644 --- a/src/app/qbs-setup-android/android-setup.cpp +++ b/src/app/qbs-setup-android/android-setup.cpp @@ -153,7 +153,7 @@ static QtInfoPerArch getQtAndroidInfo(const QString &qtSdkDir) QDirIterator dit(qtSdkDir, nameFilters, QDir::Dirs); while (dit.hasNext()) qtDirs << dit.next(); - for (const auto &qtDir : qAsConst(qtDirs)) { + for (const auto &qtDir : std::as_const(qtDirs)) { const QtAndroidInfo info = getInfoForQtDir(qtDir); if (info.isValid()) { for (const QString &arch: info.archs) diff --git a/src/app/qbs-setup-toolchains/gccprobe.cpp b/src/app/qbs-setup-toolchains/gccprobe.cpp index dda8f2274..c8c04b0cc 100644 --- a/src/app/qbs-setup-toolchains/gccprobe.cpp +++ b/src/app/qbs-setup-toolchains/gccprobe.cpp @@ -526,7 +526,7 @@ void gccProbe(Settings *settings, std::vector<Profile> &profiles, const QString std::vector<QFileInfo> candidates; const auto filters = buildCompilerNameFilters(compilerName); - for (const auto &searchPath : qAsConst(searchPaths)) { + for (const auto &searchPath : std::as_const(searchPaths)) { const QDir dir(searchPath); const QStringList fileNames = dir.entryList( filters, QDir::Files | QDir::Executable); @@ -574,7 +574,7 @@ void gccProbe(Settings *settings, std::vector<Profile> &profiles, const QString }); } - for (const auto &candidate : qAsConst(candidates)) { + for (const auto &candidate : std::as_const(candidates)) { const QString toolchainType = toolchainTypeFromCompilerName( candidate.baseName()); const QString profileName = buildProfileName(candidate); diff --git a/src/app/qbs-setup-toolchains/msvcprobe.cpp b/src/app/qbs-setup-toolchains/msvcprobe.cpp index e189dd164..84d36753e 100644 --- a/src/app/qbs-setup-toolchains/msvcprobe.cpp +++ b/src/app/qbs-setup-toolchains/msvcprobe.cpp @@ -140,7 +140,7 @@ void msvcProbe(Settings *settings, std::vector<Profile> &profiles) } } - for (const WinSDK &sdk : qAsConst(winSDKs)) { + for (const WinSDK &sdk : std::as_const(winSDKs)) { qbsInfo() << Tr::tr(" Windows SDK %1 detected:\n" " installed in %2").arg(sdk.version, sdk.vcInstallPath); if (sdk.isDefault) @@ -150,7 +150,7 @@ void msvcProbe(Settings *settings, std::vector<Profile> &profiles) // 2) Installed MSVCs std::vector<MSVC> msvcs = MSVC::installedCompilers(ConsoleLogger::instance()); - for (const MSVC &msvc : qAsConst(msvcs)) { + for (const MSVC &msvc : std::as_const(msvcs)) { qbsInfo() << Tr::tr(" MSVC %1 (%2) detected in\n" " %3").arg(msvc.version, msvc.architecture, QDir::toNativeSeparators(msvc.binPath)); diff --git a/src/app/qbs-setup-toolchains/xcodeprobe.cpp b/src/app/qbs-setup-toolchains/xcodeprobe.cpp index 5fbfcc4e6..9be12d3fc 100644 --- a/src/app/qbs-setup-toolchains/xcodeprobe.cpp +++ b/src/app/qbs-setup-toolchains/xcodeprobe.cpp @@ -188,7 +188,7 @@ void XcodeProbe::setupDefaultToolchains(const QString &devPath, const QString &x << QStringLiteral("appletvsimulator") << QStringLiteral("watchos") << QStringLiteral("watchsimulator"); - for (const QString &platform : qAsConst(platforms)) { + for (const QString &platform : std::as_const(platforms)) { Profile platformProfile(xcodeName + QLatin1Char('-') + platform, settings); platformProfile.removeProfile(); platformProfile.setBaseProfile(installationProfile.name()); @@ -212,7 +212,7 @@ void XcodeProbe::detectAll() { int i = 1; detectDeveloperPaths(); - for (const QString &developerPath : qAsConst(developerPaths)) { + for (const QString &developerPath : std::as_const(developerPaths)) { QString profileName = QStringLiteral("xcode"); if (developerPath != defaultDeveloperPath) { const auto devPath = developerPath.toStdString(); diff --git a/src/app/qbs/commandlinefrontend.cpp b/src/app/qbs/commandlinefrontend.cpp index c3269ebcf..3ed5cd1ad 100644 --- a/src/app/qbs/commandlinefrontend.cpp +++ b/src/app/qbs/commandlinefrontend.cpp @@ -97,9 +97,9 @@ void CommandLineFrontend::checkCancelStatus() m_cancelTimer->stop(); if (m_resolveJobs.empty() && m_buildJobs.empty()) std::exit(EXIT_FAILURE); - for (AbstractJob * const job : qAsConst(m_resolveJobs)) + for (AbstractJob * const job : std::as_const(m_resolveJobs)) job->cancel(); - for (AbstractJob * const job : qAsConst(m_buildJobs)) + for (AbstractJob * const job : std::as_const(m_buildJobs)) job->cancel(); break; case CancelStatusCanceling: @@ -349,7 +349,7 @@ CommandLineFrontend::ProductMap CommandLineFrontend::productsToUse() const ProductMap products; QStringList productNames; const bool useAll = m_parser.products().empty(); - for (const Project &project : qAsConst(m_projects)) { + for (const Project &project : std::as_const(m_projects)) { QList<ProductData> &productList = products[project]; const ProjectData projectData = project.projectData(); for (const ProductData &product : projectData.allProducts()) { @@ -432,7 +432,7 @@ void CommandLineFrontend::handleProjectsResolved() void CommandLineFrontend::makeClean() { if (m_parser.products().empty()) { - for (const Project &project : qAsConst(m_projects)) { + for (const Project &project : std::as_const(m_projects)) { m_buildJobs << project.cleanAllProducts(m_parser.cleanOptions(project.profile()), this); } } else { @@ -504,7 +504,7 @@ void CommandLineFrontend::build() if (m_parser.products().empty()) { const Project::ProductSelection productSelection = m_parser.withNonDefaultProducts() ? Project::ProductSelectionWithNonDefault : Project::ProductSelectionDefaultOnly; - for (const Project &project : qAsConst(m_projects)) + for (const Project &project : std::as_const(m_projects)) m_buildJobs << project.buildAllProducts(buildOptions(project), productSelection, this); } else { const ProductMap &products = productsToUse(); @@ -610,7 +610,7 @@ void CommandLineFrontend::listProducts() void CommandLineFrontend::connectBuildJobs() { - for (AbstractJob * const job : qAsConst(m_buildJobs)) + for (AbstractJob * const job : std::as_const(m_buildJobs)) connectBuildJob(job); } @@ -672,7 +672,7 @@ ProductData CommandLineFrontend::getTheOneRunnableProduct() ErrorInfo error(Tr::tr("Ambiguous use of command '%1': No product given, but project " "has more than one runnable product.").arg(m_parser.commandName())); error.append(Tr::tr("Use the '--products' option with one of the following products:")); - for (const ProductData &p : qAsConst(runnableProducts)) { + for (const ProductData &p : std::as_const(runnableProducts)) { QString productRepr = QLatin1String("\t") + p.name(); if (p.profile() != m_projects.front().profile()) { productRepr.append(QLatin1String(" [")).append(p.profile()) diff --git a/src/app/qbs/parser/commandlineoption.cpp b/src/app/qbs/parser/commandlineoption.cpp index ddbcd4da1..389b304f0 100644 --- a/src/app/qbs/parser/commandlineoption.cpp +++ b/src/app/qbs/parser/commandlineoption.cpp @@ -334,7 +334,7 @@ void StringListOption::doParse(const QString &representation, QStringList &input throw ErrorInfo(Tr::tr("Invalid use of option '%1': Argument list must not be empty.\n" "Usage: %2").arg(representation, description(command()))); } - for (const QString &element : qAsConst(m_arguments)) { + for (const QString &element : std::as_const(m_arguments)) { if (element.isEmpty()) { throw ErrorInfo(Tr::tr("Invalid use of option '%1': Argument list must not contain " "empty elements.\nUsage: %2") diff --git a/src/app/qbs/parser/commandlineparser.cpp b/src/app/qbs/parser/commandlineparser.cpp index c6134ec80..14e26ca42 100644 --- a/src/app/qbs/parser/commandlineparser.cpp +++ b/src/app/qbs/parser/commandlineparser.cpp @@ -413,7 +413,7 @@ QString CommandLineParser::CommandLineParserPrivate::generalHelp() const for (const Command * command : commands) commandMap.insert(command->representation(), command); - for (const Command * command : qAsConst(commandMap)) { + for (const Command * command : std::as_const(commandMap)) { help.append(QLatin1String(" ")).append(command->representation()); const QString whitespace = QString(rhsIndentation - 2 - command->representation().size(), QLatin1Char(' ')); @@ -424,7 +424,7 @@ QString CommandLineParser::CommandLineParserPrivate::generalHelp() const toolNames.sort(); if (!toolNames.empty()) { help.append(QLatin1Char('\n')).append(Tr::tr("Auxiliary commands:\n")); - for (const QString &toolName : qAsConst(toolNames)) { + for (const QString &toolName : std::as_const(toolNames)) { help.append(QLatin1String(" ")).append(toolName); const QString whitespace = QString(rhsIndentation - 2 - toolName.size(), QLatin1Char(' ')); @@ -507,7 +507,7 @@ void CommandLineParser::CommandLineParserPrivate::setupBuildConfigurations() const QVariantMap globalProperties = propertiesPerConfiguration.takeFirst().second; QList<QVariantMap> buildConfigs; - for (const PropertyListItem &item : qAsConst(propertiesPerConfiguration)) { + for (const PropertyListItem &item : std::as_const(propertiesPerConfiguration)) { QVariantMap properties = item.second; for (QVariantMap::ConstIterator globalPropIt = globalProperties.constBegin(); globalPropIt != globalProperties.constEnd(); ++globalPropIt) { diff --git a/src/app/qbs/parser/parsercommand.cpp b/src/app/qbs/parser/parsercommand.cpp index 8fa67e241..bbb5db3d1 100644 --- a/src/app/qbs/parser/parsercommand.cpp +++ b/src/app/qbs/parser/parsercommand.cpp @@ -164,7 +164,7 @@ QString Command::supportedOptionsDescription() const } QString s = Tr::tr("The possible options are:\n"); - for (const CommandLineOption *option : qAsConst(optionMap)) + for (const CommandLineOption *option : std::as_const(optionMap)) s += option->description(type()); return s; } diff --git a/src/app/qbs/status.cpp b/src/app/qbs/status.cpp index 127d26a50..7aa25020b 100644 --- a/src/app/qbs/status.cpp +++ b/src/app/qbs/status.cpp @@ -145,7 +145,7 @@ int printStatus(const ProjectData &project) << group.location().line() << ")"; QStringList sourceFiles = group.allFilePaths(); std::sort(sourceFiles.begin(), sourceFiles.end()); - for (const QString &sourceFile : qAsConst(sourceFiles)) { + for (const QString &sourceFile : std::as_const(sourceFiles)) { if (!QFileInfo::exists(sourceFile)) missingFiles.push_back(sourceFile); qbsInfo() << " " << sourceFile.mid(projectDirectoryPathLength + 1); @@ -155,11 +155,11 @@ int printStatus(const ProjectData &project) } qbsInfo() << "\nMissing files:"; - for (const QString &untrackedFile : qAsConst(missingFiles)) + for (const QString &untrackedFile : std::as_const(missingFiles)) qbsInfo() << " " << untrackedFile.mid(projectDirectoryPathLength + 1); qbsInfo() << "\nUntracked files:"; - for (const QString &missingFile : qAsConst(untrackedFilesInProject)) + for (const QString &missingFile : std::as_const(untrackedFilesInProject)) qbsInfo() << " " << missingFile.mid(projectDirectoryPathLength + 1); return 0; diff --git a/src/lib/corelib/api/languageinfo.cpp b/src/lib/corelib/api/languageinfo.cpp index 505012e88..7881af9d7 100644 --- a/src/lib/corelib/api/languageinfo.cpp +++ b/src/lib/corelib/api/languageinfo.cpp @@ -61,7 +61,7 @@ std::string LanguageInfo::qmlTypeInfo() // Individual Components: auto typeNames = builtins.allTypeNames(); typeNames.sort(); - for (const QString &typeName : qAsConst(typeNames)) { + for (const QString &typeName : std::as_const(typeNames)) { const auto typeNameString = typeName.toStdString(); result.append(" Component {\n"); result.append(" name: \"" + typeNameString + "\"\n"); @@ -81,7 +81,7 @@ std::string LanguageInfo::qmlTypeInfo() (const Internal::PropertyDeclaration &a, const Internal::PropertyDeclaration &b) { return a.name() < b.name(); }); - for (const Internal::PropertyDeclaration &property : qAsConst(properties)) { + for (const Internal::PropertyDeclaration &property : std::as_const(properties)) { result.append(" Property { name: \""); result.append(property.name().toUtf8().data()); result.append("\"; "); diff --git a/src/lib/corelib/api/project.cpp b/src/lib/corelib/api/project.cpp index f2bdd6d88..8d5152a24 100644 --- a/src/lib/corelib/api/project.cpp +++ b/src/lib/corelib/api/project.cpp @@ -131,7 +131,7 @@ static void addDependencies(QVector<ResolvedProductPtr> &products) { for (int i = 0; i < products.size(); ++i) { const ResolvedProductPtr &product = products.at(i); - for (const ResolvedProductPtr &dependency : qAsConst(product->dependencies)) { + for (const ResolvedProductPtr &dependency : std::as_const(product->dependencies)) { if (!products.contains(dependency)) products.push_back(dependency); } @@ -191,7 +191,7 @@ static QVector<ResolvedProductPtr> enabledInternalProducts(const ResolvedProject if (p->enabled && (includingNonDefault || p->builtByDefault())) products.push_back(p); } - for (const auto &subProject : qAsConst(project->subProjects)) + for (const auto &subProject : std::as_const(project->subProjects)) products << enabledInternalProducts(subProject, includingNonDefault); return products; } @@ -215,7 +215,7 @@ static ResolvedProductPtr internalProductForProject(const ResolvedProjectConstPt if (matches(product, resolvedProduct)) return resolvedProduct; } - for (const auto &subProject : qAsConst(project->subProjects)) { + for (const auto &subProject : std::as_const(project->subProjects)) { const ResolvedProductPtr &p = internalProductForProject(subProject, product); if (p) return p; @@ -374,7 +374,7 @@ ProjectPrivate::GroupUpdateContext ProjectPrivate::getGroupContext(const Product context.resolvedProducts = internalProducts(context.products); const QString groupName = group.isValid() ? group.name() : product.name(); - for (const ResolvedProductPtr &p : qAsConst(context.resolvedProducts)) { + for (const ResolvedProductPtr &p : std::as_const(context.resolvedProducts)) { for (const GroupPtr &g : p->groups) { if (g->name == groupName) { context.resolvedGroups << g; @@ -384,7 +384,7 @@ ProjectPrivate::GroupUpdateContext ProjectPrivate::getGroupContext(const Product } if (context.resolvedGroups.empty()) throw ErrorInfo(Tr::tr("Group '%1' does not exist.").arg(groupName)); - for (const ProductData &p : qAsConst(context.products)) { + for (const ProductData &p : std::as_const(context.products)) { const GroupData &g = findGroupData(p, groupName); QBS_CHECK(p.isValid()); context.groups << g; @@ -399,7 +399,7 @@ static bool matchesWildcard(const QString &filePath, const GroupConstPtr &group) { if (!group->wildcards) return false; - for (const QString &pattern : qAsConst(group->wildcards->patterns)) { + for (const QString &pattern : std::as_const(group->wildcards->patterns)) { QString fullPattern; if (QFileInfo(group->prefix).isAbsolute()) { fullPattern = group->prefix; @@ -463,8 +463,8 @@ void ProjectPrivate::addFiles(const ProductData &product, const GroupData &group // We do not check for entries in other groups, because such doublettes might be legitimate // due to conditions. - for (const GroupPtr &group : qAsConst(groupContext.resolvedGroups)) { - for (const QString &filePath : qAsConst(filesContext.absoluteFilePaths)) { + for (const GroupPtr &group : std::as_const(groupContext.resolvedGroups)) { + for (const QString &filePath : std::as_const(filesContext.absoluteFilePaths)) { for (const auto &sa : group->files) { if (sa->absoluteFilePath == filePath) { throw ErrorInfo(Tr::tr("File '%1' already exists in group '%2'.") @@ -527,7 +527,7 @@ void ProjectPrivate::prepareChangeToProject() RuleCommandList ProjectPrivate::ruleCommandListForTransformer(const Transformer *transformer) { RuleCommandList list; - for (const AbstractCommandPtr &internalCommand : qAsConst(transformer->commands.commands())) { + for (const AbstractCommandPtr &internalCommand : std::as_const(transformer->commands.commands())) { RuleCommand externalCommand; externalCommand.d->description = internalCommand->description(); externalCommand.d->extendedDescription = internalCommand->extendedDescription(); @@ -568,11 +568,11 @@ RuleCommandList ProjectPrivate::ruleCommands(const ProductData &product, QBS_CHECK(resolvedProduct->buildData); const ArtifactSet &outputArtifacts = resolvedProduct->buildData->artifactsByFileTag() .value(FileTag(outputFileTag.toLocal8Bit())); - for (const Artifact * const outputArtifact : qAsConst(outputArtifacts)) { + for (const Artifact * const outputArtifact : std::as_const(outputArtifacts)) { const TransformerConstPtr transformer = outputArtifact->transformer; if (!transformer) continue; - for (const Artifact * const inputArtifact : qAsConst(transformer->inputs)) { + for (const Artifact * const inputArtifact : std::as_const(transformer->inputs)) { if (inputArtifact->filePath() == inputFilePath) return ruleCommandListForTransformer(transformer.get()); } @@ -690,7 +690,7 @@ void ProjectPrivate::retrieveProjectData(ProjectData &projectData, } } for (const ResolvedProductPtr &resolvedDependentProduct - : qAsConst(resolvedProduct->dependencies)) { + : std::as_const(resolvedProduct->dependencies)) { product.d->dependencies << resolvedDependentProduct->fullDisplayName(); } std::sort(product.d->type.begin(), product.d->type.end()); @@ -699,7 +699,7 @@ void ProjectPrivate::retrieveProjectData(ProjectData &projectData, product.d->isValid = true; projectData.d->products << product; } - for (const auto &internalSubProject : qAsConst(internalProject->subProjects)) { + for (const auto &internalSubProject : std::as_const(internalProject->subProjects)) { if (!internalSubProject->enabled) continue; ProjectData subProject; diff --git a/src/lib/corelib/api/projectdata.cpp b/src/lib/corelib/api/projectdata.cpp index 501a65fdd..890849399 100644 --- a/src/lib/corelib/api/projectdata.cpp +++ b/src/lib/corelib/api/projectdata.cpp @@ -636,14 +636,14 @@ const QList<ArtifactData> ProductData::targetArtifacts() const const QList<ArtifactData> ProductData::installableArtifacts() const { QList<ArtifactData> artifacts; - for (const GroupData &g : qAsConst(d->groups)) { + for (const GroupData &g : std::as_const(d->groups)) { const auto sourceArtifacts = g.allSourceArtifacts(); for (const ArtifactData &a : sourceArtifacts) { if (a.installData().isInstallable()) artifacts << a; } } - for (const ArtifactData &a : qAsConst(d->generatedArtifacts)) { + for (const ArtifactData &a : std::as_const(d->generatedArtifacts)) { if (a.installData().isInstallable()) artifacts << a; } @@ -868,7 +868,7 @@ const QList<ProjectData> &ProjectData::subProjects() const const QList<ProductData> ProjectData::allProducts() const { QList<ProductData> productList = products(); - for (const ProjectData &pd : qAsConst(d->subProjects)) + for (const ProjectData &pd : std::as_const(d->subProjects)) productList << pd.allProducts(); return productList; } @@ -991,7 +991,7 @@ static QString mapToString(const QVariantMap &map, const QString &prefix) QStringList keys(map.keys()); std::sort(keys.begin(), keys.end()); QString stringRep; - for (const QString &key : qAsConst(keys)) { + for (const QString &key : std::as_const(keys)) { const QVariant &val = map.value(key); if (val.userType() == QMetaType::QVariantMap) { stringRep += mapToString(val.value<QVariantMap>(), prefix + key + QLatin1Char('.')); diff --git a/src/lib/corelib/api/projectfileupdater.cpp b/src/lib/corelib/api/projectfileupdater.cpp index b31cdf7a3..5b9f9bced 100644 --- a/src/lib/corelib/api/projectfileupdater.cpp +++ b/src/lib/corelib/api/projectfileupdater.cpp @@ -182,7 +182,7 @@ void ProjectFileUpdater::apply() if (!parserMessages.empty()) { ErrorInfo errorInfo; errorInfo.append(Tr::tr("Failure parsing project file.")); - for (const DiagnosticMessage &msg : qAsConst(parserMessages)) + for (const DiagnosticMessage &msg : std::as_const(parserMessages)) errorInfo.append(msg.message, toCodeLocation(file.fileName(), msg.loc)); throw errorInfo; } @@ -480,7 +480,7 @@ void ProjectFileFilesRemover::doApply(QString &fileContent, UiProgram *ast) } QString filesString; filesString += QLatin1String("[\n"); - for (const QString &file : qAsConst(newFilesList)) { + for (const QString &file : std::as_const(newFilesList)) { filesString += QString(arrayElemIndentation, QLatin1Char(' ')); filesString += QStringLiteral("\"%1\",\n").arg(file); } diff --git a/src/lib/corelib/buildgraph/artifactsscriptvalue.cpp b/src/lib/corelib/buildgraph/artifactsscriptvalue.cpp index 6a470bc17..6d0ea738f 100644 --- a/src/lib/corelib/buildgraph/artifactsscriptvalue.cpp +++ b/src/lib/corelib/buildgraph/artifactsscriptvalue.cpp @@ -135,7 +135,7 @@ static int getArtifactsPropertyNames(JSContext *ctx, JSPropertyEnum **ptab, uint if (!tags.isEmpty()) { *ptab = reinterpret_cast<JSPropertyEnum *>(js_malloc(ctx, *plen * sizeof **ptab)); JSPropertyEnum *entry = *ptab; - for (const QString &tag : qAsConst(tags)) { + for (const QString &tag : std::as_const(tags)) { entry->atom = JS_NewAtom(ctx, tag.toUtf8().constData()); entry->is_enumerable = 1; ++entry; diff --git a/src/lib/corelib/buildgraph/artifactvisitor.cpp b/src/lib/corelib/buildgraph/artifactvisitor.cpp index 22c987572..885292f06 100644 --- a/src/lib/corelib/buildgraph/artifactvisitor.cpp +++ b/src/lib/corelib/buildgraph/artifactvisitor.cpp @@ -55,7 +55,7 @@ void ArtifactVisitor::visitProduct(const ResolvedProductConstPtr &product) { if (!product->buildData) return; - for (BuildGraphNode *node : qAsConst(product->buildData->allNodes())) + for (BuildGraphNode *node : std::as_const(product->buildData->allNodes())) node->accept(this); } diff --git a/src/lib/corelib/buildgraph/buildgraph.cpp b/src/lib/corelib/buildgraph/buildgraph.cpp index df3301d57..d641627e7 100644 --- a/src/lib/corelib/buildgraph/buildgraph.cpp +++ b/src/lib/corelib/buildgraph/buildgraph.cpp @@ -283,7 +283,7 @@ private: } else { productDeps = product->dependencies; } - for (const ResolvedProductPtr &dependency : qAsConst(productDeps)) { + for (const ResolvedProductPtr &dependency : std::as_const(productDeps)) { setupBaseProductScriptValue(engine, dependency.get()); JSValue obj = JS_NewObjectClass(engine->context(), engine->productPropertyScriptClass()); @@ -520,7 +520,7 @@ bool findPath(BuildGraphNode *u, BuildGraphNode *v, QList<BuildGraphNode *> &pat return true; } - for (BuildGraphNode * const childNode : qAsConst(u->children)) { + for (BuildGraphNode * const childNode : std::as_const(u->children)) { if (findPath(childNode, v, path)) { path.prepend(u); return true; @@ -809,17 +809,17 @@ static void doSanityChecksForProduct(const ResolvedProductConstPtr &product, QBS_CHECK(buildData); if (!product->buildData) return; - for (BuildGraphNode * const node : qAsConst(buildData->rootNodes())) { + for (BuildGraphNode * const node : std::as_const(buildData->rootNodes())) { qCDebug(lcBuildGraph).noquote() << "Checking root node" << node->toString(); QBS_CHECK(buildData->allNodes().contains(node)); } Set<QString> filePaths; - for (BuildGraphNode * const node : qAsConst(buildData->allNodes())) { + for (BuildGraphNode * const node : std::as_const(buildData->allNodes())) { qCDebug(lcBuildGraph).noquote() << "Sanity checking node" << node->toString(); QBS_CHECK(node->product == product); - for (const BuildGraphNode * const parent : qAsConst(node->parents)) + for (const BuildGraphNode * const parent : std::as_const(node->parents)) QBS_CHECK(parent->children.contains(node)); - for (BuildGraphNode * const child : qAsConst(node->children)) { + for (BuildGraphNode * const child : std::as_const(node->children)) { QBS_CHECK(child->parents.contains(node)); QBS_CHECK(!child->product.expired()); QBS_CHECK(child->product->buildData); @@ -846,7 +846,7 @@ static void doSanityChecksForProduct(const ResolvedProductConstPtr &product, !filePaths.contains(artifact->filePath())); filePaths << artifact->filePath(); - for (Artifact * const child : qAsConst(artifact->childrenAddedByScanner)) + for (Artifact * const child : std::as_const(artifact->childrenAddedByScanner)) QBS_CHECK(artifact->children.contains(child)); const TransformerConstPtr transformer = artifact->transformer; if (artifact->artifactType == Artifact::SourceFile) @@ -865,7 +865,7 @@ static void doSanityChecksForProduct(const ResolvedProductConstPtr &product, qCDebug(lcBuildGraph) << "The transformer has" << transformer->outputs.size() << "outputs."; ArtifactSet transformerOutputChildren; - for (const Artifact * const output : qAsConst(transformer->outputs)) { + for (const Artifact * const output : std::as_const(transformer->outputs)) { QBS_CHECK(output->transformer == transformer); transformerOutputChildren.unite(ArtifactSet::filtered(output->children)); for (const Artifact *a : filterByType<Artifact>(output->children)) { @@ -883,14 +883,14 @@ static void doSanityChecksForProduct(const ResolvedProductConstPtr &product, } if (lcBuildGraph().isDebugEnabled()) { qCDebug(lcBuildGraph) << "The transformer output children are:"; - for (const Artifact * const a : qAsConst(transformerOutputChildren)) + for (const Artifact * const a : std::as_const(transformerOutputChildren)) qCDebug(lcBuildGraph) << "\t" << a->fileName(); qCDebug(lcBuildGraph) << "The transformer inputs are:"; - for (const Artifact * const a : qAsConst(transformer->inputs)) + for (const Artifact * const a : std::as_const(transformer->inputs)) qCDebug(lcBuildGraph) << "\t" << a->fileName(); } QBS_CHECK(transformer->inputs.size() <= transformerOutputChildren.size()); - for (Artifact * const transformerInput : qAsConst(transformer->inputs)) + for (Artifact * const transformerInput : std::as_const(transformer->inputs)) QBS_CHECK(transformerOutputChildren.contains(transformerInput)); transformer->artifactsMapRequestedInPrepareScript.doSanityChecks(); transformer->artifactsMapRequestedInCommands.doSanityChecks(); @@ -902,7 +902,7 @@ static void doSanityChecks(const ResolvedProjectPtr &project, const Logger &logger) { logger.qbsDebug() << "Sanity checking project '" << project->name << "'"; - for (const ResolvedProjectPtr &subProject : qAsConst(project->subProjects)) + for (const ResolvedProjectPtr &subProject : std::as_const(project->subProjects)) doSanityChecks(subProject, allProducts, productNames, logger); for (const auto &product : project->products) { diff --git a/src/lib/corelib/buildgraph/buildgraphloader.cpp b/src/lib/corelib/buildgraph/buildgraphloader.cpp index 31cda94ee..fc05d292c 100644 --- a/src/lib/corelib/buildgraph/buildgraphloader.cpp +++ b/src/lib/corelib/buildgraph/buildgraphloader.cpp @@ -94,7 +94,7 @@ static void restoreBackPointers(const ResolvedProjectPtr &project) product->project = project; if (!product->buildData) continue; - for (BuildGraphNode * const n : qAsConst(product->buildData->allNodes())) { + for (BuildGraphNode * const n : std::as_const(product->buildData->allNodes())) { if (n->type() == BuildGraphNode::ArtifactNodeType) { project->topLevelProject()->buildData ->insertIntoLookupTable(static_cast<Artifact *>(n)); @@ -102,7 +102,7 @@ static void restoreBackPointers(const ResolvedProjectPtr &project) } } - for (const ResolvedProjectPtr &subProject : qAsConst(project->subProjects)) { + for (const ResolvedProjectPtr &subProject : std::as_const(project->subProjects)) { subProject->parentProject = project; restoreBackPointers(subProject); } @@ -128,7 +128,7 @@ BuildGraphLoadResult BuildGraphLoader::load(const TopLevelProjectPtr &existingPr if (!m_result.loadedProject) return m_result; if (parameters.restoreBehavior() == SetupProjectParameters::RestoreOnly) { - for (const ErrorInfo &e : qAsConst(m_result.loadedProject->warningsEncountered)) + for (const ErrorInfo &e : std::as_const(m_result.loadedProject->warningsEncountered)) m_logger.printWarning(e); return m_result; } @@ -243,7 +243,7 @@ static bool checkProductForChangedDependency(std::vector<ResolvedProductPtr> &ch return false; if (contains(changedProducts, product)) return true; - for (const ResolvedProductPtr &dep : qAsConst(product->dependencies)) { + for (const ResolvedProductPtr &dep : std::as_const(product->dependencies)) { if (checkProductForChangedDependency(changedProducts, seenProducts, dep)) { changedProducts << product; return true; @@ -268,14 +268,14 @@ static void makeChangedProductsListComplete(std::vector<ResolvedProductPtr> &cha static void updateProductAndRulePointers(const ResolvedProductPtr &newProduct) { std::unordered_map<RuleConstPtr, RuleConstPtr> ruleMap; - for (BuildGraphNode *node : qAsConst(newProduct->buildData->allNodes())) { + for (BuildGraphNode *node : std::as_const(newProduct->buildData->allNodes())) { node->product = newProduct; const auto findNewRule = [&ruleMap, &newProduct] (const RuleConstPtr &oldRule) -> RuleConstPtr { const auto it = ruleMap.find(oldRule); if (it != ruleMap.cend()) return it->second; - for (const auto &r : qAsConst(newProduct->rules)) { + for (const auto &r : std::as_const(newProduct->rules)) { if (*r == *oldRule) { ruleMap.insert(std::make_pair(oldRule, r)); return r; @@ -329,7 +329,7 @@ void BuildGraphLoader::trackProjectChanges() } if (!reResolvingNecessary) { - for (const ErrorInfo &e : qAsConst(restoredProject->warningsEncountered)) + for (const ErrorInfo &e : std::as_const(restoredProject->warningsEncountered)) m_logger.printWarning(e); return; } @@ -345,7 +345,7 @@ void BuildGraphLoader::trackProjectChanges() resolver.setStoredModuleProviderInfo(restoredProject->moduleProviderInfo); resolver.setLastResolveTime(restoredProject->lastStartResolveTime); QHash<QString, std::vector<ProbeConstPtr>> restoredProbes; - for (const auto &restoredProduct : qAsConst(allRestoredProducts)) + for (const auto &restoredProduct : std::as_const(allRestoredProducts)) restoredProbes.insert(restoredProduct->uniqueName(), restoredProduct->probes); resolver.setOldProductProbes(restoredProbes); if (!m_parameters.overrideBuildGraphData()) @@ -354,7 +354,7 @@ void BuildGraphLoader::trackProjectChanges() std::vector<ResolvedProductPtr> allNewlyResolvedProducts = m_result.newlyResolvedProject->allProducts(); - for (const ResolvedProductPtr &cp : qAsConst(allNewlyResolvedProducts)) + for (const ResolvedProductPtr &cp : std::as_const(allNewlyResolvedProducts)) m_freshProductsByName.insert(cp->uniqueName(), cp); checkAllProductsForChanges(allRestoredProducts, changedProducts); @@ -363,7 +363,7 @@ void BuildGraphLoader::trackProjectChanges() ChildListHash childLists; if (!changedProducts.empty()) { oldBuildData = std::make_shared<ProjectBuildData>(restoredProject->buildData.get()); - for (const auto &product : qAsConst(allRestoredProducts)) { + for (const auto &product : std::as_const(allRestoredProducts)) { if (!product->buildData) continue; @@ -382,7 +382,7 @@ void BuildGraphLoader::trackProjectChanges() // mean that artifacts will have to get rebuilt; whether this is necesessary will be decided // an a per-artifact basis by the Executor on the next build. QHash<QString, AllRescuableArtifactData> rescuableArtifactData; - for (const ResolvedProductPtr &product : qAsConst(changedProducts)) { + for (const ResolvedProductPtr &product : std::as_const(changedProducts)) { const QString name = product->uniqueName(); m_changedSourcesByProduct.erase(name); m_productsWhoseArtifactsNeedUpdate.remove(name); @@ -426,7 +426,7 @@ void BuildGraphLoader::trackProjectChanges() } // Products still left in the list do not exist anymore. - for (const ResolvedProductPtr &removedProduct : qAsConst(allRestoredProducts)) { + for (const ResolvedProductPtr &removedProduct : std::as_const(allRestoredProducts)) { removeOne(changedProducts, removedProduct); onProductRemoved(removedProduct, m_result.newlyResolvedProject->buildData.get()); } @@ -452,7 +452,7 @@ void BuildGraphLoader::trackProjectChanges() updateGeneratedArtifacts(product.get()); } - for (const auto &changedProduct : qAsConst(changedProducts)) { + for (const auto &changedProduct : std::as_const(changedProducts)) { rescueOldBuildData(changedProduct, m_freshProductsByName.value(changedProduct->uniqueName()), childLists, rescuableArtifactData.value(changedProduct->uniqueName())); @@ -461,7 +461,7 @@ void BuildGraphLoader::trackProjectChanges() EmptyDirectoriesRemover(m_result.newlyResolvedProject.get(), m_logger) .removeEmptyParentDirectories(m_artifactsRemovedFromDisk); - for (FileResourceBase * const f : qAsConst(m_objectsToDelete)) { + for (FileResourceBase * const f : std::as_const(m_objectsToDelete)) { if (f->fileType() == FileResourceBase::FileTypeArtifact) static_cast<Artifact *>(f)->product.reset(); // To help with the sanity checks. } @@ -581,7 +581,7 @@ bool BuildGraphLoader::hasProductFileChanged(const std::vector<ResolvedProductPt hasChanged = true; } else if (!contains(changedProducts, product)) { bool foundMissingSourceFile = false; - for (const QString &file : qAsConst(product->missingSourceFiles)) { + for (const QString &file : std::as_const(product->missingSourceFiles)) { if (FileInfo(file).exists()) { qCDebug(lcBuildGraph) << "Formerly missing file" << file << "in product" << product->name << "exists now, must re-resolve project"; @@ -737,9 +737,9 @@ static bool dependenciesAreEqual(const ResolvedProductConstPtr &p1, return false; Set<QString> names1; Set<QString> names2; - for (const auto &dep : qAsConst(p1->dependencies)) + for (const auto &dep : std::as_const(p1->dependencies)) names1 << dep->uniqueName(); - for (const auto &dep : qAsConst(p2->dependencies)) + for (const auto &dep : std::as_const(p2->dependencies)) names2 << dep->uniqueName(); return names1 == names2; } @@ -818,7 +818,7 @@ void BuildGraphLoader::onProductRemoved(const ResolvedProductPtr &product, removeOne(product->project->products, product); if (product->buildData) { - for (BuildGraphNode * const node : qAsConst(product->buildData->allNodes())) { + for (BuildGraphNode * const node : std::as_const(product->buildData->allNodes())) { if (node->type() == BuildGraphNode::ArtifactNodeType) { const auto artifact = static_cast<Artifact *>(node); projectBuildData->removeArtifact(artifact, m_logger, removeArtifactsFromDisk, @@ -826,10 +826,10 @@ void BuildGraphLoader::onProductRemoved(const ResolvedProductPtr &product, if (removeArtifactsFromDisk && artifact->artifactType == Artifact::Generated) m_artifactsRemovedFromDisk << artifact->filePath(); } else { - for (BuildGraphNode * const parent : qAsConst(node->parents)) + for (BuildGraphNode * const parent : std::as_const(node->parents)) parent->children.remove(node); node->parents.clear(); - for (BuildGraphNode * const child : qAsConst(node->children)) + for (BuildGraphNode * const child : std::as_const(node->children)) child->parents.remove(node); node->children.clear(); } @@ -965,7 +965,7 @@ void BuildGraphLoader::rescueOldBuildData(const ResolvedProductConstPtr &restore rad.lastPrepareScriptExecutionTime = oldArtifact->transformer->lastPrepareScriptExecutionTime; const ChildrenInfo &childrenInfo = childLists.value(oldArtifact); - for (Artifact * const child : qAsConst(childrenInfo.children)) { + for (Artifact * const child : std::as_const(childrenInfo.children)) { rad.children.emplace_back(child->product->name, child->product->multiplexConfigurationId, child->filePath(), childrenInfo.childrenAddedByScanner.contains(child)); diff --git a/src/lib/corelib/buildgraph/buildgraphnode.cpp b/src/lib/corelib/buildgraph/buildgraphnode.cpp index 7d011d50c..cb19ee95c 100644 --- a/src/lib/corelib/buildgraph/buildgraphnode.cpp +++ b/src/lib/corelib/buildgraph/buildgraphnode.cpp @@ -56,9 +56,9 @@ BuildGraphNode::BuildGraphNode() : buildState(Untouched) BuildGraphNode::~BuildGraphNode() { - for (BuildGraphNode *p : qAsConst(parents)) + for (BuildGraphNode *p : std::as_const(parents)) p->children.remove(this); - for (BuildGraphNode *c : qAsConst(children)) + for (BuildGraphNode *c : std::as_const(children)) c->parents.remove(this); } @@ -69,7 +69,7 @@ void BuildGraphNode::onChildDisconnected(BuildGraphNode *child) void BuildGraphNode::acceptChildren(BuildGraphVisitor *visitor) { - for (BuildGraphNode *child : qAsConst(children)) + for (BuildGraphNode *child : std::as_const(children)) child->accept(visitor); } diff --git a/src/lib/corelib/buildgraph/cycledetector.cpp b/src/lib/corelib/buildgraph/cycledetector.cpp index 5daed55fd..3a1c43cd1 100644 --- a/src/lib/corelib/buildgraph/cycledetector.cpp +++ b/src/lib/corelib/buildgraph/cycledetector.cpp @@ -91,7 +91,7 @@ bool CycleDetector::visitNode(BuildGraphNode *node) m_nodesInCurrentPath += node; m_parent = node; - for (BuildGraphNode * const child : qAsConst(node->children)) + for (BuildGraphNode * const child : std::as_const(node->children)) child->accept(this); m_nodesInCurrentPath -= node; m_allNodes += node; diff --git a/src/lib/corelib/buildgraph/environmentscriptrunner.cpp b/src/lib/corelib/buildgraph/environmentscriptrunner.cpp index c4810f621..0fbb3ab19 100644 --- a/src/lib/corelib/buildgraph/environmentscriptrunner.cpp +++ b/src/lib/corelib/buildgraph/environmentscriptrunner.cpp @@ -137,7 +137,7 @@ void EnvironmentScriptRunner::setupEnvironment() QHash<const ResolvedModule*, QList<const ResolvedModule*> > moduleParents; QHash<const ResolvedModule*, QList<const ResolvedModule*> > moduleChildren; for (const auto &module : m_product->modules) { - for (const QString &moduleName : qAsConst(module->moduleDependencies)) { + for (const QString &moduleName : std::as_const(module->moduleDependencies)) { const ResolvedModule * const depmod = moduleMap.value(moduleName); QBS_ASSERT(depmod, return); moduleParents[depmod].push_back(module.get()); diff --git a/src/lib/corelib/buildgraph/executor.cpp b/src/lib/corelib/buildgraph/executor.cpp index 72ee9d7ba..869d7552a 100644 --- a/src/lib/corelib/buildgraph/executor.cpp +++ b/src/lib/corelib/buildgraph/executor.cpp @@ -204,7 +204,7 @@ private: { if (!m_seenProducts.insert(product).second) return; - for (const ResolvedProductPtr &dependency : qAsConst(product->dependencies)) + for (const ResolvedProductPtr &dependency : std::as_const(product->dependencies)) traverse(dependency); if (!product->buildData) return; @@ -328,7 +328,7 @@ void Executor::updateLeaves(BuildGraphNode *node, NodeSet &seenNodes) } bool isLeaf = true; - for (BuildGraphNode *child : qAsConst(node->children)) { + for (BuildGraphNode *child : std::as_const(node->children)) { if (child->buildState != BuildGraphNode::Built) { isLeaf = false; updateLeaves(child, seenNodes); @@ -451,7 +451,7 @@ bool Executor::isUpToDate(Artifact *artifact) const return false; } - for (FileDependency *fileDependency : qAsConst(artifact->fileDependencies)) { + for (FileDependency *fileDependency : std::as_const(artifact->fileDependencies)) { if (!fileDependency->timestamp().isValid()) { qCDebug(lcUpToDateCheck) << "file dependency doesn't exist" << fileDependency->filePath(); @@ -478,7 +478,7 @@ bool Executor::mustExecuteTransformer(const TransformerPtr &transformer) const bool hasAlwaysUpdatedArtifacts = false; bool hasUpToDateNotAlwaysUpdatedArtifacts = false; - for (Artifact *artifact : qAsConst(transformer->outputs)) { + for (Artifact *artifact : std::as_const(transformer->outputs)) { if (isUpToDate(artifact)) { if (artifact->alwaysUpdated) hasAlwaysUpdatedArtifacts = true; @@ -567,7 +567,7 @@ void Executor::finishJob(ExecutorJob *job, bool success) updateJobCounts(transformer.get(), -1); if (success) { m_project->buildData->setDirty(); - for (Artifact * const artifact : qAsConst(transformer->outputs)) { + for (Artifact * const artifact : std::as_const(transformer->outputs)) { if (artifact->alwaysUpdated) { artifact->setTimestamp(FileTime::currentTime()); for (Artifact * const parent : artifact->parentArtifacts()) @@ -626,7 +626,7 @@ static bool allChildrenBuilt(BuildGraphNode *node) void Executor::finishNode(BuildGraphNode *leaf) { leaf->buildState = BuildGraphNode::Built; - for (BuildGraphNode * const parent : qAsConst(leaf->parents)) { + for (BuildGraphNode * const parent : std::as_const(leaf->parents)) { if (parent->buildState != BuildGraphNode::Buildable) { qCDebug(lcExec).noquote() << "parent" << parent->toString() << "build state:" << toString(parent->buildState); @@ -679,7 +679,7 @@ bool Executor::transformerHasMatchingInputFiles(const TransformerConstPtr &trans return false; if (transformer->inputs.empty()) return true; - for (const Artifact * const input : qAsConst(transformer->inputs)) { + for (const Artifact * const input : std::as_const(transformer->inputs)) { const auto files = m_buildOptions.filesToConsider(); for (const QString &filePath : files) { if (input->filePath() == filePath @@ -695,7 +695,7 @@ bool Executor::transformerHasMatchingInputFiles(const TransformerConstPtr &trans void Executor::setupJobLimits() { Settings settings(m_buildOptions.settingsDirectory()); - for (const auto &p : qAsConst(m_productsToBuild)) { + for (const auto &p : std::as_const(m_productsToBuild)) { const Preferences prefs(&settings, p->profile()); const JobLimits &jobLimitsFromSettings = prefs.jobLimits(); JobLimits effectiveJobLimits; @@ -732,7 +732,7 @@ void Executor::setupProgressObserver() if (!m_progressObserver) return; int totalEffort = 1; // For the effort after the last rule application; - for (const auto &product : qAsConst(m_productsToBuild)) { + for (const auto &product : std::as_const(m_productsToBuild)) { QBS_CHECK(product->buildData); const auto filtered = filterByType<RuleNode>(product->buildData->allNodes()); totalEffort += std::distance(filtered.begin(), filtered.end()); @@ -744,7 +744,7 @@ void Executor::doSanityChecks() { QBS_CHECK(m_project); QBS_CHECK(!m_productsToBuild.empty()); - for (const auto &product : qAsConst(m_productsToBuild)) { + for (const auto &product : std::as_const(m_productsToBuild)) { QBS_CHECK(product->buildData); QBS_CHECK(product->topLevelProject() == m_project.get()); } @@ -915,7 +915,7 @@ bool Executor::checkForUnbuiltDependencies(Artifact *artifact) { bool buildingDependenciesFound = false; NodeSet unbuiltDependencies; - for (BuildGraphNode * const dependency : qAsConst(artifact->children)) { + for (BuildGraphNode * const dependency : std::as_const(artifact->children)) { switch (dependency->buildState) { case BuildGraphNode::Untouched: case BuildGraphNode::Buildable: @@ -946,7 +946,7 @@ bool Executor::checkForUnbuiltDependencies(Artifact *artifact) void Executor::potentiallyRunTransformer(const TransformerPtr &transformer) { - for (Artifact * const output : qAsConst(transformer->outputs)) { + for (Artifact * const output : std::as_const(transformer->outputs)) { // Rescuing build data can introduce new dependencies, potentially delaying execution of // this transformer. bool childrenAddedDueToRescue; @@ -969,7 +969,7 @@ void Executor::potentiallyRunTransformer(const TransformerPtr &transformer) const bool mustExecute = mustExecuteTransformer(transformer); if (mustExecute || m_buildOptions.forceTimestampCheck()) { - for (Artifact * const output : qAsConst(transformer->outputs)) { + for (Artifact * const output : std::as_const(transformer->outputs)) { // Scan all input artifacts. If new dependencies were found during scanning, delay // execution of this transformer. InputArtifactScanner scanner(output, m_inputArtifactScanContext, m_logger); @@ -1000,7 +1000,7 @@ void Executor::runTransformer(const TransformerPtr &transformer) // create the output directories if (!m_buildOptions.dryRun()) { - for (Artifact * const output : qAsConst(transformer->outputs)) { + for (Artifact * const output : std::as_const(transformer->outputs)) { QDir outDir = QFileInfo(output->filePath()).absoluteDir(); if (!outDir.exists() && !outDir.mkpath(StringConstants::dot())) { throw ErrorInfo(tr("Failed to create directory '%1'.") @@ -1011,7 +1011,7 @@ void Executor::runTransformer(const TransformerPtr &transformer) QBS_CHECK(!m_availableJobs.empty()); ExecutorJob *job = m_availableJobs.takeFirst(); - for (Artifact * const artifact : qAsConst(transformer->outputs)) + for (Artifact * const artifact : std::as_const(transformer->outputs)) artifact->buildState = BuildGraphNode::Building; m_processingJobs.insert(job, transformer); updateJobCounts(transformer.get(), 1); @@ -1021,7 +1021,7 @@ void Executor::runTransformer(const TransformerPtr &transformer) void Executor::finishTransformer(const TransformerPtr &transformer) { transformer->markedForRerun = false; - for (Artifact * const artifact : qAsConst(transformer->outputs)) { + for (Artifact * const artifact : std::as_const(transformer->outputs)) { possiblyInstallArtifact(artifact); finishArtifact(artifact); } @@ -1082,9 +1082,9 @@ void Executor::checkForUnbuiltProducts() if (m_buildOptions.executeRulesOnly()) return; std::vector<ResolvedProductPtr> unbuiltProducts; - for (const ResolvedProductPtr &product : qAsConst(m_productsToBuild)) { + for (const ResolvedProductPtr &product : std::as_const(m_productsToBuild)) { bool productBuilt = true; - for (BuildGraphNode *rootNode : qAsConst(product->buildData->rootNodes())) { + for (BuildGraphNode *rootNode : std::as_const(product->buildData->rootNodes())) { if (rootNode->buildState != BuildGraphNode::Built) { productBuilt = false; unbuiltProducts.push_back(product); @@ -1198,11 +1198,11 @@ void Executor::prepareAllNodes() for (const ResolvedProductPtr &product : m_allProducts) { if (product->enabled) { QBS_CHECK(product->buildData); - for (BuildGraphNode * const node : qAsConst(product->buildData->allNodes())) + for (BuildGraphNode * const node : std::as_const(product->buildData->allNodes())) node->buildState = BuildGraphNode::Untouched; } } - for (const ResolvedProductPtr &product : qAsConst(m_productsToBuild)) { + for (const ResolvedProductPtr &product : std::as_const(m_productsToBuild)) { QBS_CHECK(product->buildData); for (Artifact * const artifact : filterByType<Artifact>(product->buildData->allNodes())) prepareArtifact(artifact); @@ -1286,7 +1286,7 @@ void Executor::setupForBuildingSelectedFiles(const BuildGraphNode *node) */ void Executor::prepareReachableNodes() { - for (BuildGraphNode * const root : qAsConst(m_roots)) + for (BuildGraphNode * const root : std::as_const(m_roots)) prepareReachableNodes_impl(root); } @@ -1298,7 +1298,7 @@ void Executor::prepareReachableNodes_impl(BuildGraphNode *node) return; node->buildState = BuildGraphNode::Buildable; - for (BuildGraphNode *child : qAsConst(node->children)) + for (BuildGraphNode *child : std::as_const(node->children)) prepareReachableNodes_impl(child); } @@ -1306,7 +1306,7 @@ void Executor::prepareProducts() { ProductPrioritySetter prioritySetter(m_allProducts); prioritySetter.apply(); - for (const ResolvedProductPtr &product : qAsConst(m_productsToBuild)) { + for (const ResolvedProductPtr &product : std::as_const(m_productsToBuild)) { EnvironmentScriptRunner(product.get(), m_evalContext.get(), m_project->environment) .setupForBuild(); } @@ -1315,7 +1315,7 @@ void Executor::prepareProducts() void Executor::setupRootNodes() { m_roots.clear(); - for (const ResolvedProductPtr &product : qAsConst(m_productsToBuild)) + for (const ResolvedProductPtr &product : std::as_const(m_productsToBuild)) m_roots += product->buildData->rootNodes(); } diff --git a/src/lib/corelib/buildgraph/inputartifactscanner.cpp b/src/lib/corelib/buildgraph/inputartifactscanner.cpp index 05bbc0d4b..6d0c5cdbd 100644 --- a/src/lib/corelib/buildgraph/inputartifactscanner.cpp +++ b/src/lib/corelib/buildgraph/inputartifactscanner.cpp @@ -158,7 +158,7 @@ void InputArtifactScanner::scan() for (Artifact * const dependency : childrenAddedByScanner) disconnect(m_artifact, dependency); - for (Artifact * const inputArtifact : qAsConst(m_artifact->transformer->inputs)) + for (Artifact * const inputArtifact : std::as_const(m_artifact->transformer->inputs)) scanForFileDependencies(inputArtifact); } @@ -224,7 +224,7 @@ Set<DependencyScanner *> InputArtifactScanner::scannersForArtifact(const Artifac } } } - for (const DependencyScannerPtr &scanner : qAsConst(cache.scanners)) + for (const DependencyScannerPtr &scanner : std::as_const(cache.scanners)) scanners += scanner.get(); } return scanners; @@ -243,7 +243,7 @@ void InputArtifactScanner::scanForScannerFileDependencies(DependencyScanner *sca cache.searchPaths = scanner->collectSearchPaths(inputArtifact); } qCDebug(lcDepScan) << "include paths (cache" << (cacheHit ? "hit)" : "miss)"); - for (const QString &s : qAsConst(cache.searchPaths)) + for (const QString &s : std::as_const(cache.searchPaths)) qCDebug(lcDepScan) << " " << s; const QString &filePathToBeScanned = fileToBeScanned->filePath(); @@ -289,7 +289,7 @@ void InputArtifactScanner::resolveScanResultDependencies(const Artifact *inputAr } // try include paths - for (const QString &includePath : qAsConst(cache.searchPaths)) { + for (const QString &includePath : std::as_const(cache.searchPaths)) { resolveDepencency(dependency, inputArtifact->product.get(), &resolvedDependency, includePath); if (resolvedDependency.isValid()) diff --git a/src/lib/corelib/buildgraph/processcommandexecutor.cpp b/src/lib/corelib/buildgraph/processcommandexecutor.cpp index 0058b940e..b308e9c47 100644 --- a/src/lib/corelib/buildgraph/processcommandexecutor.cpp +++ b/src/lib/corelib/buildgraph/processcommandexecutor.cpp @@ -398,7 +398,7 @@ void ProcessCommandExecutor::doReportCommandDescription(const QString &productNa if (m_echoMode == CommandEchoModeCommandLineWithEnvironment) { QStringList keys = m_commandEnvironment.keys(); keys.sort(); - for (const QString &key : qAsConst(keys)) + for (const QString &key : std::as_const(keys)) fullInvocation += environmentVariableString(key, m_commandEnvironment.value(key)); } fullInvocation += m_shellInvocation; diff --git a/src/lib/corelib/buildgraph/productinstaller.cpp b/src/lib/corelib/buildgraph/productinstaller.cpp index 80a76d7f5..f757c8a85 100644 --- a/src/lib/corelib/buildgraph/productinstaller.cpp +++ b/src/lib/corelib/buildgraph/productinstaller.cpp @@ -96,7 +96,7 @@ void ProductInstaller::install() removeInstallRoot(); QList<const Artifact *> artifactsToInstall; - for (const auto &product : qAsConst(m_products)) { + for (const auto &product : std::as_const(m_products)) { QBS_CHECK(product->buildData); for (const Artifact *artifact : filterByType<Artifact>(product->buildData->allNodes())) { if (artifact->properties->qbsPropertyValue(StringConstants::installProperty()).toBool()) @@ -105,7 +105,7 @@ void ProductInstaller::install() } m_observer->initialize(Tr::tr("Installing"), artifactsToInstall.size()); - for (const Artifact * const a : qAsConst(artifactsToInstall)) { + for (const Artifact * const a : std::as_const(artifactsToInstall)) { copyFile(a); m_observer->incrementProgressValue(); } diff --git a/src/lib/corelib/buildgraph/projectbuilddata.cpp b/src/lib/corelib/buildgraph/projectbuilddata.cpp index c229a6171..36ac75331 100644 --- a/src/lib/corelib/buildgraph/projectbuilddata.cpp +++ b/src/lib/corelib/buildgraph/projectbuilddata.cpp @@ -157,7 +157,7 @@ void ProjectBuildData::insertFileDependency(FileDependency *dependency) static void disconnectArtifactChildren(Artifact *artifact) { qCDebug(lcBuildGraph) << "disconnect children of" << relativeArtifactFileName(artifact); - for (BuildGraphNode * const child : qAsConst(artifact->children)) + for (BuildGraphNode * const child : std::as_const(artifact->children)) child->parents.remove(artifact); artifact->children.clear(); artifact->childrenAddedByScanner.clear(); @@ -166,7 +166,7 @@ static void disconnectArtifactChildren(Artifact *artifact) static void disconnectArtifactParents(Artifact *artifact) { qCDebug(lcBuildGraph) << "disconnect parents of" << relativeArtifactFileName(artifact); - for (BuildGraphNode * const parent : qAsConst(artifact->parents)) { + for (BuildGraphNode * const parent : std::as_const(artifact->parents)) { parent->children.remove(artifact); if (parent->type() != BuildGraphNode::ArtifactNodeType) continue; @@ -257,7 +257,7 @@ void ProjectBuildData::setClean() void ProjectBuildData::load(PersistentPool &pool) { serializationOp<PersistentPool::Load>(pool); - for (FileDependency * const dep : qAsConst(fileDependencies)) + for (FileDependency * const dep : std::as_const(fileDependencies)) insertIntoLookupTable(dep); m_isDirty = false; } @@ -337,7 +337,7 @@ private: { if (!m_rulesOnPath.insert(rule.get()).second) { QString pathstr; - for (const Rule *r : qAsConst(m_rulePath)) { + for (const Rule *r : std::as_const(m_rulePath)) { pathstr += QLatin1Char('\n') + r->toString() + QLatin1Char('\t') + r->prepareScript.location().toString(); } @@ -394,7 +394,7 @@ void BuildDataResolver::resolveProductBuildData(const ResolvedProductPtr &produc product->buildData = std::make_unique<ProductBuildData>(); ArtifactSetByFileTag artifactsPerFileTag; - for (const auto &dependency : qAsConst(product->dependencies)) { + for (const auto &dependency : std::as_const(product->dependencies)) { QBS_CHECK(dependency->enabled); resolveProductBuildData(dependency); } diff --git a/src/lib/corelib/buildgraph/rulegraph.cpp b/src/lib/corelib/buildgraph/rulegraph.cpp index 3f9a4fcb5..2acc2a97e 100644 --- a/src/lib/corelib/buildgraph/rulegraph.cpp +++ b/src/lib/corelib/buildgraph/rulegraph.cpp @@ -61,11 +61,11 @@ void RuleGraph::build(const std::vector<RulePtr> &rules, const FileTags &product m_parents.resize(rules.size()); m_children.resize(rules.size()); - for (const auto &rule : qAsConst(m_rules)) { + for (const auto &rule : std::as_const(m_rules)) { FileTags inFileTags = rule->inputs; inFileTags += rule->auxiliaryInputs; inFileTags += rule->explicitlyDependsOn; - for (const FileTag &fileTag : qAsConst(inFileTags)) { + for (const FileTag &fileTag : std::as_const(inFileTags)) { inputFileTagToRule[fileTag].push_back(rule.get()); for (const Rule * const producingRule : m_outputFileTagToRule.value(fileTag)) { if (!producingRule->collectedOutputFileTags().intersects( @@ -82,14 +82,14 @@ void RuleGraph::build(const std::vector<RulePtr> &rules, const FileTags &product productRules << rules; //### check: the rule graph must be a in valid shape! } - for (const Rule *r : qAsConst(productRules)) + for (const Rule *r : std::as_const(productRules)) m_rootRules += r->ruleGraphId; } void RuleGraph::accept(RuleGraphVisitor *visitor) const { const RuleConstPtr nullParent; - for (int rootIndex : qAsConst(m_rootRules)) + for (int rootIndex : std::as_const(m_rootRules)) traverse(visitor, nullParent, m_rules.at(rootIndex)); } @@ -98,10 +98,10 @@ void RuleGraph::dump() const QByteArray indent; std::printf("---rule graph dump:\n"); Set<int> rootRules; - for (const auto &rule : qAsConst(m_rules)) + for (const auto &rule : std::as_const(m_rules)) if (m_parents[rule->ruleGraphId].empty()) rootRules += rule->ruleGraphId; - for (int idx : qAsConst(rootRules)) + for (int idx : std::as_const(rootRules)) dump_impl(indent, idx); } @@ -113,7 +113,7 @@ void RuleGraph::dump_impl(QByteArray &indent, int rootIndex) const std::printf("\n"); indent.append(" "); - for (int childIndex : qAsConst(m_children[rootIndex])) + for (int childIndex : std::as_const(m_children[rootIndex])) dump_impl(indent, childIndex); indent.chop(2); } diff --git a/src/lib/corelib/buildgraph/rulenode.cpp b/src/lib/corelib/buildgraph/rulenode.cpp index 0558ba144..8568e4098 100644 --- a/src/lib/corelib/buildgraph/rulenode.cpp +++ b/src/lib/corelib/buildgraph/rulenode.cpp @@ -229,7 +229,7 @@ int RuleNode::transformerCount() const ArtifactSet RuleNode::currentInputArtifacts() const { ArtifactSet s; - for (const FileTag &t : qAsConst(m_rule->inputs)) { + for (const FileTag &t : std::as_const(m_rule->inputs)) { for (Artifact *artifact : product->lookupArtifactsByFileTag(t)) { if (artifact->isTargetOfModule()) continue; @@ -246,7 +246,7 @@ ArtifactSet RuleNode::currentInputArtifacts() const if (m_rule->inputsFromDependencies.empty()) return s; - for (const FileTag &t : qAsConst(m_rule->inputsFromDependencies)) { + for (const FileTag &t : std::as_const(m_rule->inputsFromDependencies)) { for (Artifact *artifact : product->lookupArtifactsByFileTag(t)) { if (!artifact->isTargetOfModule()) continue; @@ -258,7 +258,7 @@ ArtifactSet RuleNode::currentInputArtifacts() const } } - for (const auto &dep : qAsConst(product->dependencies)) { + for (const auto &dep : std::as_const(product->dependencies)) { if (!dep->buildData) continue; for (Artifact * const a : filterByType<Artifact>(dep->buildData->allNodes())) { diff --git a/src/lib/corelib/buildgraph/rulesapplicator.cpp b/src/lib/corelib/buildgraph/rulesapplicator.cpp index 84956d123..5cc4be96e 100644 --- a/src/lib/corelib/buildgraph/rulesapplicator.cpp +++ b/src/lib/corelib/buildgraph/rulesapplicator.cpp @@ -146,7 +146,7 @@ void RulesApplicator::handleRemovedRuleOutputs(const ArtifactSet &inputArtifacts project->buildData->removeArtifactAndExclusiveDependents(removedArtifact, logger, true, &artifactsToRemove); } - for (Artifact * const artifact : qAsConst(artifactsToRemove)) { + for (Artifact * const artifact : std::as_const(artifactsToRemove)) { QBS_CHECK(!inputArtifacts.contains(artifact)); removedArtifacts << artifact->filePath(); delete artifact; @@ -247,8 +247,8 @@ void RulesApplicator::doApply(const ArtifactSet &inputArtifacts, JSValue prepare if (outputArtifacts.empty()) return; - for (Artifact * const outputArtifact : qAsConst(outputArtifacts)) { - for (Artifact * const dependency : qAsConst(m_transformer->explicitlyDependsOn)) + for (Artifact * const outputArtifact : std::as_const(outputArtifacts)) { + for (Artifact * const dependency : std::as_const(m_transformer->explicitlyDependsOn)) connect(outputArtifact, dependency); } @@ -313,7 +313,7 @@ void RulesApplicator::doApply(const ArtifactSet &inputArtifacts, JSValue prepare || m_oldTransformer->commands != m_transformer->commands || commandsNeedRerun(m_transformer.get(), m_product.get(), m_productsByName, m_projectsByName)) { - for (Artifact * const output : qAsConst(outputArtifacts)) { + for (Artifact * const output : std::as_const(outputArtifacts)) { output->clearTimestamp(); m_invalidatedArtifacts += output; } diff --git a/src/lib/corelib/buildgraph/transformerchangetracking.cpp b/src/lib/corelib/buildgraph/transformerchangetracking.cpp index 710590654..f0b8986f4 100644 --- a/src/lib/corelib/buildgraph/transformerchangetracking.cpp +++ b/src/lib/corelib/buildgraph/transformerchangetracking.cpp @@ -257,7 +257,7 @@ const ResolvedProduct *TrafoChangeTracker::getProduct(const QString &name) const bool TrafoChangeTracker::prepareScriptNeedsRerun() const { - for (const Property &property : qAsConst(m_transformer->propertiesRequestedInPrepareScript)) { + for (const Property &property : std::as_const(m_transformer->propertiesRequestedInPrepareScript)) { if (checkForPropertyChange(property, propertyMapByKind(property))) return true; } @@ -269,7 +269,7 @@ bool TrafoChangeTracker::prepareScriptNeedsRerun() const for (auto it = m_transformer->propertiesRequestedFromArtifactInPrepareScript.constBegin(); it != m_transformer->propertiesRequestedFromArtifactInPrepareScript.constEnd(); ++it) { - for (const Property &property : qAsConst(it.value())) { + for (const Property &property : std::as_const(it.value())) { const Artifact * const artifact = getArtifact(it.key(), property.productName); if (!artifact) return true; @@ -297,14 +297,14 @@ bool TrafoChangeTracker::prepareScriptNeedsRerun() const bool TrafoChangeTracker::commandsNeedRerun() const { - for (const Property &property : qAsConst(m_transformer->propertiesRequestedInCommands)) { + for (const Property &property : std::as_const(m_transformer->propertiesRequestedInCommands)) { if (checkForPropertyChange(property, propertyMapByKind(property))) return true; } for (auto it = m_transformer->propertiesRequestedFromArtifactInCommands.cbegin(); it != m_transformer->propertiesRequestedFromArtifactInCommands.cend(); ++it) { - for (const Property &property : qAsConst(it.value())) { + for (const Property &property : std::as_const(it.value())) { const Artifact * const artifact = getArtifact(it.key(), property.productName); if (!artifact) return true; @@ -331,7 +331,7 @@ bool TrafoChangeTracker::commandsNeedRerun() const return true; // TODO: Also track env access in JS commands and prepare scripts - for (const AbstractCommandPtr &c : qAsConst(m_transformer->commands.commands())) { + for (const AbstractCommandPtr &c : std::as_const(m_transformer->commands.commands())) { if (c->type() != AbstractCommand::ProcessCommandType) continue; const ProcessCommandPtr &processCmd = std::static_pointer_cast<ProcessCommand>(c); diff --git a/src/lib/corelib/generators/generator.cpp b/src/lib/corelib/generators/generator.cpp index d3cdce412..cc1df8542 100644 --- a/src/lib/corelib/generators/generator.cpp +++ b/src/lib/corelib/generators/generator.cpp @@ -210,7 +210,7 @@ const GeneratableProject ProjectGenerator::project() const { QMap<QString, ProjectData> rootProjects; GeneratableProject proj; - for (const auto &project : qAsConst(d->projects)) { + for (const auto &project : std::as_const(d->projects)) { const QString configurationName = _configurationName(project); rootProjects.insert(configurationName, project.projectData()); proj.projects.insert(configurationName, project); diff --git a/src/lib/corelib/generators/generatorutils.cpp b/src/lib/corelib/generators/generatorutils.cpp index de283755c..d2dcbba25 100644 --- a/src/lib/corelib/generators/generatorutils.cpp +++ b/src/lib/corelib/generators/generatorutils.cpp @@ -127,7 +127,7 @@ std::vector<ProductData> dependenciesOf(const ProductData &qbsProduct, { std::vector<ProductData> result; const auto &depsNames = qbsProduct.dependencies(); - for (const auto &product : qAsConst(genProject.products)) { + for (const auto &product : std::as_const(genProject.products)) { const auto pt = product.type(); if (!pt.contains(QLatin1String("staticlibrary"))) continue; diff --git a/src/lib/corelib/jsextensions/moduleproperties.cpp b/src/lib/corelib/jsextensions/moduleproperties.cpp index 4f83bf640..2c73f2c53 100644 --- a/src/lib/corelib/jsextensions/moduleproperties.cpp +++ b/src/lib/corelib/jsextensions/moduleproperties.cpp @@ -177,7 +177,7 @@ static JSValue js_moduleDependencies(JSContext *ctx, JSValueConst this_val, int const auto module = attachedPointer<ResolvedModule>(this_val, engine->dataWithPtrClass()); JSValue result = JS_NewArray(engine->context()); quint32 idx = 0; - for (const QString &depName : qAsConst(module->moduleDependencies)) { + for (const QString &depName : std::as_const(module->moduleDependencies)) { for (const auto &dep : module->product->modules) { if (dep->name != depName) continue; diff --git a/src/lib/corelib/language/evaluator.cpp b/src/lib/corelib/language/evaluator.cpp index 4d85f5f8a..9a19828bb 100644 --- a/src/lib/corelib/language/evaluator.cpp +++ b/src/lib/corelib/language/evaluator.cpp @@ -91,18 +91,18 @@ Evaluator::Evaluator(ScriptEngine *scriptEngine) Evaluator::~Evaluator() { Set<JSValue> valuesToFree; - for (const auto &data : qAsConst(m_scriptValueMap)) { + for (const auto &data : std::as_const(m_scriptValueMap)) { const auto evalData = attachedPointer<EvaluationData>(data, m_scriptClass); valuesToFree << data; for (const JSValue cachedValue : evalData->valueCache) JS_FreeValue(m_scriptEngine->context(), cachedValue); delete evalData; } - for (const auto &scopes : qAsConst(m_fileContextScopesMap)) { + for (const auto &scopes : std::as_const(m_fileContextScopesMap)) { valuesToFree << scopes.fileScope; valuesToFree << scopes.importScope; } - for (const JSValue v : qAsConst(valuesToFree)) { + for (const JSValue v : std::as_const(valuesToFree)) { JS_FreeValue(m_scriptEngine->context(), v); } m_scriptEngine->unregisterEvaluator(this); @@ -227,7 +227,7 @@ void Evaluator::clearCache(const Item *item) const auto data = attachedPointer<EvaluationData>(m_scriptValueMap.value(item), m_scriptEngine->dataWithPtrClass()); if (data) { - for (const auto value : qAsConst(data->valueCache)) + for (const auto value : std::as_const(data->valueCache)) JS_FreeValue(m_scriptEngine->context(), value); data->valueCache.clear(); } @@ -837,7 +837,7 @@ static void collectValuesFromNextChain( *result = engine->newArray(int(lst.size()), JsValueOwner::ScriptEngine); quint32 k = 0; JSContext * const ctx = engine->context(); - for (const JSValue &v : qAsConst(lst)) { + for (const JSValue &v : std::as_const(lst)) { QBS_ASSERT(!JS_IsError(ctx, v), continue); if (JS_IsArray(ctx, v)) { const quint32 vlen = getJsIntProperty(ctx, v, StringConstants::lengthProperty()); diff --git a/src/lib/corelib/language/item.cpp b/src/lib/corelib/language/item.cpp index aa4f2ce00..647d05aa2 100644 --- a/src/lib/corelib/language/item.cpp +++ b/src/lib/corelib/language/item.cpp @@ -90,7 +90,7 @@ Item *Item::clone() const dup->m_modules = m_modules; dup->m_children.reserve(m_children.size()); - for (const Item * const child : qAsConst(m_children)) { + for (const Item * const child : std::as_const(m_children)) { Item *clonedChild = child->clone(); clonedChild->m_parent = dup; dup->m_children.push_back(clonedChild); @@ -345,7 +345,7 @@ void Item::dump(int indentation) const } if (!m_children.empty()) qDebug("%schildren:", indent.constData()); - for (const Item * const child : qAsConst(m_children)) + for (const Item * const child : std::as_const(m_children)) child->dump(indentation + 4); if (prototype()) { qDebug("%sprototype:", indent.constData()); diff --git a/src/lib/corelib/language/language.cpp b/src/lib/corelib/language/language.cpp index 58ca987e9..33fd3c6a4 100644 --- a/src/lib/corelib/language/language.cpp +++ b/src/lib/corelib/language/language.cpp @@ -313,7 +313,7 @@ void ResolvedProduct::accept(BuildGraphVisitor *visitor) const { if (!buildData) return; - for (BuildGraphNode * const node : qAsConst(buildData->rootNodes())) + for (BuildGraphNode * const node : std::as_const(buildData->rootNodes())) node->accept(visitor); } @@ -347,7 +347,7 @@ FileTags ResolvedProduct::fileTagsForFileName(const QString &fileName) const { FileTags result; std::unique_ptr<int> priority; - for (const FileTaggerConstPtr &tagger : qAsConst(fileTaggers)) { + for (const FileTaggerConstPtr &tagger : std::as_const(fileTaggers)) { for (const QRegularExpression &pattern : tagger->patterns()) { if (pattern.match(fileName).hasMatch()) { if (priority) { @@ -514,7 +514,7 @@ void ResolvedProject::accept(BuildGraphVisitor *visitor) const { for (const ResolvedProductPtr &product : products) product->accept(visitor); - for (const ResolvedProjectPtr &subProject : qAsConst(subProjects)) + for (const ResolvedProjectPtr &subProject : std::as_const(subProjects)) subProject->accept(visitor); } @@ -541,7 +541,7 @@ std::vector<ResolvedProjectPtr> ResolvedProject::allSubProjects() const std::vector<ResolvedProductPtr> ResolvedProject::allProducts() const { std::vector<ResolvedProductPtr> productList = products; - for (const auto &subProject : qAsConst(subProjects)) + for (const auto &subProject : std::as_const(subProjects)) productList << subProject->allProducts(); return productList; } @@ -553,11 +553,11 @@ void ResolvedProject::load(PersistentPool &pool) [](const ResolvedProductPtr &p) { if (!p->buildData) return; - for (BuildGraphNode * const node : qAsConst(p->buildData->allNodes())) { + for (BuildGraphNode * const node : std::as_const(p->buildData->allNodes())) { node->product = p; // restore parent links - for (BuildGraphNode * const child : qAsConst(node->children)) + for (BuildGraphNode * const child : std::as_const(node->children)) child->parents.insert(node); } }); @@ -666,7 +666,7 @@ void TopLevelProject::store(PersistentPool &pool) void TopLevelProject::cleanupModuleProviderOutput() { QString error; - for (const ModuleProviderInfo &m : qAsConst(moduleProviderInfo.providers)) { + for (const ModuleProviderInfo &m : std::as_const(moduleProviderInfo.providers)) { if (m.transientOutput) { if (!removeDirectoryWithContents(m.outputDirPath(buildDirectory), &error)) qCWarning(lcBuildGraph) << "Error removing module provider output:" << error; diff --git a/src/lib/corelib/language/scriptengine.cpp b/src/lib/corelib/language/scriptengine.cpp index 6a67c1228..11d41b5c2 100644 --- a/src/lib/corelib/language/scriptengine.cpp +++ b/src/lib/corelib/language/scriptengine.cpp @@ -174,9 +174,9 @@ ScriptEngine::~ScriptEngine() m_logger.qbsLog(LoggerInfo, true) << Tr::tr("Setting up imports took %1.") .arg(elapsedTimeString(m_elapsedTimeImporting)); } - for (const auto &ext : qAsConst(m_internalExtensions)) + for (const auto &ext : std::as_const(m_internalExtensions)) JS_FreeValue(m_context, ext); - for (const JSValue &s : qAsConst(m_stringCache)) + for (const JSValue &s : std::as_const(m_stringCache)) JS_FreeValue(m_context, s); for (JSValue * const externalRef : std::as_const(m_externallyCachedValues)) { JS_FreeValue(m_context, *externalRef); @@ -192,7 +192,7 @@ void ScriptEngine::reset() // TODO: Check whether we can keep file and imports cache. // We'd have to find a solution for the scope name problem then. clearImportsCache(); - for (const auto &e : qAsConst(m_jsFileCache)) + for (const auto &e : std::as_const(m_jsFileCache)) JS_FreeValue(m_context, e.second); m_jsFileCache.clear(); @@ -201,19 +201,19 @@ void ScriptEngine::reset() JS_FreeValue(m_context, it.key()); } m_evalResults.clear(); - for (const auto &e : qAsConst(m_projectScriptValues)) + for (const auto &e : std::as_const(m_projectScriptValues)) JS_FreeValue(m_context, e.second); m_projectScriptValues.clear(); - for (const auto &e : qAsConst(m_baseProductScriptValues)) + for (const auto &e : std::as_const(m_baseProductScriptValues)) JS_FreeValue(m_context, e.second); m_baseProductScriptValues.clear(); - for (const auto &e : qAsConst(m_productArtifactsMapScriptValues)) + for (const auto &e : std::as_const(m_productArtifactsMapScriptValues)) JS_FreeValue(m_context, e.second); m_productArtifactsMapScriptValues.clear(); - for (const auto &e : qAsConst(m_moduleArtifactsMapScriptValues)) + for (const auto &e : std::as_const(m_moduleArtifactsMapScriptValues)) JS_FreeValue(m_context, e.second); m_moduleArtifactsMapScriptValues.clear(); - for (const auto &e : qAsConst(m_baseModuleScriptValues)) + for (const auto &e : std::as_const(m_baseModuleScriptValues)) JS_FreeValue(m_context, e.second); m_baseModuleScriptValues.clear(); for (auto it = m_artifactsScriptValues.cbegin(); it != m_artifactsScriptValues.cend(); ++it) { @@ -279,7 +279,7 @@ void ScriptEngine::observeImport(JSValue &jsImport) void ScriptEngine::clearImportsCache() { - for (const auto &jsImport : qAsConst(m_jsImportCache)) + for (const auto &jsImport : std::as_const(m_jsImportCache)) JS_FreeValue(m_context, jsImport); m_jsImportCache.clear(); m_filePathsPerImport.clear(); diff --git a/src/lib/corelib/loader/astimportshandler.cpp b/src/lib/corelib/loader/astimportshandler.cpp index f31084f36..90887e728 100644 --- a/src/lib/corelib/loader/astimportshandler.cpp +++ b/src/lib/corelib/loader/astimportshandler.cpp @@ -269,7 +269,7 @@ void ASTImportsHandler::collectPrototypes(const QString &path, const QString &as { QStringList fileNames; // Yes, file *names*. if (m_visitorState.findDirectoryEntries(path, &fileNames)) { - for (const QString &fileName : qAsConst(fileNames)) + for (const QString &fileName : std::as_const(fileNames)) addPrototype(fileName, path + QLatin1Char('/') + fileName, as, false); return; } diff --git a/src/lib/corelib/loader/dependenciesresolver.cpp b/src/lib/corelib/loader/dependenciesresolver.cpp index e2a95aab7..e6a42f528 100644 --- a/src/lib/corelib/loader/dependenciesresolver.cpp +++ b/src/lib/corelib/loader/dependenciesresolver.cpp @@ -856,7 +856,7 @@ void DependenciesResolver::Private::adjustDependsItemForMultiplexing(Item *depen // In case of (2a), at most 1 match is allowed if (productIsMultiplexed && !profilesPropertyIsSet && multiplexIds.size() > 1) { QStringList candidateNames; - for (const auto &id : qAsConst(multiplexIds)) + for (const auto &id : std::as_const(multiplexIds)) candidateNames << ProductItemMultiplexer::fullProductDisplayName(name, id); throw ErrorInfo( Tr::tr("Dependency from product '%1' to product '%2' is ambiguous. " diff --git a/src/lib/corelib/loader/itemreaderastvisitor.cpp b/src/lib/corelib/loader/itemreaderastvisitor.cpp index 94be46bf3..48bd0af1b 100644 --- a/src/lib/corelib/loader/itemreaderastvisitor.cpp +++ b/src/lib/corelib/loader/itemreaderastvisitor.cpp @@ -321,7 +321,7 @@ Item *ItemReaderASTVisitor::targetItemForBinding(const QStringList &bindingName, void ItemReaderASTVisitor::inheritItem(Item *dst, const Item *src) { int insertPos = 0; - for (Item *child : qAsConst(src->m_children)) { + for (Item *child : std::as_const(src->m_children)) { dst->m_children.insert(insertPos++, child); child->m_parent = dst; } diff --git a/src/lib/corelib/loader/projectresolver.cpp b/src/lib/corelib/loader/projectresolver.cpp index 388115e8e..71685c859 100644 --- a/src/lib/corelib/loader/projectresolver.cpp +++ b/src/lib/corelib/loader/projectresolver.cpp @@ -402,7 +402,7 @@ static void makeSubProjectNamesUniqe(const ResolvedProjectPtr &parentProject) { Set<QString> subProjectNames; Set<ResolvedProjectPtr> projectsInNeedOfNameChange; - for (const ResolvedProjectPtr &p : qAsConst(parentProject->subProjects)) { + for (const ResolvedProjectPtr &p : std::as_const(parentProject->subProjects)) { if (!subProjectNames.insert(p->name).second) projectsInNeedOfNameChange << p; makeSubProjectNamesUniqe(p); @@ -704,7 +704,7 @@ void ProjectResolver::Private::resolveProductFully(Item *item, ResolverProjectCo { ItemType::PropertyOptions, &ProjectResolver::Private::ignoreItem } }; - for (Item * const child : qAsConst(subItems)) + for (Item * const child : std::as_const(subItems)) callItemFunction(mapping, child, projectContext); for (const ResolverProjectContext *p = projectContext; p; p = p->parentContext) { @@ -714,7 +714,7 @@ void ProjectResolver::Private::resolveProductFully(Item *item, ResolverProjectCo resolveModules(item, projectContext); - for (const FileTag &t : qAsConst(product->fileTags)) + for (const FileTag &t : std::as_const(product->fileTags)) productsByType[t].push_back(product); } @@ -893,7 +893,7 @@ QVariantMap ProjectResolver::Private::resolveAdditionalModuleProperties( if (propsForModule.empty()) continue; QVariantMap reusableValues = modulesMap.value(fullModName).toMap(); - for (const QString &prop : qAsConst(propsForModule)) + for (const QString &prop : std::as_const(propsForModule)) reusableValues.remove(prop); modulesMap.insert(fullModName, evaluateProperties(module.item, module.item, reusableValues, true, true)); @@ -1034,7 +1034,7 @@ void ProjectResolver::Private::resolveGroupFully( &productContext->sourceArtifactLocations, &fileError); } - for (const QString &fileName : qAsConst(files)) { + for (const QString &fileName : std::as_const(files)) { createSourceArtifact(productContext->product, fileName, group, false, filesLocation, &productContext->sourceArtifactLocations, &fileError); } @@ -1138,7 +1138,7 @@ void ProjectResolver::Private::collectExportedProductDependencies() { ResolvedProductPtr dummyProduct = ResolvedProduct::create(); dummyProduct->enabled = false; - for (const auto &exportingProductInfo : qAsConst(productExportInfo)) { + for (const auto &exportingProductInfo : std::as_const(productExportInfo)) { const ResolvedProductPtr exportingProduct = exportingProductInfo.first; if (!exportingProduct->enabled) continue; diff --git a/src/lib/corelib/loader/projecttreebuilder.cpp b/src/lib/corelib/loader/projecttreebuilder.cpp index 3fea3e856..a03195318 100644 --- a/src/lib/corelib/loader/projecttreebuilder.cpp +++ b/src/lib/corelib/loader/projecttreebuilder.cpp @@ -356,7 +356,7 @@ void ProjectTreeBuilder::Private::handleTopLevelProject(Item *projectItem, collectProductsByName(); checkProductNamesInOverrides(); - for (ProjectContext * const projectContext : qAsConst(topLevelProject.projects)) { + for (ProjectContext * const projectContext : std::as_const(topLevelProject.projects)) { for (ProductContext &productContext : projectContext->products) topLevelProject.productsToHandle.emplace_back(&productContext, -1); } @@ -437,7 +437,7 @@ void ProjectTreeBuilder::Private::handleProject(Item *projectItem, if (child->type() == ItemType::Product) multiplexedProducts << multiplexProductItem(dummyProductContext, child); } - for (Item * const additionalProductItem : qAsConst(multiplexedProducts)) + for (Item * const additionalProductItem : std::as_const(multiplexedProducts)) Item::addChild(projectItem, additionalProductItem); const QList<Item *> originalChildren = projectItem->children(); @@ -473,7 +473,7 @@ void ProjectTreeBuilder::Private::handleProject(Item *projectItem, logger.printWarning(error); } } - for (Item * const subItem : qAsConst(additionalProjectChildren)) { + for (Item * const subItem : std::as_const(additionalProjectChildren)) { Item::addChild(projectContext.item, subItem); switch (subItem->type()) { case ItemType::Product: @@ -1060,7 +1060,7 @@ bool ProjectTreeBuilder::Private::mergeExportItems(ProductContext &productContex merged->setProperty(nameKey, nameValue); Set<FileContextConstPtr> filesWithExportItem; QVariantMap defaultParameters; - for (Item * const exportItem : qAsConst(exportItems)) { + for (Item * const exportItem : std::as_const(exportItems)) { checkCancelation(); if (Q_UNLIKELY(filesWithExportItem.contains(exportItem->file()))) throw ErrorInfo(Tr::tr("Multiple Export items in one product are prohibited."), diff --git a/src/lib/corelib/tools/error.cpp b/src/lib/corelib/tools/error.cpp index 16ce47ca9..963089fe8 100644 --- a/src/lib/corelib/tools/error.cpp +++ b/src/lib/corelib/tools/error.cpp @@ -276,7 +276,7 @@ void ErrorInfo::clear() QString ErrorInfo::toString() const { QStringList lines; - for (const ErrorItem &e : qAsConst(d->items)) { + for (const ErrorItem &e : std::as_const(d->items)) { if (e.isBacktraceItem()) { QString line; if (!e.description().isEmpty()) diff --git a/src/lib/corelib/tools/executablefinder.cpp b/src/lib/corelib/tools/executablefinder.cpp index 5bf531551..0bdc861fa 100644 --- a/src/lib/corelib/tools/executablefinder.cpp +++ b/src/lib/corelib/tools/executablefinder.cpp @@ -99,7 +99,7 @@ QString ExecutableFinder::findBySuffix(const QString &filePath) const bool ExecutableFinder::candidateCheck(const QString &directory, const QString &program, QString &fullProgramPath) const { - for (const QString &suffix : qAsConst(m_executableSuffixes)) { + for (const QString &suffix : std::as_const(m_executableSuffixes)) { QString candidate = directory + program + suffix; qCDebug(lcExec) << "candidate:" << candidate; QFileInfo fi(candidate); @@ -123,7 +123,7 @@ QString ExecutableFinder::findInPath(const QString &filePath, const QString &wor .split(HostOsInfo::pathListSeparator(), QBS_SKIP_EMPTY_PARTS); if (HostOsInfo::isWindowsHost()) pathEnv.prepend(StringConstants::dot()); - for (QString directory : qAsConst(pathEnv)) { + for (QString directory : std::as_const(pathEnv)) { if (directory == StringConstants::dot()) directory = workingDirPath; if (!directory.isEmpty()) { diff --git a/src/lib/corelib/tools/launchersocket.cpp b/src/lib/corelib/tools/launchersocket.cpp index 1489af1e9..4b72d7580 100644 --- a/src/lib/corelib/tools/launchersocket.cpp +++ b/src/lib/corelib/tools/launchersocket.cpp @@ -144,7 +144,7 @@ void LauncherSocket::handleRequests() const auto socket = m_socket.load(); QBS_ASSERT(socket, return); std::lock_guard<std::mutex> locker(m_requestsMutex); - for (const QByteArray &request : qAsConst(m_requests)) + for (const QByteArray &request : std::as_const(m_requests)) socket->write(request); m_requests.clear(); } diff --git a/src/lib/corelib/tools/qbspluginmanager.cpp b/src/lib/corelib/tools/qbspluginmanager.cpp index d4e92e22a..0816d9d25 100644 --- a/src/lib/corelib/tools/qbspluginmanager.cpp +++ b/src/lib/corelib/tools/qbspluginmanager.cpp @@ -79,7 +79,7 @@ QbsPluginManager::~QbsPluginManager() { unloadStaticPlugins(); - for (QLibrary * const lib : qAsConst(d->libs)) { + for (QLibrary * const lib : std::as_const(d->libs)) { auto unload = reinterpret_cast<QbsPluginUnloadFunction>(lib->resolve("QbsPluginUnload")); if (unload) unload(); diff --git a/src/lib/corelib/tools/settingsmodel.cpp b/src/lib/corelib/tools/settingsmodel.cpp index 31aa0f5f1..89d923496 100644 --- a/src/lib/corelib/tools/settingsmodel.cpp +++ b/src/lib/corelib/tools/settingsmodel.cpp @@ -78,7 +78,7 @@ QString Node::uniqueChildName() const bool unique; do { unique = true; - for (const Node *childNode : qAsConst(children)) { + for (const Node *childNode : std::as_const(children)) { if (childNode->name == newName) { unique = false; newName += QLatin1Char('_'); @@ -361,7 +361,7 @@ void SettingsModel::SettingsModelPrivate::addNode(qbs::Internal::Node *parentNod const QString ¤tNamePart, const QStringList &restOfName, const QVariant &value) { Node *currentNode = nullptr; - for (Node * const n : qAsConst(parentNode->children)) { + for (Node * const n : std::as_const(parentNode->children)) { if (n->name == currentNamePart) { currentNode = n; break; @@ -385,7 +385,7 @@ void SettingsModel::SettingsModelPrivate::doSave(const Node *node, const QString } const QString newPrefix = prefix + node->name + QLatin1Char('.'); - for (const Node * const child : qAsConst(node->children)) + for (const Node * const child : std::as_const(node->children)) doSave(child, newPrefix); } diff --git a/src/lib/msbuild/solution/visualstudiosolution.cpp b/src/lib/msbuild/solution/visualstudiosolution.cpp index 89b266647..0f6cd4f23 100644 --- a/src/lib/msbuild/solution/visualstudiosolution.cpp +++ b/src/lib/msbuild/solution/visualstudiosolution.cpp @@ -72,7 +72,7 @@ QList<IVisualStudioSolutionProject *> VisualStudioSolution::projects() const QList<VisualStudioSolutionFileProject *> VisualStudioSolution::fileProjects() const { QList<VisualStudioSolutionFileProject *> list; - for (const auto &project : qAsConst(d->projects)) + for (const auto &project : std::as_const(d->projects)) if (auto fileProject = qobject_cast<VisualStudioSolutionFileProject *>(project)) list.push_back(fileProject); return list; @@ -81,7 +81,7 @@ QList<VisualStudioSolutionFileProject *> VisualStudioSolution::fileProjects() co QList<VisualStudioSolutionFolderProject *> VisualStudioSolution::folderProjects() const { QList<VisualStudioSolutionFolderProject *> list; - for (const auto &project : qAsConst(d->projects)) + for (const auto &project : std::as_const(d->projects)) if (auto folderProject = qobject_cast<VisualStudioSolutionFolderProject *>(project)) list.push_back(folderProject); return list; diff --git a/src/plugins/generator/iarew/archs/mcs51/mcs51generalsettingsgroup_v10.cpp b/src/plugins/generator/iarew/archs/mcs51/mcs51generalsettingsgroup_v10.cpp index 2fa3cfa6a..b3b68377f 100644 --- a/src/plugins/generator/iarew/archs/mcs51/mcs51generalsettingsgroup_v10.cpp +++ b/src/plugins/generator/iarew/archs/mcs51/mcs51generalsettingsgroup_v10.cpp @@ -230,7 +230,7 @@ struct TargetPageOptions final } const QString toolkitPath = IarewUtils::toolkitRootPath(qbsProduct); - for (const QVariant &configPath : qAsConst(configPaths)) { + for (const QVariant &configPath : std::as_const(configPaths)) { const QString fullConfigPath = configPath.toString(); // We interested only in a config paths shipped inside of a toolkit. if (!fullConfigPath.startsWith(toolkitPath, Qt::CaseInsensitive)) diff --git a/src/plugins/generator/keiluv/archs/arm/armtargetlinkergroup_v5.cpp b/src/plugins/generator/keiluv/archs/arm/armtargetlinkergroup_v5.cpp index 52a19cf81..f2bc8367e 100644 --- a/src/plugins/generator/keiluv/archs/arm/armtargetlinkergroup_v5.cpp +++ b/src/plugins/generator/keiluv/archs/arm/armtargetlinkergroup_v5.cpp @@ -101,7 +101,7 @@ struct LinkerPageOptions final if (scatterFiles.count() > 0) mainScatterFile = scatterFiles.takeFirst(); - for (const auto &scatterFile : qAsConst(scatterFiles)) { + for (const auto &scatterFile : std::as_const(scatterFiles)) { const auto control = QStringLiteral("--scatter %1").arg(scatterFile); miscControls.push_back(control); } diff --git a/src/plugins/generator/makefilegenerator/makefilegenerator.cpp b/src/plugins/generator/makefilegenerator/makefilegenerator.cpp index c53dccd31..690d83569 100644 --- a/src/plugins/generator/makefilegenerator/makefilegenerator.cpp +++ b/src/plugins/generator/makefilegenerator/makefilegenerator.cpp @@ -332,15 +332,15 @@ void qbs::MakefileGenerator::generate() } stream << "all:"; - for (const QString &target : qAsConst(allDefaultTargets)) + for (const QString &target : std::as_const(allDefaultTargets)) stream << ' ' << target; stream << '\n'; stream << "install:"; - for (const QString &target : qAsConst(allDefaultTargets)) + for (const QString &target : std::as_const(allDefaultTargets)) stream << ' ' << "install-" << target; stream << '\n'; stream << "clean:"; - for (const QString &target : qAsConst(allTargets)) + for (const QString &target : std::as_const(allTargets)) stream << ' ' << "clean-" << target; stream << '\n'; if (!filesCreatedByJsCommands.empty()) { diff --git a/src/plugins/generator/visualstudio/visualstudiogenerator.cpp b/src/plugins/generator/visualstudio/visualstudiogenerator.cpp index d0c367dd7..d6add9c6f 100644 --- a/src/plugins/generator/visualstudio/visualstudiogenerator.cpp +++ b/src/plugins/generator/visualstudio/visualstudiogenerator.cpp @@ -189,7 +189,7 @@ void VisualStudioGenerator::addPropertySheets(const GeneratableProject &project) void VisualStudioGenerator::addPropertySheets( const std::shared_ptr<MSBuildTargetProject> &targetProject) { - for (const auto &pair : qAsConst(d->propertySheetNames)) { + for (const auto &pair : std::as_const(d->propertySheetNames)) { targetProject->appendPropertySheet( QStringLiteral("$(SolutionDir)\\") + pair.first, pair.second); } diff --git a/tests/auto/api/tst_api.cpp b/tests/auto/api/tst_api.cpp index 79e4ebdae..cd387e0c2 100644 --- a/tests/auto/api/tst_api.cpp +++ b/tests/auto/api/tst_api.cpp @@ -1291,7 +1291,7 @@ void TestApi::fallbackGcc() QVERIFY(project.isValid()); QList<qbs::ProductData> products = project.allProducts(); QCOMPARE(products.size(), 2); - for (const qbs::ProductData &p : qAsConst(products)) { + for (const qbs::ProductData &p : std::as_const(products)) { if (p.profile() == "unixProfile") { qbs::PropertyMap moduleProps = p.moduleProperties(); QCOMPARE(moduleProps.getModuleProperty("qbs", "targetOS").toStringList(), @@ -1563,7 +1563,7 @@ void TestApi::linkDynamicAndStaticLibs() if (profileToolchain(buildProfile).contains("gcc")) { static const std::regex appLinkCmdRex(" -o [^ ]*/HelloWorld" QBS_HOST_EXE_SUFFIX " "); QString appLinkCmd; - for (const QString &line : qAsConst(bdr.descriptionLines)) { + for (const QString &line : std::as_const(bdr.descriptionLines)) { const auto ln = line.toStdString(); if (std::regex_search(ln, appLinkCmdRex)) { appLinkCmd = line; @@ -1596,7 +1596,7 @@ void TestApi::linkStaticAndDynamicLibs() if (profileToolchain(buildProfile).contains("gcc")) { static const std::regex appLinkCmdRex(" -o [^ ]*/HelloWorld" QBS_HOST_EXE_SUFFIX " "); QString appLinkCmd; - for (const QString &line : qAsConst(bdr.descriptionLines)) { + for (const QString &line : std::as_const(bdr.descriptionLines)) { const auto ln = line.toStdString(); if (std::regex_search(ln, appLinkCmdRex)) { appLinkCmd = line; @@ -1660,7 +1660,7 @@ void TestApi::localProfiles() qbs::ProductData libClang; qbs::ProductData appDebug; qbs::ProductData appRelease; - for (const qbs::ProductData &p : qAsConst(products)) { + for (const qbs::ProductData &p : std::as_const(products)) { if (p.name() == "lib") { if (p.profile() == "mingwProfile") libMingw = p; @@ -1730,7 +1730,7 @@ void TestApi::localProfiles() products = project.allProducts(); QCOMPARE(products.size(), 4); int clangProfiles = 0; - for (const qbs::ProductData &p : qAsConst(products)) { + for (const qbs::ProductData &p : std::as_const(products)) { if (p.profile() == "clangProfile") { ++clangProfiles; moduleProps = p.moduleProperties(); diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp index 164521422..424d08642 100644 --- a/tests/auto/blackbox/tst_blackbox.cpp +++ b/tests/auto/blackbox/tst_blackbox.cpp @@ -1719,7 +1719,7 @@ void TestBlackbox::clean() QVERIFY(!QFile(appExeFilePath).exists()); QVERIFY(!QFile(depObjectFilePath).exists()); QVERIFY(!QFile(depLibFilePath).exists()); - for (const QString &symLink : qAsConst(symlinks)) + for (const QString &symLink : std::as_const(symlinks)) QVERIFY2(!symlinkExists(symLink), qPrintable(symLink)); // Remove all, with a forced re-resolve in between. @@ -1738,7 +1738,7 @@ void TestBlackbox::clean() QVERIFY(!QFile(appExeFilePath).exists()); QVERIFY(!QFile(depObjectFilePath).exists()); QVERIFY(!QFile(depLibFilePath).exists()); - for (const QString &symLink : qAsConst(symlinks)) + for (const QString &symLink : std::as_const(symlinks)) QVERIFY2(!symlinkExists(symLink), qPrintable(symLink)); // Dry run. @@ -1750,7 +1750,7 @@ void TestBlackbox::clean() QVERIFY(regularFileExists(appExeFilePath)); QVERIFY(regularFileExists(depObjectFilePath)); QVERIFY(regularFileExists(depLibFilePath)); - for (const QString &symLink : qAsConst(symlinks)) + for (const QString &symLink : std::as_const(symlinks)) QVERIFY2(symlinkExists(symLink), qPrintable(symLink)); // Product-wise, dependency only. @@ -1764,7 +1764,7 @@ void TestBlackbox::clean() QVERIFY(regularFileExists(appExeFilePath)); QVERIFY(!QFile(depObjectFilePath).exists()); QVERIFY(!QFile(depLibFilePath).exists()); - for (const QString &symLink : qAsConst(symlinks)) + for (const QString &symLink : std::as_const(symlinks)) QVERIFY2(!symlinkExists(symLink), qPrintable(symLink)); // Product-wise, dependent product only. @@ -1778,7 +1778,7 @@ void TestBlackbox::clean() QVERIFY(!QFile(appExeFilePath).exists()); QVERIFY(regularFileExists(depObjectFilePath)); QVERIFY(regularFileExists(depLibFilePath)); - for (const QString &symLink : qAsConst(symlinks)) + for (const QString &symLink : std::as_const(symlinks)) QVERIFY2(symlinkExists(symLink), qPrintable(symLink)); } @@ -4426,7 +4426,7 @@ void TestBlackbox::installPackage() cleanOutputLines.push_back(trimmedLine); } QCOMPARE(cleanOutputLines.size(), 3); - for (const QByteArray &line : qAsConst(cleanOutputLines)) { + for (const QByteArray &line : std::as_const(cleanOutputLines)) { QVERIFY2(line.contains("public_tool") || line.contains("mylib") || line.contains("lib.h"), line.constData()); } @@ -4503,7 +4503,7 @@ void TestBlackbox::invalidLibraryNames() QbsRunParameters params(QStringList("project.valueIndex:" + index)); params.expectFailure = !success; QCOMPARE(runQbs(params) == 0, success); - for (const QString &diag : qAsConst(diagnostics)) + for (const QString &diag : std::as_const(diagnostics)) QVERIFY2(m_qbsStderr.contains(diag.toLocal8Bit()), m_qbsStderr.constData()); } @@ -7340,7 +7340,7 @@ static bool haveMakeNsis() QStringList paths = QProcessEnvironment::systemEnvironment().value("PATH") .split(HostOsInfo::pathListSeparator(), QBS_SKIP_EMPTY_PARTS); - for (const QString &key : qAsConst(regKeys)) { + for (const QString &key : std::as_const(regKeys)) { QSettings settings(key, QSettings::NativeFormat); QString str = settings.value(QStringLiteral(".")).toString(); if (!str.isEmpty()) @@ -7348,7 +7348,7 @@ static bool haveMakeNsis() } bool haveMakeNsis = false; - for (const QString &path : qAsConst(paths)) { + for (const QString &path : std::as_const(paths)) { if (regularFileExists(QDir::fromNativeSeparators(path) + HostOsInfo::appendExecutableSuffix(QStringLiteral("/makensis")))) { haveMakeNsis = true; @@ -7994,7 +7994,7 @@ void TestBlackbox::missingBuildGraph() QbsRunParameters params; params.expectFailure = true; params.arguments << QLatin1String("config:") + actualConfigName; - for (const QString &command : qAsConst(commands)) { + for (const QString &command : std::as_const(commands)) { params.command = command; QVERIFY2(runQbs(params) != 0, qPrintable(command)); const QString expectedErrorMessage = QString("Build graph not found for " diff --git a/tests/auto/blackbox/tst_blackboxandroid.cpp b/tests/auto/blackbox/tst_blackboxandroid.cpp index 6148a31b1..a74d9415d 100644 --- a/tests/auto/blackbox/tst_blackboxandroid.cpp +++ b/tests/auto/blackbox/tst_blackboxandroid.cpp @@ -131,7 +131,7 @@ void TestBlackboxAndroid::android() buildParams.buildDirectory = buildSubDir; buildParams.profile = p.name(); QCOMPARE(runQbs(buildParams), 0); - for (const QString &productName : qAsConst(productNames)) { + for (const QString &productName : std::as_const(productNames)) { const QByteArray tag(QTest::currentDataTag()); QCOMPARE(m_qbsStdout.count("generating BuildConfig.java"), isIncrementalBuild ? 0 : productNames.size()); @@ -262,7 +262,7 @@ void TestBlackboxAndroid::android_data() QByteArray base( aabPackage ? "base/" : ""); for (const QByteArray &entry : lst) { if (entry.contains(archPlaceHolder)) { - for (const QByteArray &arch : qAsConst(archs)) + for (const QByteArray &arch : std::as_const(archs)) result << (base + QByteArray(entry).replace(archPlaceHolder, arch)); } else { result << (base + entry); diff --git a/tests/auto/blackbox/tst_blackboxjava.cpp b/tests/auto/blackbox/tst_blackboxjava.cpp index 9495ab1b7..05bd99078 100644 --- a/tests/auto/blackbox/tst_blackboxjava.cpp +++ b/tests/auto/blackbox/tst_blackboxjava.cpp @@ -96,7 +96,7 @@ void TestBlackboxJava::java() // Now check whether we correctly predicted the class file output paths. QCOMPARE(runQbs(QbsRunParameters("clean")), 0); - for (const QString &classFile : qAsConst(classFiles1)) { + for (const QString &classFile : std::as_const(classFiles1)) { QVERIFY2(!regularFileExists(classFile), qPrintable(classFile)); } diff --git a/tests/auto/blackbox/tst_blackboxwindows.cpp b/tests/auto/blackbox/tst_blackboxwindows.cpp index 94257c062..1c487bc52 100644 --- a/tests/auto/blackbox/tst_blackboxwindows.cpp +++ b/tests/auto/blackbox/tst_blackboxwindows.cpp @@ -230,7 +230,7 @@ static bool haveWiX(const Profile &profile) QStringList paths = QProcessEnvironment::systemEnvironment().value("PATH") .split(HostOsInfo::pathListSeparator(), QBS_SKIP_EMPTY_PARTS); - for (const QString &key : qAsConst(regKeys)) { + for (const QString &key : std::as_const(regKeys)) { const QStringList versions = QSettings(key, QSettings::NativeFormat).childGroups(); for (const QString &version : versions) { QSettings settings(key + version, QSettings::NativeFormat); @@ -240,7 +240,7 @@ static bool haveWiX(const Profile &profile) } } - for (const QString &path : qAsConst(paths)) { + for (const QString &path : std::as_const(paths)) { if (regularFileExists(QDir::fromNativeSeparators(path) + HostOsInfo::appendExecutableSuffix(QStringLiteral("/candle"))) && regularFileExists(QDir::fromNativeSeparators(path) + diff --git a/tests/auto/language/tst_language.cpp b/tests/auto/language/tst_language.cpp index 6b7850214..f460d17f0 100644 --- a/tests/auto/language/tst_language.cpp +++ b/tests/auto/language/tst_language.cpp @@ -3313,7 +3313,7 @@ void TestLanguage::wildcards() } // create files - for (QString filePath : qAsConst(filesToCreate)) { + for (QString filePath : std::as_const(filesToCreate)) { filePath.prepend(m_wildcardsTestDirPath + '/'); QFileInfo fi(filePath); if (!QDir(fi.path()).exists()) diff --git a/tests/auto/shared.h b/tests/auto/shared.h index 53ff364fb..408594be0 100644 --- a/tests/auto/shared.h +++ b/tests/auto/shared.h @@ -158,7 +158,7 @@ inline QByteArray diffText(const QByteArray &actual, const QByteArray &expected) n++; } auto addLines = [&result, &n] (const QList<QByteArray> &lines) { - for (const QByteArray &line : qAsConst(lines)) { + for (const QByteArray &line : std::as_const(lines)) { result += QStringLiteral("%1: %2\n") .arg(n) .arg(QString::fromUtf8(line)) |