aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJake Petroules <jake.petroules@qt.io>2017-10-24 08:40:54 -0700
committerJake Petroules <jake.petroules@qt.io>2017-11-14 18:24:18 +0000
commitb5613da1391789fe661063ab9d30850aa96efd59 (patch)
treed38dba0aefb774dd32268ec94bea5ddc0c9cea0d
parentf40667f6fb026fa1747a1e330d6e397bf79435c7 (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>
-rw-r--r--src/app/config-ui/commandlineparser.cpp2
-rw-r--r--src/app/config-ui/mainwindow.cpp2
-rw-r--r--src/app/config/configcommandexecutor.cpp2
-rw-r--r--src/app/config/configcommandlineparser.cpp12
-rw-r--r--src/app/qbs-setup-android/commandlineparser.cpp2
-rw-r--r--src/app/qbs-setup-qt/commandlineparser.cpp2
-rw-r--r--src/app/qbs-setup-qt/setupqt.cpp4
-rw-r--r--src/app/qbs-setup-toolchains/commandlineparser.cpp2
-rw-r--r--src/app/qbs-setup-toolchains/probe.cpp2
-rw-r--r--src/app/qbs/commandlinefrontend.cpp32
-rw-r--r--src/app/qbs/parser/commandlineparser.cpp10
-rw-r--r--src/app/qbs/parser/parsercommand.cpp6
-rw-r--r--src/lib/corelib/api/changeset.cpp4
-rw-r--r--src/lib/corelib/api/project.cpp20
-rw-r--r--src/lib/corelib/api/projectfileupdater.cpp14
-rw-r--r--src/lib/corelib/buildgraph/executor.cpp2
-rw-r--r--src/lib/corelib/buildgraph/productinstaller.cpp2
-rw-r--r--src/lib/corelib/buildgraph/qtmocscanner.cpp6
-rw-r--r--src/lib/corelib/language/astimportshandler.cpp6
-rw-r--r--src/lib/corelib/language/itemreaderastvisitor.cpp2
-rw-r--r--src/lib/corelib/language/loader.cpp2
-rw-r--r--src/lib/corelib/language/moduleloader.cpp14
-rw-r--r--src/lib/corelib/tools/applecodesignutils.cpp2
-rw-r--r--src/lib/corelib/tools/scripttools.cpp8
-rw-r--r--src/lib/corelib/tools/settingsmodel.cpp4
-rw-r--r--src/lib/corelib/tools/shellutils.cpp2
-rw-r--r--tests/auto/api/tst_api.cpp100
-rw-r--r--tests/auto/cmdlineparser/tst_cmdlineparser.cpp20
-rw-r--r--tests/auto/language/tst_language.cpp30
-rw-r--r--tests/benchmarker/commandlineparser.cpp6
30 files changed, 161 insertions, 161 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 &parameters)
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();
}
}
diff --git a/tests/auto/api/tst_api.cpp b/tests/auto/api/tst_api.cpp
index 6b64bc2ea..9d859880e 100644
--- a/tests/auto/api/tst_api.cpp
+++ b/tests/auto/api/tst_api.cpp
@@ -295,7 +295,7 @@ void TestApi::buildErrorCodeLocation()
const qbs::ErrorInfo errorInfo
= doBuildProject("build-error-code-location/build-error-code-location.qbs");
QVERIFY(errorInfo.hasError());
- const qbs::ErrorItem errorItem = errorInfo.items().first();
+ const qbs::ErrorItem errorItem = errorInfo.items().front();
QCOMPARE(errorItem.description(),
QString("Rule.outputArtifacts must return an array of objects."));
const qbs::CodeLocation errorLoc = errorItem.codeLocation();
@@ -657,7 +657,7 @@ void TestApi::changeContent()
qbs::Project project = job->project();
qbs::ProjectData projectData = project.projectData();
QCOMPARE(projectData.allProducts().count(), 1);
- qbs::ProductData product = projectData.allProducts().first();
+ qbs::ProductData product = projectData.allProducts().front();
QVERIFY(product.groups().count() >= 8);
// Error handling: Invalid product.
@@ -690,7 +690,7 @@ void TestApi::changeContent()
// Add files to empty array literal.
projectData = project.projectData();
QVERIFY(projectData.products().count() == 1);
- product = projectData.products().first();
+ product = projectData.products().front();
QVERIFY(product.groups().count() >= 10);
qbs::GroupData group = findGroup(product, "New Group 1");
QVERIFY(group.isValid());
@@ -700,7 +700,7 @@ void TestApi::changeContent()
// Error handling: Add the same file again.
projectData = project.projectData();
QVERIFY(projectData.products().count() == 1);
- product = projectData.products().first();
+ product = projectData.products().front();
QVERIFY(product.groups().count() >= 10);
group = findGroup(product, "New Group 1");
QVERIFY(group.isValid());
@@ -715,7 +715,7 @@ void TestApi::changeContent()
// Error handling: Try to remove the same file again.
projectData = project.projectData();
QVERIFY(projectData.products().count() == 1);
- product = projectData.products().first();
+ product = projectData.products().front();
QVERIFY(product.groups().count() >= 10);
group = findGroup(product, "New Group 1");
QVERIFY(group.isValid());
@@ -737,7 +737,7 @@ void TestApi::changeContent()
// Add file to non-empty array literal.
projectData = project.projectData();
QVERIFY(projectData.products().count() == 1);
- product = projectData.products().first();
+ product = projectData.products().front();
group = findGroup(product, "Existing Group 1");
QVERIFY(group.isValid());
errorInfo = project.addFiles(product, group, QStringList() << "newfile1.txt");
@@ -746,14 +746,14 @@ void TestApi::changeContent()
// Add files to list represented as a single string.
projectData = project.projectData();
QVERIFY(projectData.products().count() == 1);
- product = projectData.products().first();
+ product = projectData.products().front();
errorInfo = project.addFiles(product, qbs::GroupData(), QStringList() << "newfile2.txt");
VERIFY_NO_ERROR(errorInfo);
// Add files to list represented as an identifier.
projectData = project.projectData();
QVERIFY(projectData.products().count() == 1);
- product = projectData.products().first();
+ product = projectData.products().front();
group = findGroup(product, "Existing Group 2");
QVERIFY(group.isValid());
errorInfo = project.addFiles(product, group, QStringList() << "newfile3.txt");
@@ -762,7 +762,7 @@ void TestApi::changeContent()
// Add files to list represented as a block of code (not yet implemented).
projectData = project.projectData();
QVERIFY(projectData.products().count() == 1);
- product = projectData.products().first();
+ product = projectData.products().front();
group = findGroup(product, "Existing Group 3");
QVERIFY(group.isValid());
errorInfo = project.addFiles(product, group, QStringList() << "newfile4.txt");
@@ -772,7 +772,7 @@ void TestApi::changeContent()
// Add file to group with directory prefix.
projectData = project.projectData();
QVERIFY(projectData.products().count() == 1);
- product = projectData.products().first();
+ product = projectData.products().front();
group = findGroup(product, "Existing Group 4");
QVERIFY(group.isValid());
errorInfo = project.addFiles(product, group, QStringList() << "file.txt");
@@ -781,7 +781,7 @@ void TestApi::changeContent()
// Error handling: Add file to group with non-directory prefix.
projectData = project.projectData();
QVERIFY(projectData.products().count() == 1);
- product = projectData.products().first();
+ product = projectData.products().front();
group = findGroup(product, "Existing Group 5");
QVERIFY(group.isValid());
errorInfo = project.addFiles(product, group, QStringList() << "newfile1.txt");
@@ -791,14 +791,14 @@ void TestApi::changeContent()
// Remove group.
projectData = project.projectData();
QVERIFY(projectData.products().count() == 1);
- product = projectData.products().first();
+ product = projectData.products().front();
group = findGroup(product, "Existing Group 5");
QVERIFY(group.isValid());
errorInfo = project.removeGroup(product, group);
VERIFY_NO_ERROR(errorInfo);
projectData = project.projectData();
QVERIFY(projectData.products().count() == 1);
- QVERIFY(projectData.products().first().groups().count() >= 9);
+ QVERIFY(projectData.products().front().groups().count() >= 9);
// Error handling: Try to remove the same group again.
errorInfo = project.removeGroup(product, group);
@@ -808,7 +808,7 @@ void TestApi::changeContent()
// Add a file to a group where the file name is already matched by a wildcard.
projectData = project.projectData();
QVERIFY(projectData.products().count() == 1);
- product = projectData.products().first();
+ product = projectData.products().front();
group = findGroup(product, "Group with wildcards");
QVERIFY(group.isValid());
QFile newFile("koerper.klaus");
@@ -818,17 +818,17 @@ void TestApi::changeContent()
VERIFY_NO_ERROR(errorInfo);
projectData = project.projectData();
QVERIFY(projectData.products().count() == 1);
- product = projectData.products().first();
+ product = projectData.products().front();
group = findGroup(product, "Group with wildcards");
QVERIFY(group.isValid());
QCOMPARE(group.sourceArtifactsFromWildcards().count(), 1);
- QCOMPARE(group.sourceArtifactsFromWildcards().first().filePath(),
+ QCOMPARE(group.sourceArtifactsFromWildcards().front().filePath(),
QFileInfo(newFile).absoluteFilePath());
// Error checking: Try to remove a file that originates from a wildcard pattern.
projectData = project.projectData();
QVERIFY(projectData.products().count() == 1);
- product = projectData.products().first();
+ product = projectData.products().front();
group = findGroup(product, "Other group with wildcards");
QVERIFY(group.isValid());
errorInfo = project.removeFiles(product, group, QStringList() << "test.wildcard");
@@ -861,7 +861,7 @@ void TestApi::changeContent()
// not having run yet.
bool projectDataMatches = newProjectData.products().count() == 1
&& projectData.products().count() == 1
- && newProjectData.products().first().groups() == projectData.products().first().groups();
+ && newProjectData.products().front().groups() == projectData.products().front().groups();
if (!projectDataMatches) {
qDebug("This is the assumed project:");
printProjectData(projectData);
@@ -884,11 +884,11 @@ void TestApi::changeContent()
// Error handling: Try to change the project during a build.
buildJob.reset(project.buildAllProducts(buildOptions, defaultProducts(), this));
- errorInfo = project.addGroup(newProjectData.products().first(), "blubb");
+ errorInfo = project.addGroup(newProjectData.products().front(), "blubb");
QVERIFY(errorInfo.hasError());
QVERIFY2(errorInfo.toString().contains("in process"), qPrintable(errorInfo.toString()));
waitForFinished(buildJob.get());
- errorInfo = project.addGroup(newProjectData.products().first(), "blubb");
+ errorInfo = project.addGroup(newProjectData.products().front(), "blubb");
VERIFY_NO_ERROR(errorInfo);
project = qbs::Project();
@@ -905,7 +905,7 @@ void TestApi::changeContent()
project = job->project();
projectData = project.projectData();
QCOMPARE(projectData.allProducts().count(), 1);
- product = projectData.allProducts().first();
+ product = projectData.allProducts().front();
errorInfo = project.addFiles(product, qbs::GroupData(), QStringList("main.cpp"));
VERIFY_NO_ERROR(errorInfo);
projectData = project.projectData();
@@ -924,7 +924,7 @@ void TestApi::changeContent()
newProjectData = job->project().projectData();
projectDataMatches = newProjectData.products().count() == 1
&& projectData.products().count() == 1
- && newProjectData.products().first().groups() == projectData.products().first().groups();
+ && newProjectData.products().front().groups() == projectData.products().front().groups();
if (!projectDataMatches) {
printProjectData(projectData);
qDebug("\n====\n");
@@ -945,7 +945,7 @@ void TestApi::commandExtraction()
qbs::Project project = setupJob->project();
qbs::ProjectData projectData = project.projectData();
QCOMPARE(projectData.allProducts().count(), 1);
- qbs::ProductData productData = projectData.allProducts().first();
+ qbs::ProductData productData = projectData.allProducts().front();
qbs::ErrorInfo errorInfo;
const QString projectDirPath = QDir::cleanPath(QFileInfo(setupParams.projectFilePath()).path());
const QString sourceFilePath = projectDirPath + "/main.cpp";
@@ -964,14 +964,14 @@ void TestApi::commandExtraction()
QVERIFY2(!buildJob->error().hasError(), qPrintable(buildJob->error().toString()));
projectData = project.projectData();
QCOMPARE(projectData.allProducts().count(), 1);
- productData = projectData.allProducts().first();
+ productData = projectData.allProducts().front();
errorInfo = qbs::ErrorInfo();
// After the build, the compile command must be found.
commands = project.ruleCommands(productData, sourceFilePath, "obj", &errorInfo);
QCOMPARE(commands.count(), 1);
QVERIFY2(!errorInfo.hasError(), qPrintable(errorInfo.toString()));
- const qbs::RuleCommand command = commands.first();
+ const qbs::RuleCommand command = commands.front();
QCOMPARE(command.type(), qbs::RuleCommand::ProcessCommandType);
QVERIFY(!command.executable().isEmpty());
QVERIFY(!command.arguments().isEmpty());
@@ -1042,7 +1042,7 @@ void TestApi::errorInSetupRunEnvironment()
const qbs::Project project = job->project();
QVERIFY(project.isValid());
QCOMPARE(project.projectData().products().count(), 1);
- const qbs::ProductData product = project.projectData().products().first();
+ const qbs::ProductData product = project.projectData().products().front();
bool exceptionCaught = false;
try {
@@ -1083,14 +1083,14 @@ void TestApi::disabledInstallGroup()
qbs::ProjectData projectData = project.projectData();
QCOMPARE(projectData.allProducts().count(), 1);
- qbs::ProductData product = projectData.allProducts().first();
+ qbs::ProductData product = projectData.allProducts().front();
const QList<qbs::ArtifactData> targets = product.targetArtifacts();
QCOMPARE(targets.count(), 1);
- QVERIFY(targets.first().isGenerated());
- QVERIFY(targets.first().isExecutable());
- QVERIFY(targets.first().isTargetArtifact());
+ QVERIFY(targets.front().isGenerated());
+ QVERIFY(targets.front().isExecutable());
+ QVERIFY(targets.front().isTargetArtifact());
QCOMPARE(projectData.installableArtifacts().count(), 0);
- QCOMPARE(product.targetExecutable(), targets.first().filePath());
+ QCOMPARE(product.targetExecutable(), targets.front().filePath());
}
void TestApi::disabledProduct()
@@ -1205,10 +1205,10 @@ void TestApi::fileTagsFilterOverride()
qbs::ProjectData projectData = project.projectData();
QCOMPARE(projectData.allProducts().count(), 1);
- const qbs::ProductData product = projectData.allProducts().first();
+ const qbs::ProductData product = projectData.allProducts().front();
QList<qbs::ArtifactData> installableFiles = product.installableArtifacts();
QCOMPARE(installableFiles.count(), 1);
- QVERIFY(installableFiles.first().installData().installFilePath().contains("habicht"));
+ QVERIFY(installableFiles.front().installData().installFilePath().contains("habicht"));
}
void TestApi::generatedFilesList()
@@ -1227,7 +1227,7 @@ void TestApi::generatedFilesList()
VERIFY_NO_ERROR(buildJob->error());
const qbs::ProjectData projectData = project.projectData();
QCOMPARE(projectData.products().count(), 1);
- const qbs::ProductData product = projectData.products().first();
+ const qbs::ProductData product = projectData.products().front();
QString uiFilePath;
QVERIFY(product.generatedArtifacts().count() >= 6);
foreach (const qbs::ArtifactData &a, product.generatedArtifacts()) {
@@ -1258,7 +1258,7 @@ void TestApi::generatedFilesList()
QVERIFY(!uiFilePath.isEmpty());
const QStringList directParents = project.generatedFiles(product, uiFilePath, false);
QCOMPARE(directParents.count(), 1);
- const QFileInfo uiHeaderFileInfo(directParents.first());
+ const QFileInfo uiHeaderFileInfo(directParents.front());
QCOMPARE(uiHeaderFileInfo.fileName(), QLatin1String("ui_mainwindow.h"));
QVERIFY(!uiHeaderFileInfo.exists());
const QStringList allParents = project.generatedFiles(product, uiFilePath, true);
@@ -1373,12 +1373,12 @@ void TestApi::installableFiles()
project = job->project();
projectData = project.projectData();
QCOMPARE(projectData.allProducts().count(), 1);
- product = projectData.allProducts().first();
+ product = projectData.allProducts().front();
installableFiles = product.installableArtifacts();
QCOMPARE(installableFiles.count(), 2);
foreach (const qbs::ArtifactData &f, installableFiles)
QVERIFY(!f.isExecutable());
- QCOMPARE(installableFiles.first().installData().localInstallFilePath(),
+ QCOMPARE(installableFiles.front().installData().localInstallFilePath(),
QLatin1String("/tmp/dir/file1.txt"));
QCOMPARE(installableFiles.last().installData().localInstallFilePath(),
QLatin1String("/tmp/dir/file2.txt"));
@@ -1621,9 +1621,9 @@ void TestApi::missingSourceFile()
QVERIFY2(!job->error().hasError(), qPrintable(job->error().toString()));
qbs::ProjectData project = job->project().projectData();
QCOMPARE(project.allProducts().count(), 1);
- qbs::ProductData product = project.allProducts().first();
+ qbs::ProductData product = project.allProducts().front();
QCOMPARE(product.groups().count(), 1);
- qbs::GroupData group = product.groups().first();
+ qbs::GroupData group = product.groups().front();
QCOMPARE(group.allSourceArtifacts().count(), 2);
QFile::rename("file2.txt.missing", "file2.txt");
@@ -1632,9 +1632,9 @@ void TestApi::missingSourceFile()
QVERIFY2(!job->error().hasError(), qPrintable(job->error().toString()));
project = job->project().projectData();
QCOMPARE(project.allProducts().count(), 1);
- product = project.allProducts().first();
+ product = project.allProducts().front();
QCOMPARE(product.groups().count(), 1);
- group = product.groups().first();
+ group = product.groups().front();
QCOMPARE(group.allSourceArtifacts().count(), 3);
}
@@ -1699,9 +1699,9 @@ void TestApi::multiArch()
}
QCOMPARE(hostProducts.count(), 2);
QCOMPARE(targetProducts.count(), 1);
- QCOMPARE(targetProducts.first().name(), QLatin1String("p1"));
+ QCOMPARE(targetProducts.front().name(), QLatin1String("p1"));
QStringList hostProductNames
- = QStringList() << hostProducts.first().name() << hostProducts.last().name();
+ = QStringList() << hostProducts.front().name() << hostProducts.last().name();
QCOMPARE(hostProductNames.count("p1"), 1);
QCOMPARE(hostProductNames.count("p2"), 1);
@@ -2095,12 +2095,12 @@ void TestApi::projectDataAfterProductInvalidation()
qbs::Project project = setupJob->project();
QVERIFY(project.isValid());
QCOMPARE(project.projectData().products().count(), 1);
- QVERIFY(project.projectData().products().first().generatedArtifacts().isEmpty());
+ QVERIFY(project.projectData().products().front().generatedArtifacts().isEmpty());
std::unique_ptr<qbs::BuildJob> buildJob(project.buildAllProducts(qbs::BuildOptions()));
waitForFinished(buildJob.get());
QVERIFY2(!buildJob->error().hasError(), qPrintable(buildJob->error().toString()));
QCOMPARE(project.projectData().products().count(), 1);
- const qbs::ProductData productAfterBulding = project.projectData().products().first();
+ const qbs::ProductData productAfterBulding = project.projectData().products().front();
QVERIFY(!productAfterBulding.generatedArtifacts().isEmpty());
QFile projectFile(setupParams.projectFilePath());
WAIT_FOR_NEW_TIMESTAMP();
@@ -2118,13 +2118,13 @@ void TestApi::projectDataAfterProductInvalidation()
project = setupJob->project();
QVERIFY(project.isValid());
QCOMPARE(project.projectData().products().count(), 1);
- QVERIFY(project.projectData().products().first().generatedArtifacts()
+ QVERIFY(project.projectData().products().front().generatedArtifacts()
== productAfterBulding.generatedArtifacts());
buildJob.reset(project.buildAllProducts(qbs::BuildOptions()));
waitForFinished(buildJob.get());
QVERIFY2(!buildJob->error().hasError(), qPrintable(buildJob->error().toString()));
QCOMPARE(project.projectData().products().count(), 1);
- QVERIFY(project.projectData().products().first().generatedArtifacts()
+ QVERIFY(project.projectData().products().front().generatedArtifacts()
!= productAfterBulding.generatedArtifacts());
}
@@ -2362,7 +2362,7 @@ void TestApi::references()
const qbs::ProjectData topLevelProject = job->project().projectData();
QCOMPARE(topLevelProject.subProjects().count(), 1);
const QString subProjectFileName
- = QFileInfo(topLevelProject.subProjects().first().location().filePath()).fileName();
+ = QFileInfo(topLevelProject.subProjects().front().location().filePath()).fileName();
QCOMPARE(subProjectFileName, QString("p.qbs"));
}
@@ -2576,7 +2576,7 @@ void TestApi::sourceFileInBuildDir()
QVERIFY2(!job->error().hasError(), qPrintable(job->error().toString()));
const qbs::ProjectData projectData = job->project().projectData();
QCOMPARE(projectData.allProducts().count(), 1);
- const qbs::ProductData product = projectData.allProducts().first();
+ const qbs::ProductData product = projectData.allProducts().front();
QCOMPARE(product.profile(), profileName());
const qbs::GroupData group = findGroup(product, "the group");
QVERIFY(group.isValid());
@@ -2650,7 +2650,7 @@ void TestApi::toolInModule()
const qbs::ProjectData projectData = project.projectData();
const QList<qbs::ProductData> products = projectData.products();
QCOMPARE(products.count(), 1);
- const qbs::ProductData product = products.first();
+ const qbs::ProductData product = products.front();
for (const qbs::GroupData &group : product.groups())
QVERIFY(group.name() != "thetool binary");
const std::unique_ptr<qbs::BuildJob> buildJob(setupJob->project()
diff --git a/tests/auto/cmdlineparser/tst_cmdlineparser.cpp b/tests/auto/cmdlineparser/tst_cmdlineparser.cpp
index 0b6963c67..333d949e2 100644
--- a/tests/auto/cmdlineparser/tst_cmdlineparser.cpp
+++ b/tests/auto/cmdlineparser/tst_cmdlineparser.cpp
@@ -105,19 +105,19 @@ private slots:
// Second "global" profile overwrites first.
QVERIFY(parser.parseCommandLine(QStringList() << "profile:a" << m_fileArgs << "profile:b"));
QCOMPARE(parser.buildConfigurations().count(), 1);
- QCOMPARE(parser.buildConfigurations().first().value("qbs.profile").toString(), QLatin1String("b"));
+ QCOMPARE(parser.buildConfigurations().front().value("qbs.profile").toString(), QLatin1String("b"));
// Second build configuration-specific profile overwrites first.
QVERIFY(parser.parseCommandLine(QStringList(m_fileArgs) << "config:debug" << "profile:a"
<< "profile:b"));
QCOMPARE(parser.buildConfigurations().count(), 1);
- QCOMPARE(parser.buildConfigurations().first().value("qbs.profile").toString(), QLatin1String("b"));
+ QCOMPARE(parser.buildConfigurations().front().value("qbs.profile").toString(), QLatin1String("b"));
QVERIFY(parser.parseCommandLine(QStringList(m_fileArgs) << "config:a-debug" << "profile:a"
<< "config:b-debug" << "profile:b"));
QCOMPARE(parser.buildConfigurations().count(), 2);
- QCOMPARE(parser.buildConfigurations().first().value("qbs.configurationName").toString(), QLatin1String("a-debug"));
- QCOMPARE(parser.buildConfigurations().first().value("qbs.profile").toString(), QLatin1String("a"));
+ QCOMPARE(parser.buildConfigurations().front().value("qbs.configurationName").toString(), QLatin1String("a-debug"));
+ QCOMPARE(parser.buildConfigurations().front().value("qbs.profile").toString(), QLatin1String("a"));
QCOMPARE(parser.buildConfigurations().at(1).value("qbs.configurationName").toString(), QLatin1String("b-debug"));
QCOMPARE(parser.buildConfigurations().at(1).value("qbs.profile").toString(), QLatin1String("b"));
@@ -129,8 +129,8 @@ private slots:
QVERIFY(parser.parseCommandLine(QStringList() << "config:debug" << "profile:a"
<< "config:release" << "profile:b" << m_fileArgs));
QCOMPARE(parser.buildConfigurations().count(), 2);
- QCOMPARE(parser.buildConfigurations().first().value("qbs.configurationName").toString(), QLatin1String("debug"));
- QCOMPARE(parser.buildConfigurations().first().value("qbs.profile").toString(), QLatin1String("a"));
+ QCOMPARE(parser.buildConfigurations().front().value("qbs.configurationName").toString(), QLatin1String("debug"));
+ QCOMPARE(parser.buildConfigurations().front().value("qbs.profile").toString(), QLatin1String("a"));
QCOMPARE(parser.buildConfigurations().at(1).value("qbs.configurationName").toString(), QLatin1String("release"));
QCOMPARE(parser.buildConfigurations().at(1).value("qbs.profile").toString(), QLatin1String("b"));
@@ -138,8 +138,8 @@ private slots:
QVERIFY(parser.parseCommandLine(QStringList(m_fileArgs) << "profile:a" << "config:debug"
<< "profile:b"));
QCOMPARE(parser.buildConfigurations().count(), 1);
- QCOMPARE(parser.buildConfigurations().first().value("qbs.configurationName").toString(), QLatin1String("debug"));
- QCOMPARE(parser.buildConfigurations().first().value("qbs.profile").toString(), QLatin1String("b"));
+ QCOMPARE(parser.buildConfigurations().front().value("qbs.configurationName").toString(), QLatin1String("debug"));
+ QCOMPARE(parser.buildConfigurations().front().value("qbs.profile").toString(), QLatin1String("b"));
// Digits are always handled as option parameters.
QVERIFY(parser.parseCommandLine(QStringList(m_fileArgs) << "-j" << "123"));
@@ -152,14 +152,14 @@ private slots:
<< "-j123"));
QCOMPARE(parser.command(), RunCommandType);
QCOMPARE(parser.buildOptions(QString()).maxJobCount(), 123);
- QCOMPARE(parser.buildConfigurations().first().value("qbs.configurationName").toString(),
+ QCOMPARE(parser.buildConfigurations().front().value("qbs.configurationName").toString(),
QLatin1String("custom"));
QVERIFY(parser.runArgs().empty());
QVERIFY(parser.parseCommandLine(QStringList("run") << m_fileArgs << "-j" << "123" << "--"
<< "config:custom"));
QCOMPARE(parser.command(), RunCommandType);
QCOMPARE(parser.buildOptions(QString()).maxJobCount(), 123);
- QCOMPARE(parser.buildConfigurations().first().value("qbs.configurationName").toString(),
+ QCOMPARE(parser.buildConfigurations().front().value("qbs.configurationName").toString(),
QLatin1String("default"));
QCOMPARE(parser.runArgs(), QStringList({"config:custom"}));
diff --git a/tests/auto/language/tst_language.cpp b/tests/auto/language/tst_language.cpp
index e2e8d9409..20e0c1703 100644
--- a/tests/auto/language/tst_language.cpp
+++ b/tests/auto/language/tst_language.cpp
@@ -296,7 +296,7 @@ void TestLanguage::chainedProbes()
const TopLevelProjectConstPtr project = loader->loadProject(parameters);
QVERIFY(!!project);
QCOMPARE(project->products.count(), 1);
- const QString prop2Val = project->products.first()->moduleProperties
+ const QString prop2Val = project->products.front()->moduleProperties
->moduleProperty("m", "prop2").toString();
QCOMPARE(prop2Val, QLatin1String("probe1Valprobe2Val"));
} catch (const ErrorInfo &e) {
@@ -595,11 +595,11 @@ void TestLanguage::enumerateProjectProperties()
QVERIFY(!!project);
auto products = productsFromProject(project);
QCOMPARE(products.count(), 1);
- auto product = products.values().first();
- auto files = product->groups.first()->allFiles();
+ auto product = products.values().front();
+ auto files = product->groups.front()->allFiles();
QCOMPARE(product->groups.count(), 1);
QCOMPARE(files.count(), 1);
- auto fileName = FileInfo::fileName(files.first()->absoluteFilePath);
+ auto fileName = FileInfo::fileName(files.front()->absoluteFilePath);
QCOMPARE(fileName, QString("dummy.txt"));
} catch (const ErrorInfo &e) {
exceptionCaught = true;
@@ -1381,7 +1381,7 @@ void TestLanguage::jsImportUsedInMultipleScopes()
QVERIFY(!!project);
QHash<QString, ResolvedProductPtr> products = productsFromProject(project);
QCOMPARE(products.count(), 1);
- ResolvedProductPtr product = products.values().first();
+ ResolvedProductPtr product = products.values().front();
QVERIFY(!!product);
QCOMPARE(product->name, expectedProductName);
}
@@ -1886,14 +1886,14 @@ void TestLanguage::outerInGroup()
QVERIFY(!!group);
QCOMPARE(group->name, product->name);
QCOMPARE(group->files.count(), 1);
- SourceArtifactConstPtr artifact = group->files.first();
+ SourceArtifactConstPtr artifact = group->files.front();
QVariant installDir = artifact->properties->qbsPropertyValue("installDir");
QCOMPARE(installDir.toString(), QString("/somewhere"));
group = product->groups.at(1);
QVERIFY(!!group);
QCOMPARE(group->name, QString("Special Group"));
QCOMPARE(group->files.count(), 1);
- artifact = group->files.first();
+ artifact = group->files.front();
installDir = artifact->properties->qbsPropertyValue("installDir");
QCOMPARE(installDir.toString(), QString("/somewhere/else"));
}
@@ -1916,7 +1916,7 @@ void TestLanguage::overriddenPropertiesAndPrototypes()
TopLevelProjectConstPtr project = loader->loadProject(params);
QVERIFY(!!project);
QCOMPARE(project->products.count(), 1);
- QCOMPARE(project->products.first()->moduleProperties->moduleProperty(
+ QCOMPARE(project->products.front()->moduleProperties->moduleProperty(
"multiple-backends", "prop").toString(), backendName);
}
catch (const ErrorInfo &e) {
@@ -2004,12 +2004,12 @@ void TestLanguage::profileValuesAndOverriddenValues()
QVariantList values;
values = product->moduleProperties->moduleProperty("dummy", "cxxFlags").toList();
QCOMPARE(values.length(), 1);
- QCOMPARE(values.first().toString(), QString("IN_PROFILE"));
+ QCOMPARE(values.front().toString(), QString("IN_PROFILE"));
values = product->moduleProperties->moduleProperty("dummy", "defines").toList();
QCOMPARE(values, QVariantList() << QLatin1String("IN_FILE") << QLatin1String("IN_PROFILE"));
values = product->moduleProperties->moduleProperty("dummy", "cFlags").toList();
QCOMPARE(values.length(), 1);
- QCOMPARE(values.first().toString(), QString("OVERRIDDEN"));
+ QCOMPARE(values.front().toString(), QString("OVERRIDDEN"));
} catch (const ErrorInfo &e) {
exceptionCaught = true;
qDebug() << e.toString();
@@ -2261,7 +2261,7 @@ void TestLanguage::propertiesBlockInGroup()
const TopLevelProjectPtr project = loader->loadProject(defaultParameters);
QVERIFY(!!project);
QCOMPARE(project->allProducts().count(), 1);
- const ResolvedProductConstPtr product = project->allProducts().first();
+ const ResolvedProductConstPtr product = project->allProducts().front();
const auto groupIt = std::find_if(product->groups.constBegin(), product->groups.constEnd(),
[](const GroupConstPtr &g) { return g->name == "the group"; });
QVERIFY(groupIt != product->groups.constEnd());
@@ -2376,8 +2376,8 @@ void TestLanguage::relaxedErrorMode()
const ResolvedProductConstPtr missingFile = productMap.value("missing file");
QVERIFY(missingFile->enabled);
QCOMPARE(missingFile->groups.count(), 1);
- QVERIFY(missingFile->groups.first()->enabled);
- QCOMPARE(missingFile->groups.first()->allFiles().count(), 2);
+ QVERIFY(missingFile->groups.front()->enabled);
+ QCOMPARE(missingFile->groups.front()->allFiles().count(), 2);
const ResolvedProductConstPtr fine = productMap.value("fine");
QVERIFY(fine->enabled);
QCOMPARE(fine->allFiles().count(), 1);
@@ -2530,7 +2530,7 @@ void TestLanguage::fileTags()
GroupPtr group = product->groups.last();
QVERIFY(!!group);
QCOMPARE(group->files.count(), 1);
- SourceArtifactConstPtr sourceFile = group->files.first();
+ SourceArtifactConstPtr sourceFile = group->files.front();
QStringList fileTags = sourceFile->fileTags.toStringList();
fileTags.sort();
QCOMPARE(fileTags, expectedFileTags);
@@ -2753,7 +2753,7 @@ void TestLanguage::wildcards()
}
} else {
QCOMPARE(product->groups.count(), HostOsInfo::isMacosHost() ? 2 : 1);
- group = product->groups.first();
+ group = product->groups.front();
}
QVERIFY(!!group);
QCOMPARE(group->files.count(), 0);
diff --git a/tests/benchmarker/commandlineparser.cpp b/tests/benchmarker/commandlineparser.cpp
index f33fdcaf4..115288f11 100644
--- a/tests/benchmarker/commandlineparser.cpp
+++ b/tests/benchmarker/commandlineparser.cpp
@@ -75,9 +75,9 @@ void CommandLineParser::parse()
<< oldCommitOption << newCommitOption << testProjectOption << qbsRepoOption;
foreach (const QCommandLineOption &o, mandatoryOptions) {
if (!parser.isSet(o))
- throwException(o.names().first(), parser.helpText());
+ throwException(o.names().front(), parser.helpText());
if (parser.value(o).isEmpty())
- throwException(o.names().first(), QString(), parser.helpText());
+ throwException(o.names().front(), QString(), parser.helpText());
}
m_oldCommit = parser.value(oldCommitOption);
m_newCommit = parser.value(newCommitOption);
@@ -96,7 +96,7 @@ void CommandLineParser::parse()
} else if (activityString == nullBuildActivity()) {
m_activities |= ActivityNullBuild;
} else {
- throwException(activitiesOption.names().first(), activityString, parser.helpText());
+ throwException(activitiesOption.names().front(), activityString, parser.helpText());
}
}
m_regressionThreshold = 5;