diff options
author | Jake Petroules <jake.petroules@qt.io> | 2017-10-24 08:40:54 -0700 |
---|---|---|
committer | Jake Petroules <jake.petroules@qt.io> | 2017-11-14 18:24:18 +0000 |
commit | b5613da1391789fe661063ab9d30850aa96efd59 (patch) | |
tree | d38dba0aefb774dd32268ec94bea5ddc0c9cea0d /src | |
parent | f40667f6fb026fa1747a1e330d6e397bf79435c7 (diff) |
STL compatibility: use front() instead of first()
This is a simple find and replace with manual sanity check.
Change-Id: I82f0eb38b6a5a3b75a4ed38d97bdb6ce164d09b3
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src')
26 files changed, 83 insertions, 83 deletions
diff --git a/src/app/config-ui/commandlineparser.cpp b/src/app/config-ui/commandlineparser.cpp index 718b64b0a..5c5606442 100644 --- a/src/app/config-ui/commandlineparser.cpp +++ b/src/app/config-ui/commandlineparser.cpp @@ -59,7 +59,7 @@ void CommandLineParser::parse(const QStringList &commandLine) if (m_commandLine.isEmpty()) return; - const QString &arg = m_commandLine.first(); + const QString &arg = m_commandLine.front(); if (arg == helpOptionShort() || arg == helpOptionLong()) { m_commandLine.removeFirst(); m_helpRequested = true; diff --git a/src/app/config-ui/mainwindow.cpp b/src/app/config-ui/mainwindow.cpp index c5f629278..4de5c85d8 100644 --- a/src/app/config-ui/mainwindow.cpp +++ b/src/app/config-ui/mainwindow.cpp @@ -184,7 +184,7 @@ bool MainWindow::eventFilter(QObject *watched, QEvent *event) if (keyEvent->matches(QKeySequence::Delete)) { const QModelIndexList indexes = ui->treeView->selectionModel()->selectedRows(); if (indexes.count() == 1) { - const QModelIndex index = indexes.first(); + const QModelIndex index = indexes.front(); if (index.isValid()) { m_model->removeKey(index); return true; diff --git a/src/app/config/configcommandexecutor.cpp b/src/app/config/configcommandexecutor.cpp index 9341663dd..a8ae28f66 100644 --- a/src/app/config/configcommandexecutor.cpp +++ b/src/app/config/configcommandexecutor.cpp @@ -63,7 +63,7 @@ void ConfigCommandExecutor::execute(const ConfigCommand &command) printSettings(command); break; case ConfigCommand::CfgSet: - setValue(command.varNames.first(), command.varValue); + setValue(command.varNames.front(), command.varValue); break; case ConfigCommand::CfgUnset: foreach (const QString &varName, command.varNames) diff --git a/src/app/config/configcommandlineparser.cpp b/src/app/config/configcommandlineparser.cpp index 595a23ef4..45fb79231 100644 --- a/src/app/config/configcommandlineparser.cpp +++ b/src/app/config/configcommandlineparser.cpp @@ -55,13 +55,13 @@ void ConfigCommandLineParser::parse(const QStringList &commandLine) m_commandLine = commandLine; if (m_commandLine.isEmpty()) throw ErrorInfo(Tr::tr("No parameters supplied.")); - if (m_commandLine.count() == 1 && (m_commandLine.first() == QLatin1String("--help") - || m_commandLine.first() == QLatin1String("-h"))) { + if (m_commandLine.count() == 1 && (m_commandLine.front() == QLatin1String("--help") + || m_commandLine.front() == QLatin1String("-h"))) { m_helpRequested = true; return; } - while (!m_commandLine.isEmpty() && m_commandLine.first().startsWith(QLatin1String("--"))) { + while (!m_commandLine.isEmpty() && m_commandLine.front().startsWith(QLatin1String("--"))) { const QString arg = m_commandLine.takeFirst().mid(2); if (arg == QLatin1String("list")) setCommand(ConfigCommand::CfgList); @@ -83,7 +83,7 @@ void ConfigCommandLineParser::parse(const QStringList &commandLine) throw ErrorInfo(Tr::tr("No parameters supplied.")); if (m_commandLine.count() > 2) throw ErrorInfo(Tr::tr("Too many arguments.")); - m_command.varNames << m_commandLine.first(); + m_command.varNames << m_commandLine.front(); if (m_commandLine.count() == 1) { setCommand(ConfigCommand::CfgList); } else { @@ -99,12 +99,12 @@ void ConfigCommandLineParser::parse(const QStringList &commandLine) case ConfigCommand::CfgExport: if (m_commandLine.count() != 1) throw ErrorInfo(Tr::tr("Need name of file to which to export.")); - m_command.fileName = m_commandLine.first(); + m_command.fileName = m_commandLine.front(); break; case ConfigCommand::CfgImport: if (m_commandLine.count() != 1) throw ErrorInfo(Tr::tr("Need name of file from which to import.")); - m_command.fileName = m_commandLine.first(); + m_command.fileName = m_commandLine.front(); break; case ConfigCommand::CfgList: m_command.varNames = m_commandLine; diff --git a/src/app/qbs-setup-android/commandlineparser.cpp b/src/app/qbs-setup-android/commandlineparser.cpp index f5a5c3aa3..d2465f395 100644 --- a/src/app/qbs-setup-android/commandlineparser.cpp +++ b/src/app/qbs-setup-android/commandlineparser.cpp @@ -72,7 +72,7 @@ void CommandLineParser::parse(const QStringList &commandLine) throwError(Tr::tr("No command-line arguments provided.")); while (!m_commandLine.isEmpty()) { - const QString arg = m_commandLine.first(); + const QString arg = m_commandLine.front(); if (!arg.startsWith(QLatin1Char('-'))) break; m_commandLine.removeFirst(); diff --git a/src/app/qbs-setup-qt/commandlineparser.cpp b/src/app/qbs-setup-qt/commandlineparser.cpp index 9a6a003f7..c51af58a0 100644 --- a/src/app/qbs-setup-qt/commandlineparser.cpp +++ b/src/app/qbs-setup-qt/commandlineparser.cpp @@ -65,7 +65,7 @@ void CommandLineParser::parse(const QStringList &commandLine) throwError(Tr::tr("No command-line arguments provided.")); while (!m_commandLine.isEmpty()) { - const QString arg = m_commandLine.first(); + const QString arg = m_commandLine.front(); if (!arg.startsWith(QLatin1Char('-'))) break; m_commandLine.removeFirst(); diff --git a/src/app/qbs-setup-qt/setupqt.cpp b/src/app/qbs-setup-qt/setupqt.cpp index d6eb282eb..23a5b2736 100644 --- a/src/app/qbs-setup-qt/setupqt.cpp +++ b/src/app/qbs-setup-qt/setupqt.cpp @@ -566,9 +566,9 @@ void SetupQt::saveToQbsSettings(const QString &qtVersionName, const QtEnvironmen QString bestMatch; if (fullMatches.count() == 1) - bestMatch = fullMatches.first(); + bestMatch = fullMatches.front(); else if (fullMatches.isEmpty() && partialMatches.count() == 1) - bestMatch = partialMatches.first(); + bestMatch = partialMatches.front(); if (bestMatch.isEmpty()) { QString message = Tr::tr("You need to set up toolchain information before you can " "use this Qt version for building. "); diff --git a/src/app/qbs-setup-toolchains/commandlineparser.cpp b/src/app/qbs-setup-toolchains/commandlineparser.cpp index b1cbc9129..f67a24ab3 100644 --- a/src/app/qbs-setup-toolchains/commandlineparser.cpp +++ b/src/app/qbs-setup-toolchains/commandlineparser.cpp @@ -67,7 +67,7 @@ void CommandLineParser::parse(const QStringList &commandLine) throwError(Tr::tr("No command-line arguments provided.")); while (!m_commandLine.isEmpty()) { - const QString arg = m_commandLine.first(); + const QString arg = m_commandLine.front(); if (!arg.startsWith(QLatin1Char('-'))) break; m_commandLine.removeFirst(); diff --git a/src/app/qbs-setup-toolchains/probe.cpp b/src/app/qbs-setup-toolchains/probe.cpp index 2bb99abfd..c2bc06c7d 100644 --- a/src/app/qbs-setup-toolchains/probe.cpp +++ b/src/app/qbs-setup-toolchains/probe.cpp @@ -290,7 +290,7 @@ void probe(Settings *settings) if (profiles.isEmpty()) { qStderr << Tr::tr("Could not detect any toolchains. No profile created.") << endl; } else if (profiles.count() == 1 && settings->defaultProfile().isEmpty()) { - const QString profileName = profiles.first().name(); + const QString profileName = profiles.front().name(); qStdout << Tr::tr("Making profile '%1' the default.").arg(profileName) << endl; settings->setValue(QLatin1String("defaultProfile"), profileName); } diff --git a/src/app/qbs/commandlinefrontend.cpp b/src/app/qbs/commandlinefrontend.cpp index 2a6dae2b6..2c4290c46 100644 --- a/src/app/qbs/commandlinefrontend.cpp +++ b/src/app/qbs/commandlinefrontend.cpp @@ -374,7 +374,7 @@ void CommandLineFrontend::handleProjectsResolved() qApp->exit(runShell()); break; case StatusCommandType: - qApp->exit(printStatus(m_projects.first().projectData())); + qApp->exit(printStatus(m_projects.front().projectData())); break; case GenerateCommandType: checkGeneratorName(); @@ -431,20 +431,20 @@ int CommandLineFrontend::runShell() case 0: // No specific product, use project-global environment. break; case 1: - productToRun = productsToUse().values().first().first(); + productToRun = productsToUse().values().front().front(); break; default: throw ErrorInfo(Tr::tr("The command '%1' cannot take more than one product.")); } - RunEnvironment runEnvironment = m_projects.first().getRunEnvironment(productToRun, - m_parser.installOptions(m_projects.first().profile()), + RunEnvironment runEnvironment = m_projects.front().getRunEnvironment(productToRun, + m_parser.installOptions(m_projects.front().profile()), QProcessEnvironment::systemEnvironment(), m_settings); return runEnvironment.doRunShell(); } BuildOptions CommandLineFrontend::buildOptions(const Project &project) const { - BuildOptions options = m_parser.buildOptions(m_projects.first().profile()); + BuildOptions options = m_parser.buildOptions(m_projects.front().profile()); if (options.maxJobCount() <= 0) { const QString profileName = project.profile(); QBS_CHECK(!profileName.isEmpty()); @@ -541,8 +541,8 @@ int CommandLineFrontend::runTarget() throw ErrorInfo(Tr::tr("Cannot run: Product '%1' is not an application.") .arg(productToRun.name())); } - RunEnvironment runEnvironment = m_projects.first().getRunEnvironment(productToRun, - m_parser.installOptions(m_projects.first().profile()), + RunEnvironment runEnvironment = m_projects.front().getRunEnvironment(productToRun, + m_parser.installOptions(m_projects.front().profile()), QProcessEnvironment::systemEnvironment(), m_settings); return runEnvironment.doRunTarget(executableFilePath, m_parser.runArgs()); } @@ -560,8 +560,8 @@ void CommandLineFrontend::dumpNodesTree() { QFile stdOut; stdOut.open(stdout, QIODevice::WriteOnly); - const ErrorInfo error = m_projects.first().dumpNodesTree(stdOut, productsToUse() - .value(m_projects.first())); + const ErrorInfo error = m_projects.front().dumpNodesTree(stdOut, productsToUse() + .value(m_projects.front())); if (error.hasError()) throw error; } @@ -615,8 +615,8 @@ ProductData CommandLineFrontend::getTheOneRunnableProduct() QBS_CHECK(m_projects.count() == 1); // Has been checked earlier. if (m_parser.products().count() == 1) { - foreach (const ProductData &p, m_projects.first().projectData().allProducts()) { - if (p.name() == m_parser.products().first()) + foreach (const ProductData &p, m_projects.front().projectData().allProducts()) { + if (p.name() == m_parser.products().front()) return p; } QBS_CHECK(false); @@ -624,13 +624,13 @@ ProductData CommandLineFrontend::getTheOneRunnableProduct() QBS_CHECK(m_parser.products().count() == 0); QList<ProductData> runnableProducts; - foreach (const ProductData &p, m_projects.first().projectData().allProducts()) { + foreach (const ProductData &p, m_projects.front().projectData().allProducts()) { if (p.isRunnable()) runnableProducts << p; } if (runnableProducts.count() == 1) - return runnableProducts.first(); + return runnableProducts.front(); if (runnableProducts.isEmpty()) { throw ErrorInfo(Tr::tr("Cannot execute command '%1': Project has no runnable product.") @@ -642,7 +642,7 @@ ProductData CommandLineFrontend::getTheOneRunnableProduct() error.append(Tr::tr("Use the '--products' option with one of the following products:")); foreach (const ProductData &p, runnableProducts) { QString productRepr = QLatin1String("\t") + p.name(); - if (p.profile() != m_projects.first().profile()) { + if (p.profile() != m_projects.front().profile()) { productRepr.append(QLatin1String(" [")).append(p.profile()) .append(QLatin1Char(']')); } @@ -654,7 +654,7 @@ ProductData CommandLineFrontend::getTheOneRunnableProduct() void CommandLineFrontend::install() { Q_ASSERT(m_projects.count() == 1); - const Project project = m_projects.first(); + const Project project = m_projects.front(); InstallJob *installJob; if (m_parser.products().isEmpty()) { const Project::ProductSelection productSelection = m_parser.withNonDefaultProducts() @@ -662,7 +662,7 @@ void CommandLineFrontend::install() installJob = project.installAllProducts(m_parser.installOptions(project.profile()), productSelection); } else { - const Project project = m_projects.first(); + const Project project = m_projects.front(); const ProductMap products = productsToUse(); installJob = project.installSomeProducts(products.value(project), m_parser.installOptions(project.profile())); diff --git a/src/app/qbs/parser/commandlineparser.cpp b/src/app/qbs/parser/commandlineparser.cpp index 434ddf126..c223ea735 100644 --- a/src/app/qbs/parser/commandlineparser.cpp +++ b/src/app/qbs/parser/commandlineparser.cpp @@ -321,16 +321,16 @@ void CommandLineParser::CommandLineParserPrivate::doParse() if (commandLine.isEmpty()) { // No command given, use default. command = commandPool.getCommand(BuildCommandType); } else { - command = commandFromString(commandLine.first()); + command = commandFromString(commandLine.front()); if (command) { commandLine.removeFirst(); } else { // No command given. - if (commandLine.first() == QLatin1String("-h") - || commandLine.first() == QLatin1String("--help")) { + if (commandLine.front() == QLatin1String("-h") + || commandLine.front() == QLatin1String("--help")) { command = commandPool.getCommand(HelpCommandType); commandLine.takeFirst(); - } else if (commandLine.first() == QLatin1String("-V") - || commandLine.first() == QLatin1String("--version")) { + } else if (commandLine.front() == QLatin1String("-V") + || commandLine.front() == QLatin1String("--version")) { command = commandPool.getCommand(VersionCommandType); commandLine.takeFirst(); } else { diff --git a/src/app/qbs/parser/parsercommand.cpp b/src/app/qbs/parser/parsercommand.cpp index dd07f2cce..7bf147cea 100644 --- a/src/app/qbs/parser/parsercommand.cpp +++ b/src/app/qbs/parser/parsercommand.cpp @@ -101,7 +101,7 @@ QList<CommandLineOption::Type> Command::actualSupportedOptions() const void Command::parseOption(QStringList &input) { - const QString optionString = input.first(); + const QString optionString = input.front(); QBS_CHECK(optionString.startsWith(QLatin1Char('-'))); input.removeFirst(); if (optionString.count() == 1) @@ -148,7 +148,7 @@ void Command::parseOption(QStringList &input) void Command::parseNext(QStringList &input) { QBS_CHECK(!input.empty()); - if (input.first().startsWith(QLatin1Char('-'))) + if (input.front().startsWith(QLatin1Char('-'))) parseOption(input); else parsePropertyAssignment(input.takeFirst()); @@ -392,7 +392,7 @@ QList<CommandLineOption::Type> RunCommand::supportedOptions() const void RunCommand::parseNext(QStringList &input) { QBS_CHECK(!input.empty()); - if (input.first() != QLatin1String("--")) { + if (input.front() != QLatin1String("--")) { Command::parseNext(input); return; } diff --git a/src/lib/corelib/api/changeset.cpp b/src/lib/corelib/api/changeset.cpp index ad070744c..bd04fe006 100644 --- a/src/lib/corelib/api/changeset.cpp +++ b/src/lib/corelib/api/changeset.cpp @@ -373,7 +373,7 @@ void ChangeSet::apply_helper() QList<EditOp> replaceList; { while (!m_operationList.isEmpty()) { - const EditOp cmd(m_operationList.first()); + const EditOp cmd(m_operationList.front()); m_operationList.removeFirst(); convertToReplace(cmd, &replaceList); } @@ -384,7 +384,7 @@ void ChangeSet::apply_helper() m_cursor->beginEditBlock(); while (!replaceList.isEmpty()) { - const EditOp cmd(replaceList.first()); + const EditOp cmd(replaceList.front()); replaceList.removeFirst(); doReplace(cmd, &replaceList); } diff --git a/src/lib/corelib/api/project.cpp b/src/lib/corelib/api/project.cpp index 648022b32..4101f705d 100644 --- a/src/lib/corelib/api/project.cpp +++ b/src/lib/corelib/api/project.cpp @@ -337,14 +337,14 @@ void ProjectPrivate::addGroup(const ProductData &product, const QString &groupNa const QList<ResolvedProductPtr> resolvedProducts = internalProducts(products); QBS_CHECK(products.count() == resolvedProducts.count()); - for (const GroupPtr &resolvedGroup : qAsConst(resolvedProducts.first()->groups)) { + for (const GroupPtr &resolvedGroup : qAsConst(resolvedProducts.front()->groups)) { if (resolvedGroup->name == groupName) { throw ErrorInfo(Tr::tr("Group '%1' already exists in product '%2'.") .arg(groupName, product.name()), resolvedGroup->location); } } - ProjectFileGroupInserter groupInserter(products.first(), groupName); + ProjectFileGroupInserter groupInserter(products.front(), groupName); groupInserter.apply(); m_projectData.d.detach(); // The data we already gave out must stay as it is. @@ -354,7 +354,7 @@ void ProjectPrivate::addGroup(const ProductData &product, const QString &groupNa updateExternalCodeLocations(m_projectData, groupInserter.itemPosition(), groupInserter.lineOffset()); - products = findProductsByName(products.first().name()); // These are new objects. + products = findProductsByName(products.front().name()); // These are new objects. QBS_CHECK(products.count() == resolvedProducts.count()); for (int i = 0; i < products.count(); ++i) { const GroupPtr resolvedGroup = ResolvedGroup::create(); @@ -451,7 +451,7 @@ ProjectPrivate::FileListUpdateContext ProjectPrivate::getFileListContext(const P throw ErrorInfo(Tr::tr("File '%1' appears more than once.").arg(absPath)); if (forAdding && !FileInfo(absPath).exists()) throw ErrorInfo(Tr::tr("File '%1' does not exist.").arg(absPath)); - if (matchesWildcard(absPath, groupContext.resolvedGroups.first())) { + if (matchesWildcard(absPath, groupContext.resolvedGroups.front())) { filesContext.absoluteFilePathsFromWildcards << absPath; } else { filesContext.absoluteFilePaths << absPath; @@ -490,8 +490,8 @@ void ProjectPrivate::addFiles(const ProductData &product, const GroupData &group } } - ProjectFileFilesAdder adder(groupContext.products.first(), - group.isValid() ? groupContext.groups.first() : GroupData(), + ProjectFileFilesAdder adder(groupContext.products.front(), + group.isValid() ? groupContext.groups.front() : GroupData(), filesContext.relativeFilePaths); adder.apply(); @@ -559,7 +559,7 @@ void ProjectPrivate::removeFiles(const ProductData &product, const GroupData &gr } QStringList filesNotFound = filesContext.absoluteFilePaths; QList<SourceArtifactPtr> sourceArtifacts; - for (const SourceArtifactPtr &sa : qAsConst(groupContext.resolvedGroups.first()->files)) { + for (const SourceArtifactPtr &sa : qAsConst(groupContext.resolvedGroups.front()->files)) { if (filesNotFound.removeOne(sa->absoluteFilePath)) sourceArtifacts << sa; } @@ -568,8 +568,8 @@ void ProjectPrivate::removeFiles(const ProductData &product, const GroupData &gr .arg(filesNotFound.join(QLatin1String(", ")))); } - ProjectFileFilesRemover remover(groupContext.products.first(), - group.isValid() ? groupContext.groups.first() : GroupData(), + ProjectFileFilesRemover remover(groupContext.products.front(), + group.isValid() ? groupContext.groups.front() : GroupData(), filesContext.relativeFilePaths); remover.apply(); @@ -595,7 +595,7 @@ void ProjectPrivate::removeGroup(const ProductData &product, const GroupData &gr { GroupUpdateContext context = getGroupContext(product, group); - ProjectFileGroupRemover remover(context.products.first(), context.groups.first()); + ProjectFileGroupRemover remover(context.products.front(), context.groups.front()); remover.apply(); for (int i = 0; i < context.resolvedProducts.count(); ++i) { diff --git a/src/lib/corelib/api/projectfileupdater.cpp b/src/lib/corelib/api/projectfileupdater.cpp index 942ab0efa..ced85e123 100644 --- a/src/lib/corelib/api/projectfileupdater.cpp +++ b/src/lib/corelib/api/projectfileupdater.cpp @@ -233,7 +233,7 @@ void ProjectFileGroupInserter::doApply(QString &fileContent, UiProgram *ast) int lineOffset = 3 + 1; // Our text + a leading newline that is always added by the rewriter. const QList<ChangeSet::EditOp> &editOps = changeSet.operationList(); QBS_CHECK(editOps.count() == 1); - const ChangeSet::EditOp &insertOp = editOps.first(); + const ChangeSet::EditOp &insertOp = editOps.front(); setLineOffset(lineOffset); int insertionLine = fileContent.left(insertOp.pos1).count(QLatin1Char('\n')); @@ -256,7 +256,7 @@ static const ChangeSet::EditOp &getEditOp(const ChangeSet &changeSet) { const QList<ChangeSet::EditOp> &editOps = changeSet.operationList(); QBS_CHECK(editOps.count() == 1); - return editOps.first(); + return editOps.front(); } static int getLineOffsetForChangedBinding(const ChangeSet &changeSet, const QString &oldRhs) @@ -345,9 +345,9 @@ void ProjectFileFilesAdder::doApply(QString &fileContent, UiProgram *ast) } // Insert new files "sorted", but do not change the order of existing files. - const QString firstNewFileRepr = toJSLiteral(sortedFiles.first()); + const QString firstNewFileRepr = toJSLiteral(sortedFiles.front()); while (!oldFileReprs.isEmpty()) { - if (oldFileReprs.first() > firstNewFileRepr) + if (oldFileReprs.front() > firstNewFileRepr) break; addToFilesRepr(filesRepresentation, oldFileReprs.takeFirst(), arrayElemIndentation); } @@ -486,9 +486,9 @@ void ProjectFileFilesRemover::doApply(QString &fileContent, UiProgram *ast) } const QString existingFile = static_cast<StringLiteral *>(exprStatement->expression)->value.toString(); - if (existingFile != m_files.first()) { + if (existingFile != m_files.front()) { throw ErrorInfo(Tr::tr("File '%1' could not be found in the 'files' list.") - .arg(m_files.first()), bindingLocation); + .arg(m_files.front()), bindingLocation); } rewriter.changeBinding(itemFinder.item()->initializer, QLatin1String("files"), QLatin1String("[]"), Rewriter::ScriptBinding); @@ -539,7 +539,7 @@ void ProjectFileGroupRemover::doApply(QString &fileContent, UiProgram *ast) setItemPosition(m_group.location()); const QList<ChangeSet::EditOp> &editOps = changeSet.operationList(); QBS_CHECK(editOps.count() == 1); - const ChangeSet::EditOp &op = editOps.first(); + const ChangeSet::EditOp &op = editOps.front(); const QString removedText = fileContent.mid(op.pos1, op.length1); setLineOffset(-removedText.count(QLatin1Char('\n'))); diff --git a/src/lib/corelib/buildgraph/executor.cpp b/src/lib/corelib/buildgraph/executor.cpp index 8913c5469..0d86142ef 100644 --- a/src/lib/corelib/buildgraph/executor.cpp +++ b/src/lib/corelib/buildgraph/executor.cpp @@ -257,7 +257,7 @@ void Executor::doBuild() InstallOptions installOptions; installOptions.setDryRun(m_buildOptions.dryRun()); - installOptions.setInstallRoot(m_productsToBuild.first()->moduleProperties + installOptions.setInstallRoot(m_productsToBuild.front()->moduleProperties ->qbsPropertyValue(QLatin1String("installRoot")).toString()); installOptions.setKeepGoing(m_buildOptions.keepGoing()); m_productInstaller = new ProductInstaller(m_project, m_productsToBuild, installOptions, diff --git a/src/lib/corelib/buildgraph/productinstaller.cpp b/src/lib/corelib/buildgraph/productinstaller.cpp index 1b1e507bb..89e7c94a9 100644 --- a/src/lib/corelib/buildgraph/productinstaller.cpp +++ b/src/lib/corelib/buildgraph/productinstaller.cpp @@ -192,7 +192,7 @@ void ProductInstaller::copyFile(const Artifact *artifact) { if (m_observer->canceled()) { throw ErrorInfo(Tr::tr("Installation canceled for configuration '%1'.") - .arg(m_products.first()->project->topLevelProject()->id())); + .arg(m_products.front()->project->topLevelProject()->id())); } const QString targetFilePath = this->targetFilePath(m_project.get(), diff --git a/src/lib/corelib/buildgraph/qtmocscanner.cpp b/src/lib/corelib/buildgraph/qtmocscanner.cpp index 3251ff167..9f369bdd1 100644 --- a/src/lib/corelib/buildgraph/qtmocscanner.cpp +++ b/src/lib/corelib/buildgraph/qtmocscanner.cpp @@ -216,15 +216,15 @@ QScriptValue QtMocScanner::apply(QScriptEngine *engine, const Artifact *artifact QList<ScannerPlugin *> scanners = ScannerPluginManager::scannersForFileTag(m_tags.cpp); if (scanners.count() != 1) return scannerCountError(engine, scanners.count(), m_tags.cpp.toString()); - m_cppScanner = scanners.first(); + m_cppScanner = scanners.front(); scanners = ScannerPluginManager::scannersForFileTag(m_tags.objcpp); if (scanners.count() != 1) return scannerCountError(engine, scanners.count(), m_tags.objcpp.toString()); - m_objcppScanner = scanners.first(); + m_objcppScanner = scanners.front(); scanners = ScannerPluginManager::scannersForFileTag(m_tags.hpp); if (scanners.count() != 1) return scannerCountError(engine, scanners.count(), m_tags.hpp.toString()); - m_hppScanner = scanners.first(); + m_hppScanner = scanners.front(); } findIncludedMocCppFiles(); diff --git a/src/lib/corelib/language/astimportshandler.cpp b/src/lib/corelib/language/astimportshandler.cpp index c4c701f22..1f3c10a0f 100644 --- a/src/lib/corelib/language/astimportshandler.cpp +++ b/src/lib/corelib/language/astimportshandler.cpp @@ -87,8 +87,8 @@ void ASTImportsHandler::handleImport(const QbsQmlJS::AST::UiImport *import) bool isBase = false; if (import->importUri) { importUri = toStringList(import->importUri); - isBase = (importUri.size() == 1 && importUri.first() == QLatin1String("qbs")) - || (importUri.size() == 2 && importUri.first() == QLatin1String("qbs") + isBase = (importUri.size() == 1 && importUri.front() == QLatin1String("qbs")) + || (importUri.size() == 2 && importUri.front() == QLatin1String("qbs") && importUri.last() == QLatin1String("base")); if (isBase) { checkImportVersion(import->versionToken); @@ -105,7 +105,7 @@ void ASTImportsHandler::handleImport(const QbsQmlJS::AST::UiImport *import) toCodeLocation(m_file->filePath(), import->importIdToken)); } } else { - if (importUri.count() == 2 && importUri.first() == QLatin1String("qbs")) { + if (importUri.count() == 2 && importUri.front() == QLatin1String("qbs")) { const QString extensionName = importUri.last(); if (JsExtensions::hasExtension(extensionName)) { if (Q_UNLIKELY(!import->importId.isNull())) { diff --git a/src/lib/corelib/language/itemreaderastvisitor.cpp b/src/lib/corelib/language/itemreaderastvisitor.cpp index 9d77472c2..76bdc7ff0 100644 --- a/src/lib/corelib/language/itemreaderastvisitor.cpp +++ b/src/lib/corelib/language/itemreaderastvisitor.cpp @@ -195,7 +195,7 @@ bool ItemReaderASTVisitor::visit(AST::UiScriptBinding *ast) const QStringList bindingName = toStringList(ast->qualifiedId); - if (bindingName.length() == 1 && bindingName.first() == QLatin1String("id")) { + if (bindingName.length() == 1 && bindingName.front() == QLatin1String("id")) { const auto * const expStmt = AST::cast<AST::ExpressionStatement *>(ast->statement); if (Q_UNLIKELY(!expStmt)) throw ErrorInfo(Tr::tr("id: must be followed by identifier")); diff --git a/src/lib/corelib/language/loader.cpp b/src/lib/corelib/language/loader.cpp index d7da2ca67..6926ed61f 100644 --- a/src/lib/corelib/language/loader.cpp +++ b/src/lib/corelib/language/loader.cpp @@ -204,7 +204,7 @@ void Loader::setupProjectFilePath(SetupProjectParameters ¶meters) throw ErrorInfo(Tr::tr("More than one project file found in directory '%1'.") .arg(projectFilePath)); } - projectFilePath.append(QLatin1Char('/')).append(actualFileNames.first()); + projectFilePath.append(QLatin1Char('/')).append(actualFileNames.front()); projectFilePath = QDir::current().filePath(projectFilePath); projectFilePath = QDir::cleanPath(projectFilePath); diff --git a/src/lib/corelib/language/moduleloader.cpp b/src/lib/corelib/language/moduleloader.cpp index 1ee216100..9b683c5dd 100644 --- a/src/lib/corelib/language/moduleloader.cpp +++ b/src/lib/corelib/language/moduleloader.cpp @@ -1752,11 +1752,11 @@ void ModuleLoader::propagateModulesFromParent(ProductContext *productContext, It for (Item::Module depMod : oldModules) { depMod.item = moduleInstancesForGroup.value(depMod.name); adaptedModules << depMod; - if (depMod.name.first() == module.name.first()) + if (depMod.name.front() == module.name.front()) continue; - const ItemValuePtr &modulePrefix = groupItem->itemProperty(depMod.name.first()); + const ItemValuePtr &modulePrefix = groupItem->itemProperty(depMod.name.front()); QBS_CHECK(modulePrefix); - module.item->setProperty(depMod.name.first(), modulePrefix); + module.item->setProperty(depMod.name.front(), modulePrefix); } module.item->setModules(adaptedModules); } @@ -2114,7 +2114,7 @@ void ModuleLoader::resolveDependsItem(DependsContext *dependsContext, Item *pare ErrorInfo e(Tr::tr("Dependency '%1' not found for product '%2'.") .arg(moduleName.toString(), dependsContext->product->name), dependsItem->location()); - if (moduleName.count() == 2 && moduleName.first() == QLatin1String("Qt")) { + if (moduleName.count() == 2 && moduleName.front() == QLatin1String("Qt")) { e.append(Tr::tr("Please create a Qt profile using the qbs-setup-qt tool " "if you haven't already done so.")); } @@ -2355,7 +2355,7 @@ private: static bool isBaseModule(const QualifiedId &moduleName) { - return moduleName.count() == 1 && moduleName.first() == QLatin1String("qbs"); + return moduleName.count() == 1 && moduleName.front() == QLatin1String("qbs"); } class DelayedPropertyChanger @@ -2419,7 +2419,7 @@ Item *ModuleLoader::loadModule(ProductContext *productContext, Item *exportingPr if (Q_UNLIKELY(moduleInstance->type() == ItemType::ModulePrefix)) { for (const Item::Module &m : item->modules()) { - if (m.name.first() == moduleName.first()) + if (m.name.front() == moduleName.front()) throwModuleNamePrefixError(moduleName, m.name, dependsItemLocation); } } @@ -2849,7 +2849,7 @@ void ModuleLoader::instantiateModule(ProductContext *productContext, Item *expor Item *item = moduleInstanceItem(moduleInstance, iip.first); item->setPrototype(iip.second->item()); if (iip.second->createdByPropertiesBlock()) { - ItemValuePtr itemValue = moduleInstance->itemProperty(iip.first.first()); + ItemValuePtr itemValue = moduleInstance->itemProperty(iip.first.front()); for (int i = 1; i < iip.first.size(); ++i) itemValue = itemValue->item()->itemProperty(iip.first.at(i)); itemValue->setCreatedByPropertiesBlock(true); diff --git a/src/lib/corelib/tools/applecodesignutils.cpp b/src/lib/corelib/tools/applecodesignutils.cpp index f5f8b06fa..b77850a55 100644 --- a/src/lib/corelib/tools/applecodesignutils.cpp +++ b/src/lib/corelib/tools/applecodesignutils.cpp @@ -90,7 +90,7 @@ QVariantMap certificateInfo(const QByteArray &data) const auto subjectInfo = [](const QSslCertificate &cert) { QVariantMap map; for (const auto &attr : cert.subjectInfoAttributes()) - map.insert(QString::fromLatin1(attr), cert.subjectInfo(attr).first()); + map.insert(QString::fromLatin1(attr), cert.subjectInfo(attr).front()); return map; }; diff --git a/src/lib/corelib/tools/scripttools.cpp b/src/lib/corelib/tools/scripttools.cpp index 7f094f9bb..adf930cf0 100644 --- a/src/lib/corelib/tools/scripttools.cpp +++ b/src/lib/corelib/tools/scripttools.cpp @@ -49,9 +49,9 @@ namespace Internal { void setConfigProperty(QVariantMap &cfg, const QStringList &name, const QVariant &value) { if (name.length() == 1) { - cfg.insert(name.first(), value); + cfg.insert(name.front(), value); } else { - QVariant &subCfg = cfg[name.first()]; + QVariant &subCfg = cfg[name.front()]; QVariantMap subCfgMap = subCfg.toMap(); setConfigProperty(subCfgMap, name.mid(1), value); subCfg = subCfgMap; @@ -61,9 +61,9 @@ void setConfigProperty(QVariantMap &cfg, const QStringList &name, const QVariant QVariant getConfigProperty(const QVariantMap &cfg, const QStringList &name) { if (name.length() == 1) - return cfg.value(name.first()); + return cfg.value(name.front()); else - return getConfigProperty(cfg.value(name.first()).toMap(), name.mid(1)); + return getConfigProperty(cfg.value(name.front()).toMap(), name.mid(1)); } TemporaryGlobalObjectSetter::TemporaryGlobalObjectSetter(const QScriptValue &object) diff --git a/src/lib/corelib/tools/settingsmodel.cpp b/src/lib/corelib/tools/settingsmodel.cpp index ed52455ea..4544fa5d0 100644 --- a/src/lib/corelib/tools/settingsmodel.cpp +++ b/src/lib/corelib/tools/settingsmodel.cpp @@ -329,7 +329,7 @@ void SettingsModel::SettingsModelPrivate::readSettings() for (QVariantMap::ConstIterator it = additionalProperties.constBegin(); it != additionalProperties.constEnd(); ++it) { const QStringList nameAsList = it.key().split(QLatin1Char('.'), QString::SkipEmptyParts); - addNode(&rootNode, nameAsList.first(), nameAsList.mid(1), it.value()); + addNode(&rootNode, nameAsList.front(), nameAsList.mid(1), it.value()); } dirty = false; } @@ -371,7 +371,7 @@ void SettingsModel::SettingsModelPrivate::addNode(qbs::Internal::Node *parentNod currentNode->value = settingsValueToRepresentation(value); currentNode->isFromSettings = false; } else { - addNode(currentNode, restOfName.first(), restOfName.mid(1), value); + addNode(currentNode, restOfName.front(), restOfName.mid(1), value); } } diff --git a/src/lib/corelib/tools/shellutils.cpp b/src/lib/corelib/tools/shellutils.cpp index 4521e018c..c1992551f 100644 --- a/src/lib/corelib/tools/shellutils.cpp +++ b/src/lib/corelib/tools/shellutils.cpp @@ -54,7 +54,7 @@ QString shellInterpreter(const QString &filePath) { const QString shebang = ts.readLine(); if (shebang.startsWith(QLatin1String("#!"))) { return (shebang.mid(2).split(QRegExp(QLatin1String("\\s")), - QString::SkipEmptyParts) << QString()).first(); + QString::SkipEmptyParts) << QString()).front(); } } |