diff options
author | Jake Petroules <jake.petroules@qt.io> | 2017-10-24 10:50:33 -0700 |
---|---|---|
committer | Jake Petroules <jake.petroules@qt.io> | 2017-11-16 15:11:15 +0000 |
commit | 4432ba4949647917d0fc3fb2ef73f9737a7c2431 (patch) | |
tree | e36f48e90f7019ad0ecfb7046638cebf3410930e | |
parent | a0c61e70eeefbf9d6c632a94d29bcc2a7e97b7d7 (diff) |
STL compatibility: use empty() instead of isEmpty()
This is a simple find and replace with manual sanity check.
Change-Id: Iab6d46dcc3be246d1650aae2b1730f933b717be8
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
66 files changed, 260 insertions, 260 deletions
diff --git a/src/app/config-ui/commandlineparser.cpp b/src/app/config-ui/commandlineparser.cpp index 5c5606442..b05d84343 100644 --- a/src/app/config-ui/commandlineparser.cpp +++ b/src/app/config-ui/commandlineparser.cpp @@ -52,12 +52,12 @@ static QString settingsDirOption() { return QLatin1String("--settings-dir"); } void CommandLineParser::parse(const QStringList &commandLine) { m_commandLine = commandLine; - Q_ASSERT(!m_commandLine.isEmpty()); + Q_ASSERT(!m_commandLine.empty()); m_command = QFileInfo(m_commandLine.takeFirst()).fileName(); m_helpRequested = false; m_settingsDir.clear(); - if (m_commandLine.isEmpty()) + if (m_commandLine.empty()) return; const QString &arg = m_commandLine.front(); if (arg == helpOptionShort() || arg == helpOptionLong()) { @@ -68,7 +68,7 @@ void CommandLineParser::parse(const QStringList &commandLine) assignOptionArgument(settingsDirOption(), m_settingsDir); } - if (!m_commandLine.isEmpty()) + if (!m_commandLine.empty()) complainAboutExtraArguments(); } @@ -92,7 +92,7 @@ QString CommandLineParser::usageString() const void CommandLineParser::assignOptionArgument(const QString &option, QString &argument) { - if (m_commandLine.isEmpty()) + if (m_commandLine.empty()) throwError(Tr::tr("Option '%1' needs an argument.").arg(option)); argument = m_commandLine.takeFirst(); if (argument.isEmpty()) diff --git a/src/app/config/configcommandexecutor.cpp b/src/app/config/configcommandexecutor.cpp index a8ae28f66..c95b43f18 100644 --- a/src/app/config/configcommandexecutor.cpp +++ b/src/app/config/configcommandexecutor.cpp @@ -93,7 +93,7 @@ void ConfigCommandExecutor::setValue(const QString &key, const QString &rawInput void ConfigCommandExecutor::printSettings(const ConfigCommand &command) { - if (command.varNames.isEmpty()) { + if (command.varNames.empty()) { foreach (const QString &key, m_settings->allKeys()) printOneSetting(key); } else { diff --git a/src/app/config/configcommandlineparser.cpp b/src/app/config/configcommandlineparser.cpp index dd6262543..46a354939 100644 --- a/src/app/config/configcommandlineparser.cpp +++ b/src/app/config/configcommandlineparser.cpp @@ -53,7 +53,7 @@ void ConfigCommandLineParser::parse(const QStringList &commandLine) m_settingsDir.clear(); m_commandLine = commandLine; - if (m_commandLine.isEmpty()) + if (m_commandLine.empty()) throw ErrorInfo(Tr::tr("No parameters supplied.")); if (m_commandLine.size() == 1 && (m_commandLine.front() == QLatin1String("--help") || m_commandLine.front() == QLatin1String("-h"))) { @@ -61,7 +61,7 @@ void ConfigCommandLineParser::parse(const QStringList &commandLine) return; } - while (!m_commandLine.isEmpty() && m_commandLine.front().startsWith(QLatin1String("--"))) { + while (!m_commandLine.empty() && m_commandLine.front().startsWith(QLatin1String("--"))) { const QString arg = m_commandLine.takeFirst().mid(2); if (arg == QLatin1String("list")) setCommand(ConfigCommand::CfgList); @@ -79,7 +79,7 @@ void ConfigCommandLineParser::parse(const QStringList &commandLine) switch (command().command) { case ConfigCommand::CfgNone: - if (m_commandLine.isEmpty()) + if (m_commandLine.empty()) throw ErrorInfo(Tr::tr("No parameters supplied.")); if (m_commandLine.size() > 2) throw ErrorInfo(Tr::tr("Too many arguments.")); @@ -92,7 +92,7 @@ void ConfigCommandLineParser::parse(const QStringList &commandLine) } break; case ConfigCommand::CfgUnset: - if (m_commandLine.isEmpty()) + if (m_commandLine.empty()) throw ErrorInfo(Tr::tr("Need name of variable to unset.")); m_command.varNames = m_commandLine; break; @@ -137,7 +137,7 @@ void ConfigCommandLineParser::printUsage() const void ConfigCommandLineParser::assignOptionArgument(const QString &option, QString &argument) { - if (m_commandLine.isEmpty()) + if (m_commandLine.empty()) throw ErrorInfo(Tr::tr("Option '%1' needs an argument.").arg(option)); argument = m_commandLine.takeFirst(); if (argument.isEmpty()) diff --git a/src/app/qbs-create-project/createproject.cpp b/src/app/qbs-create-project/createproject.cpp index 8f07b95b3..850eacb2e 100644 --- a/src/app/qbs-create-project/createproject.cpp +++ b/src/app/qbs-create-project/createproject.cpp @@ -85,7 +85,7 @@ void ProjectCreator::setupProject(Project *project) subProject->dirName = dit.fileName(); subProject->dirPath = dit.filePath(); setupProject(subProject.get()); - if (!subProject->fileNames.isEmpty() || !subProject->subProjects.empty()) + if (!subProject->fileNames.empty() || !subProject->subProjects.empty()) project->subProjects.push_back(std::move(subProject)); } } @@ -105,7 +105,7 @@ void ProjectCreator::serializeProject(const ProjectCreator::Project &project) QTextStream fileContents(&projectFile); fileContents.setCodec("UTF-8"); fileContents << "import qbs\n\n"; - if (!project.fileNames.isEmpty() || m_projectStructure == ProjectStructure::Flat) { + if (!project.fileNames.empty() || m_projectStructure == ProjectStructure::Flat) { fileContents << "Product {\n"; const ProductFlags productFlags = getFlags(project); if (productFlags.testFlag(IsApp)) { @@ -164,7 +164,7 @@ bool ProjectCreator::isSourceFile(const QString &fileName) { const auto isMatch = [fileName](const QRegExp &rex) { return rex.exactMatch(fileName); }; return !std::any_of(m_blackList.cbegin(), m_blackList.cend(), isMatch) - && (m_whiteList.isEmpty() + && (m_whiteList.empty() || std::any_of(m_whiteList.cbegin(), m_whiteList.cend(), isMatch)); } diff --git a/src/app/qbs-setup-android/android-setup.cpp b/src/app/qbs-setup-android/android-setup.cpp index e5ad9e845..7a749f374 100644 --- a/src/app/qbs-setup-android/android-setup.cpp +++ b/src/app/qbs-setup-android/android-setup.cpp @@ -198,7 +198,7 @@ static void setupNdk(qbs::Settings *settings, const QString &profileName, const mainProfile.setValue(qls("qbs.toolchain"), QStringList() << qls("gcc")); const QStringList archs = expectedArchs(); const QtInfoPerArch infoPerArch = getQtAndroidInfo(qtSdkDirPath); - mainProfile.setValue(qls("qbs.architectures"), infoPerArch.isEmpty() + mainProfile.setValue(qls("qbs.architectures"), infoPerArch.empty() ? archs : QStringList(infoPerArch.keys())); QStringList searchPaths; QString platform; @@ -227,7 +227,7 @@ static void setupNdk(qbs::Settings *settings, const QString &profileName, const searchPaths << p.p.value(qls("preferences.qbsSearchPaths")).toStringList(); platform = maximumPlatform(platform, qtAndroidInfo.platform); } - if (!searchPaths.isEmpty()) + if (!searchPaths.empty()) mainProfile.setValue(qls("preferences.qbsSearchPaths"), searchPaths); if (!platform.isEmpty()) mainProfile.setValue(qls("Android.ndk.platform"), platform); diff --git a/src/app/qbs-setup-android/commandlineparser.cpp b/src/app/qbs-setup-android/commandlineparser.cpp index 174016480..1bdf2188b 100644 --- a/src/app/qbs-setup-android/commandlineparser.cpp +++ b/src/app/qbs-setup-android/commandlineparser.cpp @@ -60,7 +60,7 @@ static QString qtSdkDirOption() { return QLatin1String("--qt-dir"); } void CommandLineParser::parse(const QStringList &commandLine) { m_commandLine = commandLine; - Q_ASSERT(!m_commandLine.isEmpty()); + Q_ASSERT(!m_commandLine.empty()); m_command = QFileInfo(m_commandLine.takeFirst()).fileName(); m_helpRequested = false; m_sdkDir.clear(); @@ -68,10 +68,10 @@ void CommandLineParser::parse(const QStringList &commandLine) m_profileName.clear(); m_settingsDir.clear(); - if (m_commandLine.isEmpty()) + if (m_commandLine.empty()) throwError(Tr::tr("No command-line arguments provided.")); - while (!m_commandLine.isEmpty()) { + while (!m_commandLine.empty()) { const QString arg = m_commandLine.front(); if (!arg.startsWith(QLatin1Char('-'))) break; @@ -89,7 +89,7 @@ void CommandLineParser::parse(const QStringList &commandLine) } if (m_helpRequested) { - if (!m_commandLine.isEmpty()) + if (!m_commandLine.empty()) complainAboutExtraArguments(); return; } @@ -129,7 +129,7 @@ QString CommandLineParser::usageString() const void CommandLineParser::assignOptionArgument(const QString &option, QString &argument) { - if (m_commandLine.isEmpty()) + if (m_commandLine.empty()) throwError(Tr::tr("Option '%1' needs an argument.").arg(option)); argument = m_commandLine.takeFirst(); if (argument.isEmpty()) diff --git a/src/app/qbs-setup-qt/commandlineparser.cpp b/src/app/qbs-setup-qt/commandlineparser.cpp index 0f842e7b2..2559e0c0b 100644 --- a/src/app/qbs-setup-qt/commandlineparser.cpp +++ b/src/app/qbs-setup-qt/commandlineparser.cpp @@ -53,7 +53,7 @@ static QString settingsDirOption() { return QLatin1String("--settings-dir"); } void CommandLineParser::parse(const QStringList &commandLine) { m_commandLine = commandLine; - Q_ASSERT(!m_commandLine.isEmpty()); + Q_ASSERT(!m_commandLine.empty()); m_command = QFileInfo(m_commandLine.takeFirst()).fileName(); m_helpRequested = false; m_autoDetectionMode = false; @@ -61,10 +61,10 @@ void CommandLineParser::parse(const QStringList &commandLine) m_profileName.clear(); m_settingsDir.clear(); - if (m_commandLine.isEmpty()) + if (m_commandLine.empty()) throwError(Tr::tr("No command-line arguments provided.")); - while (!m_commandLine.isEmpty()) { + while (!m_commandLine.empty()) { const QString arg = m_commandLine.front(); if (!arg.startsWith(QLatin1Char('-'))) break; @@ -78,7 +78,7 @@ void CommandLineParser::parse(const QStringList &commandLine) } if (m_helpRequested || m_autoDetectionMode) { - if (!m_commandLine.isEmpty()) + if (!m_commandLine.empty()) complainAboutExtraArguments(); return; } @@ -120,7 +120,7 @@ QString CommandLineParser::usageString() const void CommandLineParser::assignOptionArgument(const QString &option, QString &argument) { - if (m_commandLine.isEmpty()) + if (m_commandLine.empty()) throwError(Tr::tr("Option '%1' needs an argument.").arg(option)); argument = m_commandLine.takeFirst(); if (argument.isEmpty()) diff --git a/src/app/qbs-setup-qt/main.cpp b/src/app/qbs-setup-qt/main.cpp index f74b7f4c7..92405ab07 100644 --- a/src/app/qbs-setup-qt/main.cpp +++ b/src/app/qbs-setup-qt/main.cpp @@ -72,7 +72,7 @@ int main(int argc, char *argv[]) if (clParser.autoDetectionMode()) { // search all Qt's in path and dump their settings QList<QtEnvironment> qtEnvironments = SetupQt::fetchEnvironments(); - if (qtEnvironments.isEmpty()) { + if (qtEnvironments.empty()) { std::cout << qPrintable(Tr::tr("No Qt installations detected. " "No profiles created.")) << std::endl; @@ -82,7 +82,7 @@ int main(int argc, char *argv[]) if (SetupQt::checkIfMoreThanOneQtWithTheSameVersion(qtEnvironment.qtVersion, qtEnvironments)) { QStringList prefixPathParts = qtEnvironment.installPrefixPath .split(QLatin1Char('/'), QString::SkipEmptyParts); - if (!prefixPathParts.isEmpty()) + if (!prefixPathParts.empty()) profileName += QLatin1String("-") + prefixPathParts.last(); } SetupQt::saveToQbsSettings(profileName, qtEnvironment, &settings); diff --git a/src/app/qbs-setup-qt/setupqt.cpp b/src/app/qbs-setup-qt/setupqt.cpp index 5a938bc5e..1687f311c 100644 --- a/src/app/qbs-setup-qt/setupqt.cpp +++ b/src/app/qbs-setup-qt/setupqt.cpp @@ -367,7 +367,7 @@ template <typename T> bool areProfilePropertiesIncompatible(const T &set1, const { // Two objects are only considered incompatible if they are both non empty and compare inequal // This logic is used for comparing target OS, toolchain lists, and architectures - return !set1.isEmpty() && !set2.isEmpty() && set1 != set2; + return set1.size() > 0 && set2.size() > 0 && set1 != set2; } static QStringList qbsTargetOsFromQtMkspec(const QString &mkspec) @@ -457,7 +457,7 @@ static Match compatibility(const QtEnvironment &env, const Profile &toolchainPro if (areProfilePropertiesIncompatible(toolchainNames, mkspecToolchainNames)) { auto intersection = toolchainNames; intersection.intersect(mkspecToolchainNames); - if (!intersection.isEmpty()) + if (!intersection.empty()) match = MatchPartial; else return MatchNone; @@ -567,12 +567,12 @@ void SetupQt::saveToQbsSettings(const QString &qtVersionName, const QtEnvironmen QString bestMatch; if (fullMatches.size() == 1) bestMatch = fullMatches.front(); - else if (fullMatches.isEmpty() && partialMatches.size() == 1) + else if (fullMatches.empty() && partialMatches.size() == 1) 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. "); - if (fullMatches.isEmpty() && partialMatches.isEmpty()) { + if (fullMatches.empty() && partialMatches.empty()) { message += Tr::tr("However, no toolchain profile was found. Either create one " "using qbs-setup-toolchains and set it as this profile's " "base profile or add the toolchain settings manually " diff --git a/src/app/qbs-setup-toolchains/commandlineparser.cpp b/src/app/qbs-setup-toolchains/commandlineparser.cpp index b7466d6b9..00e605f3f 100644 --- a/src/app/qbs-setup-toolchains/commandlineparser.cpp +++ b/src/app/qbs-setup-toolchains/commandlineparser.cpp @@ -54,7 +54,7 @@ static QString settingsDirOption() { return QLatin1String("--settings-dir"); } void CommandLineParser::parse(const QStringList &commandLine) { m_commandLine = commandLine; - Q_ASSERT(!m_commandLine.isEmpty()); + Q_ASSERT(!m_commandLine.empty()); m_command = QFileInfo(m_commandLine.takeFirst()).fileName(); m_helpRequested = false; m_autoDetectionMode = false; @@ -63,10 +63,10 @@ void CommandLineParser::parse(const QStringList &commandLine) m_profileName.clear(); m_settingsDir.clear(); - if (m_commandLine.isEmpty()) + if (m_commandLine.empty()) throwError(Tr::tr("No command-line arguments provided.")); - while (!m_commandLine.isEmpty()) { + while (!m_commandLine.empty()) { const QString arg = m_commandLine.front(); if (!arg.startsWith(QLatin1Char('-'))) break; @@ -82,7 +82,7 @@ void CommandLineParser::parse(const QStringList &commandLine) } if (m_helpRequested || m_autoDetectionMode) { - if (!m_commandLine.isEmpty()) + if (!m_commandLine.empty()) complainAboutExtraArguments(); return; } @@ -127,7 +127,7 @@ QString CommandLineParser::usageString() const void CommandLineParser::assignOptionArgument(const QString &option, QString &argument) { - if (m_commandLine.isEmpty()) + if (m_commandLine.empty()) throwError(Tr::tr("Option '%1' needs an argument.").arg(option)); argument = m_commandLine.takeFirst(); if (argument.isEmpty()) diff --git a/src/app/qbs-setup-toolchains/probe.cpp b/src/app/qbs-setup-toolchains/probe.cpp index 1dd1ad56c..2738572e7 100644 --- a/src/app/qbs-setup-toolchains/probe.cpp +++ b/src/app/qbs-setup-toolchains/probe.cpp @@ -287,7 +287,7 @@ void probe(Settings *settings) mingwProbe(settings, profiles); - if (profiles.isEmpty()) { + if (profiles.empty()) { qStderr << Tr::tr("Could not detect any toolchains. No profile created.") << endl; } else if (profiles.size() == 1 && settings->defaultProfile().isEmpty()) { const QString profileName = profiles.front().name(); diff --git a/src/app/qbs/commandlinefrontend.cpp b/src/app/qbs/commandlinefrontend.cpp index 00862e071..87e86f37a 100644 --- a/src/app/qbs/commandlinefrontend.cpp +++ b/src/app/qbs/commandlinefrontend.cpp @@ -93,7 +93,7 @@ void CommandLineFrontend::checkCancelStatus() case CancelStatusRequested: m_cancelStatus = CancelStatusCanceling; m_cancelTimer->stop(); - if (m_resolveJobs.isEmpty() && m_buildJobs.isEmpty()) + if (m_resolveJobs.empty() && m_buildJobs.empty()) std::exit(EXIT_FAILURE); foreach (AbstractJob * const job, m_resolveJobs) job->cancel(); @@ -200,7 +200,7 @@ void CommandLineFrontend::start() m_cancelTimer->start(2000); } catch (const ErrorInfo &error) { qbsError() << error.toString(); - if (m_buildJobs.isEmpty() && m_resolveJobs.isEmpty()) { + if (m_buildJobs.empty() && m_resolveJobs.empty()) { qApp->exit(EXIT_FAILURE); } else { cancel(); @@ -223,7 +223,7 @@ void CommandLineFrontend::handleJobFinished(bool success, AbstractJob *job) qbsError() << job->error().toString(); m_resolveJobs.removeOne(job); m_buildJobs.removeOne(job); - if (m_resolveJobs.isEmpty() && m_buildJobs.isEmpty()) { + if (m_resolveJobs.empty() && m_buildJobs.empty()) { qApp->exit(EXIT_FAILURE); return; } @@ -233,7 +233,7 @@ void CommandLineFrontend::handleJobFinished(bool success, AbstractJob *job) m_projects << setupJob->project(); if (m_observer && resolvingMultipleProjects()) m_observer->incrementProgressValue(); - if (m_resolveJobs.isEmpty()) + if (m_resolveJobs.empty()) handleProjectsResolved(); } else if (qobject_cast<InstallJob *>(job)) { if (m_parser.command() == RunCommandType) @@ -242,7 +242,7 @@ void CommandLineFrontend::handleJobFinished(bool success, AbstractJob *job) qApp->quit(); } else { // Build or clean. m_buildJobs.removeOne(job); - if (m_buildJobs.isEmpty()) { + if (m_buildJobs.empty()) { switch (m_parser.command()) { case RunCommandType: case InstallCommandType: @@ -308,15 +308,15 @@ void CommandLineFrontend::handleTaskProgress(int value, AbstractJob *job) void CommandLineFrontend::handleProcessResultReport(const qbs::ProcessResult &result) { - bool hasOutput = !result.stdOut().isEmpty() || !result.stdErr().isEmpty(); + bool hasOutput = !result.stdOut().empty() || !result.stdErr().empty(); if (!hasOutput && result.success()) return; LogWriter w = result.success() ? qbsInfo() : qbsError(); w << shellQuote(QDir::toNativeSeparators(result.executableFilePath()), result.arguments()) << (hasOutput ? QString::fromLatin1("\n") : QString()) - << (result.stdOut().isEmpty() ? QString() : result.stdOut().join(QLatin1Char('\n'))); - if (!result.stdErr().isEmpty()) + << (result.stdOut().empty() ? QString() : result.stdOut().join(QLatin1Char('\n'))); + if (!result.stdErr().empty()) w << result.stdErr().join(QLatin1Char('\n')) << MessageTag(QStringLiteral("stdErr")); } @@ -327,19 +327,19 @@ bool CommandLineFrontend::resolvingMultipleProjects() const bool CommandLineFrontend::isResolving() const { - return !m_resolveJobs.isEmpty(); + return !m_resolveJobs.empty(); } bool CommandLineFrontend::isBuilding() const { - return !m_buildJobs.isEmpty(); + return !m_buildJobs.empty(); } CommandLineFrontend::ProductMap CommandLineFrontend::productsToUse() const { ProductMap products; QStringList productNames; - const bool useAll = m_parser.products().isEmpty(); + const bool useAll = m_parser.products().empty(); foreach (const Project &project, m_projects) { QList<ProductData> &productList = products[project]; const ProjectData projectData = project.projectData(); @@ -409,7 +409,7 @@ void CommandLineFrontend::handleProjectsResolved() void CommandLineFrontend::makeClean() { - if (m_parser.products().isEmpty()) { + if (m_parser.products().empty()) { foreach (const Project &project, m_projects) { m_buildJobs << project.cleanAllProducts(m_parser.cleanOptions(project.profile()), this); } @@ -478,7 +478,7 @@ QString CommandLineFrontend::buildDirectory(const QString &profileName) const void CommandLineFrontend::build() { - if (m_parser.products().isEmpty()) { + if (m_parser.products().empty()) { const Project::ProductSelection productSelection = m_parser.withNonDefaultProducts() ? Project::ProductSelectionWithNonDefault : Project::ProductSelectionDefaultOnly; foreach (const Project &project, m_projects) @@ -632,7 +632,7 @@ ProductData CommandLineFrontend::getTheOneRunnableProduct() if (runnableProducts.size() == 1) return runnableProducts.front(); - if (runnableProducts.isEmpty()) { + if (runnableProducts.empty()) { throw ErrorInfo(Tr::tr("Cannot execute command '%1': Project has no runnable product.") .arg(m_parser.commandName())); } @@ -656,7 +656,7 @@ void CommandLineFrontend::install() Q_ASSERT(m_projects.size() == 1); const Project project = m_projects.front(); InstallJob *installJob; - if (m_parser.products().isEmpty()) { + if (m_parser.products().empty()) { const Project::ProductSelection productSelection = m_parser.withNonDefaultProducts() ? Project::ProductSelectionWithNonDefault : Project::ProductSelectionDefaultOnly; installJob = project.installAllProducts(m_parser.installOptions(project.profile()), diff --git a/src/app/qbs/main.cpp b/src/app/qbs/main.cpp index 408823f8e..ca7c48a85 100644 --- a/src/app/qbs/main.cpp +++ b/src/app/qbs/main.cpp @@ -52,7 +52,7 @@ using namespace qbs; static bool tryToRunTool(const QStringList &arguments, int &exitCode) { - if (arguments.isEmpty()) + if (arguments.empty()) return false; QStringList toolArgs = arguments; const QString toolName = toolArgs.takeFirst(); diff --git a/src/app/qbs/parser/commandlineoption.cpp b/src/app/qbs/parser/commandlineoption.cpp index 0c73f7fb9..ffb2d606d 100644 --- a/src/app/qbs/parser/commandlineoption.cpp +++ b/src/app/qbs/parser/commandlineoption.cpp @@ -63,7 +63,7 @@ CommandLineOption::CommandLineOption() QString CommandLineOption::getArgument(const QString &representation, QStringList &input) { - if (input.isEmpty()) { + if (input.empty()) { throw ErrorInfo(Tr::tr("Invalid use of option '%1': Missing argument.\nUsage: %2") .arg(representation, description(command()))); } @@ -331,7 +331,7 @@ QString ShowProgressOption::longRepresentation() const void StringListOption::doParse(const QString &representation, QStringList &input) { m_arguments = getArgument(representation, input).split(QLatin1Char(',')); - if (m_arguments.isEmpty()) { + if (m_arguments.empty()) { throw ErrorInfo(Tr::tr("Invalid use of option '%1': Argument list must not be empty.\n" "Usage: %2").arg(representation, description(command()))); } @@ -486,7 +486,7 @@ QString InstallRootOption::longRepresentation() const void InstallRootOption::doParse(const QString &representation, QStringList &input) { - if (input.isEmpty()) { + if (input.empty()) { throw ErrorInfo(Tr::tr("Invalid use of option '%1: Argument expected.\n" "Usage: %2").arg(representation, description(command()))); } @@ -566,7 +566,7 @@ QString SettingsDirOption::longRepresentation() const void SettingsDirOption::doParse(const QString &representation, QStringList &input) { - if (input.isEmpty()) { + if (input.empty()) { throw ErrorInfo(Tr::tr("Invalid use of option '%1: Argument expected.\n" "Usage: %2").arg(representation, description(command()))); } diff --git a/src/app/qbs/parser/commandlineparser.cpp b/src/app/qbs/parser/commandlineparser.cpp index 1ff7a665a..427cf313a 100644 --- a/src/app/qbs/parser/commandlineparser.cpp +++ b/src/app/qbs/parser/commandlineparser.cpp @@ -318,7 +318,7 @@ CommandLineParser::CommandLineParserPrivate::CommandLineParserPrivate() void CommandLineParser::CommandLineParserPrivate::doParse() { - if (commandLine.isEmpty()) { // No command given, use default. + if (commandLine.empty()) { // No command given, use default. command = commandPool.getCommand(BuildCommandType); } else { command = commandFromString(commandLine.front()); @@ -409,7 +409,7 @@ QString CommandLineParser::CommandLineParserPrivate::generalHelp() const QStringList toolNames = QbsTool::allToolNames(); toolNames.sort(); - if (!toolNames.isEmpty()) { + if (!toolNames.empty()) { help.append(QLatin1Char('\n')).append(Tr::tr("Auxiliary commands:\n")); foreach (const QString &toolName, toolNames) { help.append(QLatin1String(" ")).append(toolName); diff --git a/src/app/qbs/parser/parsercommand.cpp b/src/app/qbs/parser/parsercommand.cpp index 564ecfcf2..aa9cf0f6d 100644 --- a/src/app/qbs/parser/parsercommand.cpp +++ b/src/app/qbs/parser/parsercommand.cpp @@ -560,7 +560,7 @@ QList<CommandLineOption::Type> HelpCommand::supportedOptions() const void HelpCommand::parseNext(QStringList &input) { - if (input.isEmpty()) + if (input.empty()) return; if (input.size() > 1) throwError(Tr::tr("Cannot describe more than one command.")); diff --git a/src/lib/corelib/api/changeset.cpp b/src/lib/corelib/api/changeset.cpp index bd04fe006..4f0727a44 100644 --- a/src/lib/corelib/api/changeset.cpp +++ b/src/lib/corelib/api/changeset.cpp @@ -118,9 +118,9 @@ bool ChangeSet::hasOverlap(int pos, int length) return false; } -bool ChangeSet::isEmpty() const +bool ChangeSet::empty() const { - return m_operationList.isEmpty(); + return m_operationList.empty(); } QList<ChangeSet::EditOp> ChangeSet::operationList() const @@ -372,7 +372,7 @@ void ChangeSet::apply_helper() // convert all ops to replace QList<EditOp> replaceList; { - while (!m_operationList.isEmpty()) { + while (!m_operationList.empty()) { const EditOp cmd(m_operationList.front()); m_operationList.removeFirst(); convertToReplace(cmd, &replaceList); @@ -383,7 +383,7 @@ void ChangeSet::apply_helper() if (m_cursor) m_cursor->beginEditBlock(); - while (!replaceList.isEmpty()) { + while (!replaceList.empty()) { const EditOp cmd(replaceList.front()); replaceList.removeFirst(); doReplace(cmd, &replaceList); diff --git a/src/lib/corelib/api/changeset.h b/src/lib/corelib/api/changeset.h index 4991da7d5..13d3908d4 100644 --- a/src/lib/corelib/api/changeset.h +++ b/src/lib/corelib/api/changeset.h @@ -88,7 +88,7 @@ public: ChangeSet(); ChangeSet(const QList<EditOp> &operations); - bool isEmpty() const; + bool empty() const; QList<EditOp> operationList() const; diff --git a/src/lib/corelib/api/project.cpp b/src/lib/corelib/api/project.cpp index 90e3a1a81..9b13f0609 100644 --- a/src/lib/corelib/api/project.cpp +++ b/src/lib/corelib/api/project.cpp @@ -332,7 +332,7 @@ void ProjectPrivate::addGroup(const ProductData &product, const QString &groupNa if (!product.isValid()) throw ErrorInfo(Tr::tr("Product is invalid.")); QList<ProductData> products = findProductsByName(product.name()); - if (products.isEmpty()) + if (products.empty()) throw ErrorInfo(Tr::tr("Product '%1' does not exist.").arg(product.name())); const QList<ResolvedProductPtr> resolvedProducts = internalProducts(products); QBS_CHECK(products.size() == resolvedProducts.size()); @@ -376,7 +376,7 @@ ProjectPrivate::GroupUpdateContext ProjectPrivate::getGroupContext(const Product if (!product.isValid()) throw ErrorInfo(Tr::tr("Product is invalid.")); context.products = findProductsByName(product.name()); - if (context.products.isEmpty()) + if (context.products.empty()) throw ErrorInfo(Tr::tr("Product '%1' does not exist.").arg(product.name())); context.resolvedProducts = internalProducts(context.products); @@ -389,7 +389,7 @@ ProjectPrivate::GroupUpdateContext ProjectPrivate::getGroupContext(const Product } } } - if (context.resolvedGroups.isEmpty()) + if (context.resolvedGroups.empty()) throw ErrorInfo(Tr::tr("Group '%1' does not exist.").arg(groupName)); for (const ProductData &p : qAsConst(context.products)) { const GroupData &g = findGroupData(p, groupName); @@ -429,7 +429,7 @@ ProjectPrivate::FileListUpdateContext ProjectPrivate::getFileListContext(const P GroupUpdateContext &groupContext = filesContext.groupContext; groupContext = getGroupContext(product, group); - if (filePaths.isEmpty()) + if (filePaths.empty()) throw ErrorInfo(Tr::tr("No files supplied.")); QString prefix; @@ -552,7 +552,7 @@ void ProjectPrivate::removeFiles(const ProductData &product, const GroupData &gr FileListUpdateContext filesContext = getFileListContext(product, group, filePaths, false); GroupUpdateContext &groupContext = filesContext.groupContext; - if (!filesContext.absoluteFilePathsFromWildcards.isEmpty()) { + if (!filesContext.absoluteFilePathsFromWildcards.empty()) { throw ErrorInfo(Tr::tr("The following files cannot be removed from the project file, " "because they match wildcard patterns: %1") .arg(filesContext.absoluteFilePathsFromWildcards.join(QLatin1String(", ")))); @@ -563,7 +563,7 @@ void ProjectPrivate::removeFiles(const ProductData &product, const GroupData &gr if (filesNotFound.removeOne(sa->absoluteFilePath)) sourceArtifacts << sa; } - if (!filesNotFound.isEmpty()) { + if (!filesNotFound.empty()) { throw ErrorInfo(Tr::tr("The following files are not known to qbs: %1") .arg(filesNotFound.join(QLatin1String(", ")))); } diff --git a/src/lib/corelib/api/projectfileupdater.cpp b/src/lib/corelib/api/projectfileupdater.cpp index b665e5520..37dfb7688 100644 --- a/src/lib/corelib/api/projectfileupdater.cpp +++ b/src/lib/corelib/api/projectfileupdater.cpp @@ -176,7 +176,7 @@ void ProjectFileUpdater::apply() Parser parser(&engine); if (!parser.parse()) { QList<DiagnosticMessage> parserMessages = parser.diagnosticMessages(); - if (!parserMessages.isEmpty()) { + if (!parserMessages.empty()) { ErrorInfo errorInfo; errorInfo.append(Tr::tr("Failure parsing project file.")); for (const DiagnosticMessage &msg : qAsConst(parserMessages)) @@ -302,7 +302,7 @@ static QString &completeFilesRepr(QString &filesRepr, int indentation) void ProjectFileFilesAdder::doApply(QString &fileContent, UiProgram *ast) { - if (m_files.isEmpty()) + if (m_files.empty()) return; QStringList sortedFiles = m_files; sortedFiles.sort(); @@ -346,13 +346,13 @@ 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.front()); - while (!oldFileReprs.isEmpty()) { + while (!oldFileReprs.empty()) { if (oldFileReprs.front() > firstNewFileRepr) break; addToFilesRepr(filesRepresentation, oldFileReprs.takeFirst(), arrayElemIndentation); } addToFilesRepr(filesRepresentation, sortedFiles, arrayElemIndentation); - while (!oldFileReprs.isEmpty()) + while (!oldFileReprs.empty()) addToFilesRepr(filesRepresentation, oldFileReprs.takeFirst(), arrayElemIndentation); completeFilesRepr(filesRepresentation, bindingIndentation); break; @@ -414,7 +414,7 @@ ProjectFileFilesRemover::ProjectFileFilesRemover(const ProductData &product, con void ProjectFileFilesRemover::doApply(QString &fileContent, UiProgram *ast) { - if (m_files.isEmpty()) + if (m_files.empty()) return; // Find the item containing the "files" binding. @@ -464,7 +464,7 @@ void ProjectFileFilesRemover::doApply(QString &fileContent, UiProgram *ast) newFilesList << existingFile; elem = elem->next; } - if (!filesToRemove.isEmpty()) { + if (!filesToRemove.empty()) { throw ErrorInfo(Tr::tr("The following files were not found in the 'files' list: %1") .arg(filesToRemove.join(QLatin1String(", "))), bindingLocation); } diff --git a/src/lib/corelib/api/runenvironment.cpp b/src/lib/corelib/api/runenvironment.cpp index 0470bfb9a..0a2c1f0e5 100644 --- a/src/lib/corelib/api/runenvironment.cpp +++ b/src/lib/corelib/api/runenvironment.cpp @@ -339,7 +339,7 @@ int RunEnvironment::doRunTarget(const QString &targetBin, const QStringList &arg << QStringLiteral("-run") << QStringLiteral("-bundle") << QDir::cleanPath(bundlePath); - if (!arguments.isEmpty()) + if (!arguments.empty()) targetArguments << QStringLiteral("-extra-args") << arguments; } else if (QFileInfo(targetExecutable = findExecutable(QStringList() << QStringLiteral("ios-deploy"))).isExecutable()) { @@ -348,7 +348,7 @@ int RunEnvironment::doRunTarget(const QString &targetBin, const QStringList &arg << QStringLiteral("--noninteractive") << QStringLiteral("--bundle") << QDir::cleanPath(bundlePath); - if (!arguments.isEmpty()) + if (!arguments.empty()) targetArguments << QStringLiteral("--args") << arguments; } else { d->logger.qbsLog(LoggerError) diff --git a/src/lib/corelib/buildgraph/buildgraph.cpp b/src/lib/corelib/buildgraph/buildgraph.cpp index 4582bc870..5009a4aff 100644 --- a/src/lib/corelib/buildgraph/buildgraph.cpp +++ b/src/lib/corelib/buildgraph/buildgraph.cpp @@ -187,7 +187,7 @@ private: setupProductScriptValue(static_cast<ScriptEngine *>(engine), obj, dependency.get(), 0); const QVariantMap ¶ms = product->dependencyParameters.value(dependency); - obj.setProperty(m_parametersKey, params.isEmpty() + obj.setProperty(m_parametersKey, params.empty() ? engine->newObject() : toScriptValue(engine, observer, params, dependency->name)); @@ -199,7 +199,7 @@ private: QScriptValue obj = engine->newObject(); setupModuleScriptValue(static_cast<ScriptEngine *>(engine), obj, dependency.get()); const QVariantMap ¶ms = product->moduleParameters.value(dependency); - obj.setProperty(m_parametersKey, params.isEmpty() + obj.setProperty(m_parametersKey, params.empty() ? engine->newObject() : toScriptValue(engine, observer, params, dependency->name)); diff --git a/src/lib/corelib/buildgraph/buildgraphloader.cpp b/src/lib/corelib/buildgraph/buildgraphloader.cpp index e6051abcb..13b0312d3 100644 --- a/src/lib/corelib/buildgraph/buildgraphloader.cpp +++ b/src/lib/corelib/buildgraph/buildgraphloader.cpp @@ -354,7 +354,7 @@ void BuildGraphLoader::trackProjectChanges() std::shared_ptr<ProjectBuildData> oldBuildData; ChildListHash childLists; - if (!changedProducts.isEmpty()) { + if (!changedProducts.empty()) { oldBuildData = std::make_shared<ProjectBuildData>(restoredProject->buildData.get()); for (const ResolvedProductConstPtr &product : qAsConst(allRestoredProducts)) { if (!product->buildData) @@ -419,7 +419,7 @@ void BuildGraphLoader::trackProjectChanges() // Products still left in the list need resolving, either because they are new // or because they are newly enabled. - if (!allNewlyResolvedProducts.isEmpty()) { + if (!allNewlyResolvedProducts.empty()) { BuildDataResolver bpr(m_logger); bpr.resolveProductBuildDataForExistingProject(m_result.newlyResolvedProject, allNewlyResolvedProducts); @@ -448,11 +448,11 @@ bool BuildGraphLoader::probeExecutionForced( if (!m_parameters.forceProbeExecution()) return false; - if (!restoredProject->probes.isEmpty()) + if (!restoredProject->probes.empty()) return true; for (const auto &p : qAsConst(restoredProducts)) { - if (!p->probes.isEmpty()) + if (!p->probes.empty()) return true; } @@ -815,7 +815,7 @@ static QVariantMap propertyMapByKind(const ResolvedProductConstPtr &product, const int sepIndex = property.moduleName.indexOf(QLatin1Char(':')); const QString depName = property.moduleName.left(sepIndex); QVariantMap v = getParameterValue(product->dependencyParameters, depName); - if (!v.isEmpty()) + if (!v.empty()) return v; return getParameterValue(product->moduleParameters, depName); } @@ -948,7 +948,7 @@ bool BuildGraphLoader::checkForPropertyChange(const Property &restoredProperty, QualifiedId moduleName = QualifiedId::fromString(restoredProperty.moduleName.mid(sepIndex + 1)); QVariantMap map = newProperties; - while (!moduleName.isEmpty()) + while (!moduleName.empty()) map = map.value(moduleName.takeFirst()).toMap(); v = map.value(restoredProperty.propertyName); } @@ -988,7 +988,7 @@ bool BuildGraphLoader::checkConfigCompatibility() if (m_parameters.topLevelProfile().isEmpty()) m_parameters.setTopLevelProfile(restoredProject->profile()); if (!m_parameters.overrideBuildGraphData()) { - if (!m_parameters.overriddenValues().isEmpty() + if (!m_parameters.overriddenValues().empty() && m_parameters.overriddenValues() != restoredProject->overriddenValues) { throw ErrorInfo(Tr::tr("Property values set on the command line differ from the " "ones used for the previous build. Use the 'resolve' command if " @@ -1034,7 +1034,7 @@ void BuildGraphLoader::rescueOldBuildData(const ResolvedProductConstPtr &restore qCDebug(lcBuildGraph) << "rescue data of product" << restoredProduct->uniqueName(); QBS_CHECK(newlyResolvedProduct->buildData); - QBS_CHECK(newlyResolvedProduct->buildData->rescuableArtifactData.isEmpty()); + QBS_CHECK(newlyResolvedProduct->buildData->rescuableArtifactData.empty()); newlyResolvedProduct->buildData->rescuableArtifactData = existingRad; // This is needed for artifacts created by rules, which happens later in the executor. diff --git a/src/lib/corelib/buildgraph/depscanner.cpp b/src/lib/corelib/buildgraph/depscanner.cpp index ae892d1f0..cf8280a9f 100644 --- a/src/lib/corelib/buildgraph/depscanner.cpp +++ b/src/lib/corelib/buildgraph/depscanner.cpp @@ -71,7 +71,7 @@ static QStringList collectCppIncludePaths(const QVariantMap &modules) { QStringList result; const QVariantMap cpp = modules.value(QLatin1String("cpp")).toMap(); - if (cpp.isEmpty()) + if (cpp.empty()) return result; result << cpp.value(QLatin1String("includePaths")).toStringList(); diff --git a/src/lib/corelib/buildgraph/emptydirectoriesremover.cpp b/src/lib/corelib/buildgraph/emptydirectoriesremover.cpp index 5a6a1c137..da3be8755 100644 --- a/src/lib/corelib/buildgraph/emptydirectoriesremover.cpp +++ b/src/lib/corelib/buildgraph/emptydirectoriesremover.cpp @@ -60,7 +60,7 @@ void EmptyDirectoriesRemover::removeEmptyParentDirectories(const QStringList &ar m_handledDirs.clear(); for (const QString &filePath : artifactFilePaths) insertSorted(QFileInfo(filePath).absolutePath()); - while (!m_dirsToRemove.isEmpty()) + while (!m_dirsToRemove.empty()) removeDirIfEmpty(); } diff --git a/src/lib/corelib/buildgraph/executor.cpp b/src/lib/corelib/buildgraph/executor.cpp index 0d5a2660d..d5cb56f24 100644 --- a/src/lib/corelib/buildgraph/executor.cpp +++ b/src/lib/corelib/buildgraph/executor.cpp @@ -132,7 +132,7 @@ void Executor::retrieveSourceFileTimestamp(Artifact *artifact) const { QBS_CHECK(artifact->artifactType == Artifact::SourceFile); - if (m_buildOptions.changedFiles().isEmpty()) + if (m_buildOptions.changedFiles().empty()) artifact->setTimestamp(recursiveFileTime(artifact->filePath())); else if (m_buildOptions.changedFiles().contains(artifact->filePath())) artifact->setTimestamp(FileTime::currentTime()); @@ -224,7 +224,7 @@ void Executor::doBuild() // it is. Remove this from the BuildOptions class and introduce Project::buildSomeFiles() // instead. const QStringList &filesToConsider = m_buildOptions.filesToConsider(); - if (!filesToConsider.isEmpty()) { + if (!filesToConsider.empty()) { for (const QString &fileToConsider : filesToConsider) { const QList<FileResourceBase *> &files = m_project->buildData->lookupFiles(fileToConsider); @@ -240,7 +240,7 @@ void Executor::doBuild() setState(ExecutorRunning); - if (m_productsToBuild.isEmpty()) { + if (m_productsToBuild.empty()) { qCDebug(lcExec) << "No products to build, finishing."; QTimer::singleShot(0, this, &Executor::finish); // Don't call back on the caller. return; @@ -330,7 +330,7 @@ void Executor::updateLeaves(BuildGraphNode *node, NodeSet &seenNodes) bool Executor::scheduleJobs() { QBS_CHECK(m_state == ExecutorRunning); - while (!m_leaves.empty() && !m_availableJobs.isEmpty()) { + while (!m_leaves.empty() && !m_availableJobs.empty()) { BuildGraphNode * const nodeToBuild = m_leaves.top(); m_leaves.pop(); @@ -353,7 +353,7 @@ bool Executor::scheduleJobs() break; } } - return !m_leaves.empty() || !m_processingJobs.isEmpty(); + return !m_leaves.empty() || !m_processingJobs.empty(); } bool Executor::isUpToDate(Artifact *artifact) const @@ -492,7 +492,7 @@ void Executor::executeRuleNode(RuleNode *ruleNode) qCDebug(lcExec) << ruleNode->toString(); const WeakPointer<ResolvedProduct> &product = ruleNode->product; Set<RuleNode *> parentRules; - if (!result.createdNodes.isEmpty()) { + if (!result.createdNodes.empty()) { for (BuildGraphNode *parent : qAsConst(ruleNode->parents)) { if (RuleNode *parentRule = dynamic_cast<RuleNode *>(parent)) parentRules += parentRule; @@ -569,7 +569,7 @@ void Executor::finishJob(ExecutorJob *job, bool success) } if (m_state == ExecutorCanceling) { - if (m_processingJobs.isEmpty()) { + if (m_processingJobs.empty()) { qCDebug(lcExec) << "All pending jobs are done, finishing."; finish(); } @@ -623,7 +623,7 @@ QString Executor::configString() const bool Executor::transformerHasMatchingOutputTags(const TransformerConstPtr &transformer) const { - if (m_activeFileTags.isEmpty()) + if (m_activeFileTags.empty()) return true; // No filtering requested. return std::any_of(transformer->outputs.cbegin(), transformer->outputs.cend(), @@ -638,11 +638,11 @@ bool Executor::artifactHasMatchingOutputTags(const Artifact *artifact) const bool Executor::transformerHasMatchingInputFiles(const TransformerConstPtr &transformer) const { - if (m_buildOptions.filesToConsider().isEmpty()) + if (m_buildOptions.filesToConsider().empty()) return true; // No filtering requested. if (!m_productsOfFilesToConsider.contains(transformer->product())) return false; - if (transformer->inputs.isEmpty()) + if (transformer->inputs.empty()) return true; for (const Artifact * const input : qAsConst(transformer->inputs)) { for (const QString &filePath : m_buildOptions.filesToConsider()) { @@ -682,7 +682,7 @@ void Executor::setupProgressObserver() void Executor::doSanityChecks() { QBS_CHECK(m_project); - QBS_CHECK(!m_productsToBuild.isEmpty()); + QBS_CHECK(!m_productsToBuild.empty()); for (const ResolvedProductConstPtr &product : qAsConst(m_productsToBuild)) { QBS_CHECK(product->buildData); QBS_CHECK(product->topLevelProject() == m_project.get()); @@ -693,7 +693,7 @@ void Executor::handleError(const ErrorInfo &error) { for (const ErrorItem &ei : error.items()) m_error.append(ei); - if (m_processingJobs.isEmpty()) + if (m_processingJobs.empty()) finish(); else cancelJobs(); @@ -813,7 +813,7 @@ void Executor::rescueOldBuildData(Artifact *artifact, bool *childrenAdded = 0) = rad.importedFilesUsedInPrepareScript; artifact->transformer->importedFilesUsedInCommands = rad.importedFilesUsedInCommands; artifact->setTimestamp(rad.timeStamp); - if (childrenAdded && !childrenToConnect.isEmpty()) + if (childrenAdded && !childrenToConnect.empty()) *childrenAdded = true; for (const ChildArtifactData &cad : qAsConst(childrenToConnect)) { safeConnect(artifact, cad.first); @@ -849,7 +849,7 @@ bool Executor::checkForUnbuiltDependencies(Artifact *artifact) break; } } - if (!unbuiltDependencies.isEmpty()) { + if (!unbuiltDependencies.empty()) { artifact->inputsScanned = false; updateLeaves(unbuiltDependencies); return true; @@ -926,7 +926,7 @@ void Executor::runTransformer(const TransformerPtr &transformer) } } - QBS_CHECK(!m_availableJobs.isEmpty()); + QBS_CHECK(!m_availableJobs.empty()); ExecutorJob *job = m_availableJobs.takeFirst(); for (Artifact * const artifact : qAsConst(transformer->outputs)) artifact->buildState = BuildGraphNode::Building; @@ -948,7 +948,7 @@ void Executor::possiblyInstallArtifact(const Artifact *artifact) ? &m_elapsedTimeInstalling : nullptr); if (m_buildOptions.install() && !m_buildOptions.executeRulesOnly() - && (m_activeFileTags.isEmpty() || artifactHasMatchingOutputTags(artifact)) + && (m_activeFileTags.empty() || artifactHasMatchingOutputTags(artifact)) && artifact->properties->qbsPropertyValue(QLatin1String("install")).toBool()) { m_productInstaller->copyFile(artifact); } @@ -1009,7 +1009,7 @@ void Executor::checkForUnbuiltProducts() } } - if (unbuiltProducts.isEmpty()) { + if (unbuiltProducts.empty()) { m_logger.qbsInfo() << Tr::tr("Build done%1.").arg(configString()); } else { m_error.append(Tr::tr("The following products could not be built%1:").arg(configString())); @@ -1134,7 +1134,7 @@ void Executor::setupForBuildingSelectedFiles(const BuildGraphNode *node) { if (node->type() != BuildGraphNode::RuleNodeType) return; - if (m_buildOptions.filesToConsider().isEmpty()) + if (m_buildOptions.filesToConsider().empty()) return; if (!m_productsOfFilesToConsider.contains(node->product.lock())) return; diff --git a/src/lib/corelib/buildgraph/executorjob.cpp b/src/lib/corelib/buildgraph/executorjob.cpp index c2f28dcf4..8fb767d38 100644 --- a/src/lib/corelib/buildgraph/executorjob.cpp +++ b/src/lib/corelib/buildgraph/executorjob.cpp @@ -97,7 +97,7 @@ void ExecutorJob::run(Transformer *t) { QBS_ASSERT(m_currentCommandIdx == -1, return); - if (t->commands.isEmpty()) { + if (t->commands.empty()) { setFinished(); return; } @@ -105,7 +105,7 @@ void ExecutorJob::run(Transformer *t) t->propertiesRequestedInCommands.clear(); t->propertiesRequestedFromArtifactInCommands.clear(); t->importedFilesUsedInCommands.clear(); - QBS_CHECK(!t->outputs.isEmpty()); + QBS_CHECK(!t->outputs.empty()); m_processCommandExecutor->setProcessEnvironment( (*t->outputs.cbegin())->product->buildEnvironment); m_transformer = t; diff --git a/src/lib/corelib/buildgraph/inputartifactscanner.cpp b/src/lib/corelib/buildgraph/inputartifactscanner.cpp index 89d6bde93..75f7ff15e 100644 --- a/src/lib/corelib/buildgraph/inputartifactscanner.cpp +++ b/src/lib/corelib/buildgraph/inputartifactscanner.cpp @@ -151,11 +151,11 @@ void InputArtifactScanner::scanForFileDependencies(Artifact *inputArtifact) QList<FileResourceBase *> filesToScan; filesToScan.append(inputArtifact); const Set<DependencyScanner *> scanners = scannersForArtifact(inputArtifact); - if (scanners.isEmpty()) + if (scanners.empty()) return; m_fileTagsForScanner = inputArtifact->fileTags().toStringList().join(QLatin1Char(',')).toLatin1(); - while (!filesToScan.isEmpty()) { + while (!filesToScan.empty()) { FileResourceBase *fileToBeScanned = filesToScan.takeFirst(); const QString &filePathToBeScanned = fileToBeScanned->filePath(); if (!visitedFilePaths.insert(filePathToBeScanned).second) diff --git a/src/lib/corelib/buildgraph/productbuilddata.cpp b/src/lib/corelib/buildgraph/productbuilddata.cpp index 3ed2bd3fe..580a728fa 100644 --- a/src/lib/corelib/buildgraph/productbuilddata.cpp +++ b/src/lib/corelib/buildgraph/productbuilddata.cpp @@ -91,7 +91,7 @@ void removeArtifactFromSetByFileTag(Artifact *artifact, const FileTag &fileTag, if (it == container.end()) return; it->remove(artifact); - if (it->isEmpty()) + if (it->empty()) container.erase(it); } diff --git a/src/lib/corelib/buildgraph/projectbuilddata.cpp b/src/lib/corelib/buildgraph/projectbuilddata.cpp index b3c7d5ae1..258943051 100644 --- a/src/lib/corelib/buildgraph/projectbuilddata.cpp +++ b/src/lib/corelib/buildgraph/projectbuilddata.cpp @@ -200,12 +200,12 @@ void ProjectBuildData::removeArtifactAndExclusiveDependents(Artifact *artifact, for (Artifact *parent : filterByType<Artifact>(parentsCopy)) { bool removeParent = false; disconnect(parent, artifact); - if (parent->children.isEmpty()) { + if (parent->children.empty()) { removeParent = true; } else if (parent->transformer) { parent->product->registerArtifactWithChangedInputs(parent); parent->transformer->inputs.remove(artifact); - removeParent = parent->transformer->inputs.isEmpty(); + removeParent = parent->transformer->inputs.empty(); } if (removeParent) { removeArtifactAndExclusiveDependents(parent, logger, removeFromProduct, diff --git a/src/lib/corelib/buildgraph/qtmocscanner.cpp b/src/lib/corelib/buildgraph/qtmocscanner.cpp index 906a0e37d..df2bfab00 100644 --- a/src/lib/corelib/buildgraph/qtmocscanner.cpp +++ b/src/lib/corelib/buildgraph/qtmocscanner.cpp @@ -173,7 +173,7 @@ static RawScanResult runScanner(ScannerPlugin *scanner, const Artifact *artifact void QtMocScanner::findIncludedMocCppFiles() { - if (!m_includedMocCppFiles.isEmpty()) + if (!m_includedMocCppFiles.empty()) return; qCDebug(lcMocScan) << "looking for included moc_XXX.cpp files"; @@ -239,7 +239,7 @@ QScriptValue QtMocScanner::apply(QScriptEngine *engine, const Artifact *artifact ScannerPlugin * const scanner = scannerPluginForFileTags(artifact->fileTags()); const RawScanResult scanResult = runScanner(scanner, artifact); - if (!scanResult.additionalFileTags.isEmpty()) { + if (!scanResult.additionalFileTags.empty()) { if (isHeaderFile) { if (scanResult.additionalFileTags.contains(m_tags.moc_hpp)) hasQObjectMacro = true; diff --git a/src/lib/corelib/buildgraph/rulenode.cpp b/src/lib/corelib/buildgraph/rulenode.cpp index 01b054cfd..784e976f3 100644 --- a/src/lib/corelib/buildgraph/rulenode.cpp +++ b/src/lib/corelib/buildgraph/rulenode.cpp @@ -83,7 +83,7 @@ void RuleNode::apply(const Logger &logger, const ArtifactSet &changedInputs, ArtifactSet allCompatibleInputs = currentInputArtifacts(); const ArtifactSet addedInputs = allCompatibleInputs - m_oldInputArtifacts; const ArtifactSet removedInputs = m_oldInputArtifacts - allCompatibleInputs; - result->upToDate = changedInputs.isEmpty() && addedInputs.isEmpty() && removedInputs.isEmpty() + result->upToDate = changedInputs.empty() && addedInputs.empty() && removedInputs.empty() && m_rule->declaresInputs() && m_rule->requiresInputs; qCDebug(lcBuildGraph).noquote().nospace() @@ -110,7 +110,7 @@ void RuleNode::apply(const Logger &logger, const ArtifactSet &changedInputs, if (result->upToDate) return; - if (!removedInputs.isEmpty()) { + if (!removedInputs.empty()) { ArtifactSet outputArtifactsToRemove; for (Artifact * const artifact : removedInputs) { for (Artifact *parent : filterByType<Artifact>(artifact->parents)) { @@ -131,7 +131,7 @@ void RuleNode::apply(const Logger &logger, const ArtifactSet &changedInputs, } RulesApplicator::handleRemovedRuleOutputs(inputs, outputArtifactsToRemove, logger); } - if (!inputs.isEmpty() || !m_rule->declaresInputs() || !m_rule->requiresInputs) { + if (!inputs.empty() || !m_rule->declaresInputs() || !m_rule->requiresInputs) { RulesApplicator applicator(product.lock(), logger); applicator.applyRule(m_rule, inputs); result->createdNodes = applicator.createdArtifacts(); @@ -170,7 +170,7 @@ ArtifactSet RuleNode::currentInputArtifacts() const } } - if (m_rule->inputsFromDependencies.isEmpty()) + if (m_rule->inputsFromDependencies.empty()) return s; for (const FileTag &t : qAsConst(m_rule->inputsFromDependencies)) { for (Artifact *artifact : product->lookupArtifactsByFileTag(t)) { diff --git a/src/lib/corelib/buildgraph/rulesapplicator.cpp b/src/lib/corelib/buildgraph/rulesapplicator.cpp index c550bfec9..bd7e0379c 100644 --- a/src/lib/corelib/buildgraph/rulesapplicator.cpp +++ b/src/lib/corelib/buildgraph/rulesapplicator.cpp @@ -85,7 +85,7 @@ RulesApplicator::~RulesApplicator() void RulesApplicator::applyRule(const RuleConstPtr &rule, const ArtifactSet &inputArtifacts) { - if (inputArtifacts.isEmpty() && rule->declaresInputs() && rule->requiresInputs) + if (inputArtifacts.empty() && rule->declaresInputs() && rule->requiresInputs) return; m_createdArtifacts.clear(); @@ -200,7 +200,7 @@ void RulesApplicator::doApply(const ArtifactSet &inputArtifacts, QScriptValue &p } } - if (outputArtifacts.isEmpty()) + if (outputArtifacts.empty()) return; for (Artifact * const outputArtifact : qAsConst(outputArtifacts)) { @@ -214,7 +214,7 @@ void RulesApplicator::doApply(const ArtifactSet &inputArtifacts, QScriptValue &p // change the transformer outputs according to the bindings in Artifact QScriptValue scriptValue; - if (!ruleArtifactArtifactMap.isEmpty()) + if (!ruleArtifactArtifactMap.empty()) engine()->setGlobalObject(prepareScriptContext); for (int i = ruleArtifactArtifactMap.size(); --i >= 0;) { const RuleArtifact *ra = ruleArtifactArtifactMap.at(i).first; @@ -243,13 +243,13 @@ void RulesApplicator::doApply(const ArtifactSet &inputArtifacts, QScriptValue &p } outputArtifact->properties->setValue(artifactModulesCfg); } - if (!ruleArtifactArtifactMap.isEmpty()) + if (!ruleArtifactArtifactMap.empty()) engine()->setGlobalObject(prepareScriptContext.prototype()); m_transformer->setupOutputs(prepareScriptContext); m_transformer->createCommands(engine(), m_rule->prepareScript, ScriptEngine::argumentList(Rule::argumentNamesForPrepare(), prepareScriptContext)); - if (Q_UNLIKELY(m_transformer->commands.isEmpty())) + if (Q_UNLIKELY(m_transformer->commands.empty())) throw ErrorInfo(Tr::tr("There is a rule without commands: %1.") .arg(m_rule->toString()), m_rule->prepareScript->location); } @@ -364,7 +364,7 @@ Artifact *RulesApplicator::createOutputArtifact(const QString &filePath, const F outputArtifact->alwaysUpdated = alwaysUpdated; outputArtifact->properties = m_product->moduleProperties; - FileTags outputArtifactFileTags = fileTags.isEmpty() + FileTags outputArtifactFileTags = fileTags.empty() ? m_product->fileTagsForFileName(outputArtifact->fileName()) : fileTags; for (int i = 0; i < m_product->artifactProperties.size(); ++i) { const ArtifactPropertiesConstPtr &props = m_product->artifactProperties.at(i); @@ -515,7 +515,7 @@ Artifact *RulesApplicator::createOutputArtifactFromScriptValue(const QScriptValu const QVariant alwaysUpdatedVar = obj.property(QLatin1String("alwaysUpdated")).toVariant(); const bool alwaysUpdated = alwaysUpdatedVar.isValid() ? alwaysUpdatedVar.toBool() : true; Artifact *output = createOutputArtifact(filePath, fileTags, alwaysUpdated, inputArtifacts); - if (output->fileTags().isEmpty()) { + if (output->fileTags().empty()) { // Check the file tags after file taggers were run. throw RuleOutputArtifactsException( Tr::tr("Property fileTags for artifact '%1' must be a non-empty string list. " diff --git a/src/lib/corelib/buildgraph/timestampsupdater.cpp b/src/lib/corelib/buildgraph/timestampsupdater.cpp index 62e395777..3e454ac39 100644 --- a/src/lib/corelib/buildgraph/timestampsupdater.cpp +++ b/src/lib/corelib/buildgraph/timestampsupdater.cpp @@ -88,7 +88,7 @@ void TimestampsUpdater::updateTimestamps(const TopLevelProjectPtr &project, TimestampsUpdateVisitor v; for (const ResolvedProductPtr &product : products) v.visitProduct(product); - project->buildData->isDirty = !products.isEmpty(); + project->buildData->isDirty = !products.empty(); project->store(logger); } diff --git a/src/lib/corelib/buildgraph/transformer.cpp b/src/lib/corelib/buildgraph/transformer.cpp index 29028e8d4..13d84adaa 100644 --- a/src/lib/corelib/buildgraph/transformer.cpp +++ b/src/lib/corelib/buildgraph/transformer.cpp @@ -157,7 +157,7 @@ QScriptValue Transformer::translateInOutputs(ScriptEngine *scriptEngine, ResolvedProductPtr Transformer::product() const { - if (outputs.isEmpty()) + if (outputs.empty()) return ResolvedProductPtr(); return (*outputs.cbegin())->product.lock(); } @@ -172,7 +172,7 @@ void Transformer::setupInputs(QScriptValue targetScriptValue, const ArtifactSet if (inputs.size() == 1) { Artifact *input = *inputs.cbegin(); const FileTags &fileTags = input->fileTags(); - QBS_ASSERT(!fileTags.isEmpty(), return); + QBS_ASSERT(!fileTags.empty(), return); QScriptValue inputsForFileTag = scriptValue.property(fileTags.cbegin()->toString()); inputScriptValue = inputsForFileTag.property(0); } @@ -194,7 +194,7 @@ void Transformer::setupOutputs(QScriptValue targetScriptValue) if (outputs.size() == 1) { Artifact *output = *outputs.cbegin(); const FileTags &fileTags = output->fileTags(); - QBS_ASSERT(!fileTags.isEmpty(), return); + QBS_ASSERT(!fileTags.empty(), return); QScriptValue outputsForFileTag = scriptValue.property(fileTags.cbegin()->toString()); outputScriptValue = outputsForFileTag.property(0); } diff --git a/src/lib/corelib/generators/generatordata.h b/src/lib/corelib/generators/generatordata.h index 21e8a1ab4..b420c9c10 100644 --- a/src/lib/corelib/generators/generatordata.h +++ b/src/lib/corelib/generators/generatordata.h @@ -100,7 +100,7 @@ template <typename U> struct IMultiplexableContainer { bool isValid() const { - return !data.isEmpty(); + return !data.empty(); } protected: @@ -175,7 +175,7 @@ struct QBS_EXPORT GeneratableProject : public GeneratableProjectData { bool isValid() const { - return !data.isEmpty() && !projects.isEmpty(); + return !data.empty() && !projects.empty(); } const ProjectData projectData(const QString &configurationName) const diff --git a/src/lib/corelib/language/astimportshandler.cpp b/src/lib/corelib/language/astimportshandler.cpp index a5f86d964..75c2cb0ca 100644 --- a/src/lib/corelib/language/astimportshandler.cpp +++ b/src/lib/corelib/language/astimportshandler.cpp @@ -130,7 +130,7 @@ void ASTImportsHandler::handleImport(const QbsQmlJS::AST::UiImport *import) throw ErrorInfo(Tr::tr("File imports require 'as <Name>'"), toCodeLocation(m_file->filePath(), import->importToken)); } - if (importUri.isEmpty()) { + if (importUri.empty()) { throw ErrorInfo(Tr::tr("Invalid import URI."), toCodeLocation(m_file->filePath(), import->importToken)); } @@ -176,7 +176,7 @@ void ASTImportsHandler::handleImport(const QbsQmlJS::AST::UiImport *import) import->fileNameToken.startColumn)); } } - } else if (!importUri.isEmpty()) { + } else if (!importUri.empty()) { const QString importPath = isBase ? QLatin1String("qbs/base") : importUri.join(QDir::separator()); bool found = m_typeNameToFile.contains(importUri); diff --git a/src/lib/corelib/language/item.cpp b/src/lib/corelib/language/item.cpp index f729858db..4bdee83ea 100644 --- a/src/lib/corelib/language/item.cpp +++ b/src/lib/corelib/language/item.cpp @@ -300,7 +300,7 @@ void Item::dump(int indentation) const { const QByteArray indent(indentation, ' '); qDebug("%stype: %s, pointer value: %p", indent.constData(), qPrintable(typeName()), this); - if (!m_properties.isEmpty()) + if (!m_properties.empty()) qDebug("%sproperties:", indent.constData()); for (auto it = m_properties.constBegin(); it != m_properties.constEnd(); ++it) { const QByteArray nextIndent(indentation + 4, ' '); @@ -321,7 +321,7 @@ void Item::dump(int indentation) const break; } } - if (!m_children.isEmpty()) + if (!m_children.empty()) qDebug("%schildren:", indent.constData()); for (const Item * const child : qAsConst(m_children)) child->dump(indentation + 4); diff --git a/src/lib/corelib/language/itemreader.cpp b/src/lib/corelib/language/itemreader.cpp index b7e00de1c..009f54d34 100644 --- a/src/lib/corelib/language/itemreader.cpp +++ b/src/lib/corelib/language/itemreader.cpp @@ -94,7 +94,7 @@ void ItemReader::clearExtraSearchPathsStack() const QStringList &ItemReader::allSearchPaths() const { - if (m_allSearchPaths.isEmpty()) { + if (m_allSearchPaths.empty()) { std::for_each(m_extraSearchPaths.crbegin(), m_extraSearchPaths.crend(), [this] (const QStringList &paths) { m_allSearchPaths += paths; diff --git a/src/lib/corelib/language/itemreadervisitorstate.cpp b/src/lib/corelib/language/itemreadervisitorstate.cpp index 12f9330c5..b1261f0ca 100644 --- a/src/lib/corelib/language/itemreadervisitorstate.cpp +++ b/src/lib/corelib/language/itemreadervisitorstate.cpp @@ -140,7 +140,7 @@ Item *ItemReaderVisitorState::readFile(const QString &filePath, const QStringLis file.close(); if (!parser.parse()) { const QList<QbsQmlJS::DiagnosticMessage> &parserMessages = parser.diagnosticMessages(); - if (Q_UNLIKELY(!parserMessages.isEmpty())) { + if (Q_UNLIKELY(!parserMessages.empty())) { ErrorInfo err; for (const QbsQmlJS::DiagnosticMessage &msg : parserMessages) err.append(msg.message, toCodeLocation(filePath, msg.loc)); diff --git a/src/lib/corelib/language/language.cpp b/src/lib/corelib/language/language.cpp index 4612fd2d9..c37cb8622 100644 --- a/src/lib/corelib/language/language.cpp +++ b/src/lib/corelib/language/language.cpp @@ -421,7 +421,7 @@ FileTags Rule::staticOutputFileTags() const FileTags Rule::collectedOutputFileTags() const { - FileTags result = outputFileTags.isEmpty() ? staticOutputFileTags() : outputFileTags; + FileTags result = outputFileTags.empty() ? staticOutputFileTags() : outputFileTags; for (const auto &ap : qAsConst(product->artifactProperties)) { if (ap->fileTagsFilter().intersects(result)) result += ap->extraFileTags(); @@ -436,7 +436,7 @@ bool Rule::isDynamic() const bool Rule::declaresInputs() const { - return !inputs.isEmpty() || !inputsFromDependencies.isEmpty(); + return !inputs.empty() || !inputsFromDependencies.empty(); } void Rule::load(PersistentPool &pool) @@ -664,7 +664,7 @@ static QProcessEnvironment getProcessEnvironment(ScriptEngine *engine, EnvType e QList<const ResolvedModule *> rootModules; for (const ResolvedModuleConstPtr &module : modules) { - if (moduleParents.value(module.get()).isEmpty()) { + if (moduleParents.value(module.get()).empty()) { QBS_ASSERT(module, return env); rootModules.append(module.get()); } @@ -776,7 +776,7 @@ void ResolvedProduct::unmarkForReapplication(const RuleConstPtr &rule) bool ResolvedProduct::isMarkedForReapplication(const RuleConstPtr &rule) const { - return !buildData->artifactsWithChangedInputsPerRule.value(rule).isEmpty(); + return !buildData->artifactsWithChangedInputsPerRule.value(rule).empty(); } ArtifactSet ResolvedProduct::lookupArtifactsByFileTag(const FileTag &tag) const @@ -841,7 +841,7 @@ static QStringList findGeneratedFiles(const Artifact *base, bool recursive, cons { QStringList result; for (const Artifact *parent : base->parentArtifacts()) { - if (tags.isEmpty() || parent->fileTags().intersects(tags)) + if (tags.empty() || parent->fileTags().intersects(tags)) result << parent->filePath(); if (recursive) result << findGeneratedFiles(parent, true, tags); @@ -1166,7 +1166,7 @@ void SourceWildCards::expandPatterns(Set<QString> &result, const GroupConstPtr & while (part == QLatin1String("**")) { recursive = true; - if (changed_parts.isEmpty()) { + if (changed_parts.empty()) { part = QLatin1String("*"); break; } @@ -1174,7 +1174,7 @@ void SourceWildCards::expandPatterns(Set<QString> &result, const GroupConstPtr & part = changed_parts.takeFirst(); } - const bool isDir = !changed_parts.isEmpty(); + const bool isDir = !changed_parts.empty(); const QString &filePattern = part; const QDirIterator::IteratorFlags itFlags = recursive diff --git a/src/lib/corelib/language/loader.cpp b/src/lib/corelib/language/loader.cpp index c6bf2cf41..997124465 100644 --- a/src/lib/corelib/language/loader.cpp +++ b/src/lib/corelib/language/loader.cpp @@ -192,7 +192,7 @@ void Loader::setupProjectFilePath(SetupProjectParameters ¶meters) << QLatin1String("*.qbs"); const QStringList &actualFileNames = QDir(projectFilePath).entryList(namePatterns, QDir::Files); - if (actualFileNames.isEmpty()) { + if (actualFileNames.empty()) { QString error; if (parameters.projectFilePath().isEmpty()) error = Tr::tr("No project file given and none found in current directory.\n"); diff --git a/src/lib/corelib/language/moduleloader.cpp b/src/lib/corelib/language/moduleloader.cpp index f01d20a53..40e41e47e 100644 --- a/src/lib/corelib/language/moduleloader.cpp +++ b/src/lib/corelib/language/moduleloader.cpp @@ -143,7 +143,7 @@ public: for (auto productContext : qAsConst(allProducts)) { auto &productDependencies = m_dependencyMap[productContext]; for (const auto &dep : qAsConst(productContext->info.usedProducts)) { - if (!dep.productTypes.isEmpty()) + if (!dep.productTypes.empty()) continue; QBS_CHECK(!dep.name.isEmpty()); const auto &deps = productsMap.value(dep.name); @@ -920,7 +920,7 @@ void ModuleLoader::adjustDependenciesForMultiplexing(const ModuleLoader::Product // (3b) multiplexIds << depMultiplexId; } - if (!multiplexIds.isEmpty()) { + if (!multiplexIds.empty()) { dependsItem->setProperty(multiplexConfigurationIdsKey, VariantValue::create(multiplexIds)); } @@ -1128,7 +1128,7 @@ void ModuleLoader::handleProduct(ModuleLoader::ProductContext *productContext) ModuleDependencies reverseModuleDeps; for (Item * const child : item->children()) { if (child->type() == ItemType::Group) { - if (reverseModuleDeps.isEmpty()) + if (reverseModuleDeps.empty()) reverseModuleDeps = setupReverseModuleDependencies(item); handleGroup(productContext, child, reverseModuleDeps); } @@ -1210,7 +1210,7 @@ void ModuleLoader::checkDependencyParameterDeclarations(const ProductContext *pr DependencyParameterDeclarationCheck dpdc(productContext->name, productContext->item, m_parameterDeclarations); for (const Item::Module &dep : productContext->item->modules()) { - if (!dep.parameters.isEmpty()) + if (!dep.parameters.empty()) dpdc(dep.parameters); } } @@ -1762,7 +1762,7 @@ void ModuleLoader::propagateModulesFromParent(ProductContext *productContext, It } const QualifiedIdSet &propsSetInGroup = gatherModulePropertiesSetInGroup(groupItem); - if (propsSetInGroup.isEmpty()) + if (propsSetInGroup.empty()) return; productContext->info.modulePropertiesSetInGroups .insert(std::make_pair(groupItem, propsSetInGroup)); @@ -2048,7 +2048,7 @@ void ModuleLoader::resolveDependsItem(DependsContext *dependsContext, Item *pare throw ErrorInfo(Tr::tr("The 'productTypes' and 'subModules' properties are mutually " "exclusive."), dependsItem->location()); } - if (productTypes.isEmpty()) { + if (productTypes.empty()) { qCDebug(lcModuleLoader) << "Ignoring Depends item with empty productTypes list."; return; } @@ -2062,7 +2062,7 @@ void ModuleLoader::resolveDependsItem(DependsContext *dependsContext, Item *pare productResults->push_back(dependency); return; } - if (submodules.isEmpty() && submodulesPropertySet) { + if (submodules.empty() && submodulesPropertySet) { qCDebug(lcModuleLoader) << "Ignoring Depends item with empty submodules list."; return; } @@ -2073,7 +2073,7 @@ void ModuleLoader::resolveDependsItem(DependsContext *dependsContext, Item *pare QList<QualifiedId> moduleNames; const QualifiedId nameParts = QualifiedId::fromString(name); - if (submodules.isEmpty()) { + if (submodules.empty()) { // Ignore explicit dependencies on the base module, which has already been loaded. if (name == QStringLiteral("qbs")) return; @@ -2139,7 +2139,7 @@ void ModuleLoader::resolveDependsItem(DependsContext *dependsContext, Item *pare bool profilesPropertyWasSet = false; QStringList profiles = m_evaluator->stringListValue(dependsItem, profilesKey, &profilesPropertyWasSet); - if (profiles.isEmpty()) { + if (profiles.empty()) { if (profilesPropertyWasSet) profiles.append(QLatin1String("*")); else @@ -2148,7 +2148,7 @@ void ModuleLoader::resolveDependsItem(DependsContext *dependsContext, Item *pare QStringList multiplexConfigurationIds = m_evaluator->stringListValue(dependsItem, QStringLiteral("multiplexConfigurationIds")); - if (multiplexConfigurationIds.isEmpty()) + if (multiplexConfigurationIds.empty()) multiplexConfigurationIds << QString(); for (const QString &profile : qAsConst(profiles)) { for (const QString &multiplexId : multiplexConfigurationIds) { @@ -2244,7 +2244,7 @@ QVariantMap ModuleLoader::extractParameters(Item *dependsItem) const { QVariantMap result; const Item::PropertyMap &itemProperties = filterItemProperties(dependsItem->properties()); - if (itemProperties.isEmpty()) + if (itemProperties.empty()) return result; auto origProperties = dependsItem->properties(); @@ -2270,7 +2270,7 @@ QVariantMap ModuleLoader::extractParameters(Item *dependsItem) const Item *ModuleLoader::moduleInstanceItem(Item *containerItem, const QualifiedId &moduleName) { - QBS_CHECK(!moduleName.isEmpty()); + QBS_CHECK(!moduleName.empty()); Item *instance = containerItem; for (int i = 0; i < moduleName.size(); ++i) { const QString &moduleNameSegment = moduleName.at(i); @@ -2516,7 +2516,7 @@ Item *ModuleLoader::searchAndLoadModuleFile(ProductContext *productContext, if (dirPath.isEmpty()) continue; QStringList moduleFileNames = m_moduleDirListCache.value(dirPath); - if (moduleFileNames.isEmpty()) { + if (moduleFileNames.empty()) { QDirIterator dirIter(dirPath, QStringList(QLatin1String("*.qbs"))); while (dirIter.hasNext()) moduleFileNames += dirIter.next(); @@ -2842,7 +2842,7 @@ void ModuleLoader::instantiateModule(ProductContext *productContext, Item *expor // For foo.bar in modulePrototype create an item foo in moduleInstance. for (auto iip : instanceItemProperties(modulePrototype)) { - if (iip.second->item()->properties().isEmpty()) + if (iip.second->item()->properties().empty()) continue; qCDebug(lcModuleLoader) << "The prototype of " << moduleName << " sets properties on " << iip.first.toString(); diff --git a/src/lib/corelib/language/modulemerger.cpp b/src/lib/corelib/language/modulemerger.cpp index 9dc066bf1..607d0627b 100644 --- a/src/lib/corelib/language/modulemerger.cpp +++ b/src/lib/corelib/language/modulemerger.cpp @@ -61,7 +61,7 @@ ModuleMerger::ModuleMerger(Logger &logger, Item *root, Item::Module &moduleToMer void ModuleMerger::replaceItemInValues(QualifiedId moduleName, Item *containerItem, Item *toReplace) { - QBS_CHECK(!moduleName.isEmpty()); + QBS_CHECK(!moduleName.empty()); QBS_CHECK(containerItem != m_mergedModule.item); const QString moduleNamePrefix = moduleName.takeFirst(); const Item::PropertyMap &properties = containerItem->properties(); @@ -72,7 +72,7 @@ void ModuleMerger::replaceItemInValues(QualifiedId moduleName, Item *containerIt QBS_CHECK(val); QBS_CHECK(val->type() == Value::ItemValueType); ItemValue * const itemVal = static_cast<ItemValue *>(val); - if (moduleName.isEmpty()) { + if (moduleName.empty()) { QBS_CHECK(itemVal->item() == toReplace); itemVal->setItem(m_mergedModule.item); } else { diff --git a/src/lib/corelib/language/projectresolver.cpp b/src/lib/corelib/language/projectresolver.cpp index 4da9e77a2..9c8e01543 100644 --- a/src/lib/corelib/language/projectresolver.cpp +++ b/src/lib/corelib/language/projectresolver.cpp @@ -217,7 +217,7 @@ static void makeSubProjectNamesUniqe(const ResolvedProjectPtr &parentProject) projectsInNeedOfNameChange << p; makeSubProjectNamesUniqe(p); } - while (!projectsInNeedOfNameChange.isEmpty()) { + while (!projectsInNeedOfNameChange.empty()) { auto it = projectsInNeedOfNameChange.begin(); while (it != projectsInNeedOfNameChange.end()) { const ResolvedProjectPtr p = *it; @@ -529,7 +529,7 @@ void ProjectResolver::resolveModule(const QualifiedId &moduleName, Item *item, b } m_productContext->product->modules += module; - if (!parameters.isEmpty()) + if (!parameters.empty()) m_productContext->product->moduleParameters[module] = parameters; static const ItemFuncMap mapping { @@ -601,7 +601,7 @@ static QualifiedIdSet propertiesToEvaluate(const QList<QualifiedId> &initialProp { QList<QualifiedId> remainingProps = initialProps; QualifiedIdSet allProperties; - while (!remainingProps.isEmpty()) { + while (!remainingProps.empty()) { const QualifiedId prop = remainingProps.takeFirst(); const auto insertResult = allProperties.insert(prop); if (!insertResult.second) @@ -640,7 +640,7 @@ QVariantMap ProjectResolver::resolveAdditionalModuleProperties(const Item *group for (const Item::Module &module : group->modules()) { const QString &fullModName = module.name.toString(); const QStringList propsForModule = propsPerModule.take(fullModName); - if (propsForModule.isEmpty()) + if (propsForModule.empty()) continue; QVariantMap reusableValues = modulesMap.value(fullModName).toMap(); for (const QString &prop : qAsConst(propsForModule)) @@ -682,7 +682,7 @@ void ProjectResolver::resolveGroupFully(Item *item, ProjectResolver::ProjectCont : m_productContext->product->moduleProperties; const QVariantMap newModuleProperties = resolveAdditionalModuleProperties(item, moduleProperties->value()); - if (!newModuleProperties.isEmpty()) { + if (!newModuleProperties.empty()) { moduleProperties = PropertyMapInternal::create(); moduleProperties->setValue(newModuleProperties); } @@ -696,8 +696,8 @@ void ProjectResolver::resolveGroupFully(Item *item, ProjectResolver::ProjectCont &fileTagsSet); const QStringList fileTagsFilter = m_evaluator->stringListValue(item, QLatin1String("fileTagsFilter")); - if (!fileTagsFilter.isEmpty()) { - if (Q_UNLIKELY(!files.isEmpty())) + if (!fileTagsFilter.empty()) { + if (Q_UNLIKELY(!files.empty())) throw ErrorInfo(Tr::tr("Group.files and Group.fileTagsFilters are exclusive."), item->location()); @@ -746,7 +746,7 @@ void ProjectResolver::resolveGroupFully(Item *item, ProjectResolver::ProjectCont group->fileTags = fileTags; group->overrideTags = m_evaluator->boolValue(item, QLatin1String("overrideTags")); if (group->overrideTags && fileTagsSet) { - if (group->fileTags.isEmpty() ) + if (group->fileTags.empty() ) group->fileTags.insert(unknownFileTag()); } else if (m_productContext->currentGroup) { group->fileTags.unite(m_productContext->currentGroup->fileTags); @@ -757,7 +757,7 @@ void ProjectResolver::resolveGroupFully(Item *item, ProjectResolver::ProjectCont if (moduleProp) group->targetOfModule = moduleProp->value().toString(); ErrorInfo fileError; - if (!patterns.isEmpty()) { + if (!patterns.empty()) { group->wildcards = std::unique_ptr<SourceWildCards>(new SourceWildCards); SourceWildCards *wildcards = group->wildcards.get(); wildcards->group = group.get(); @@ -888,7 +888,7 @@ void ProjectResolver::resolveRule(Item *item, ProjectContext *projectContext) "that contain Artifact items."), item->location()); rule->outputFileTags = m_evaluator->fileTagsValue(item, QStringLiteral("outputFileTags")); - if (rule->outputFileTags.isEmpty()) + if (rule->outputFileTags.empty()) throw ErrorInfo(Tr::tr("Rule.outputFileTags must be specified if " "Rule.outputArtifacts is specified."), item->location()); @@ -996,11 +996,11 @@ void ProjectResolver::resolveFileTagger(Item *item, ProjectContext *projectConte ? m_productContext->product->fileTaggers : projectContext->fileTaggers; const QStringList patterns = m_evaluator->stringListValue(item, QLatin1String("patterns")); - if (patterns.isEmpty()) + if (patterns.empty()) throw ErrorInfo(Tr::tr("FileTagger.patterns must be a non-empty list."), item->location()); const FileTags fileTags = m_evaluator->fileTagsValue(item, QLatin1String("fileTags")); - if (fileTags.isEmpty()) + if (fileTags.empty()) throw ErrorInfo(Tr::tr("FileTagger.fileTags must not be empty."), item->location()); for (const QString &pattern : patterns) { @@ -1035,8 +1035,8 @@ ProjectResolver::ProductDependencyInfos ProjectResolver::getProductDependencies( ProductDependencyInfos result; result.dependencies.reserve(productInfo.usedProducts.size()); for (const auto &dependency : productInfo.usedProducts) { - QBS_CHECK(dependency.name.isEmpty() != dependency.productTypes.isEmpty()); - if (!dependency.productTypes.isEmpty()) { + QBS_CHECK(dependency.name.isEmpty() != dependency.productTypes.empty()); + if (!dependency.productTypes.empty()) { for (const FileTag &tag : dependency.productTypes) { const QList<ResolvedProductPtr> productsForTag = m_productsByType.value(tag); for (const ResolvedProductPtr &p : productsForTag) { @@ -1184,7 +1184,7 @@ void ProjectResolver::resolveProductDependencies(const ProjectContext &projectCo disabledDependency = true; for (const auto &dep : depInfos.dependencies) { rproduct->dependencies.insert(dep.product); - if (!dep.parameters.isEmpty()) + if (!dep.parameters.empty()) rproduct->dependencyParameters.insert(dep.product, dep.parameters); } } @@ -1248,11 +1248,11 @@ void ProjectResolver::applyFileTaggers(const ResolvedProductPtr &product) const void ProjectResolver::applyFileTaggers(const SourceArtifactPtr &artifact, const ResolvedProductConstPtr &product) { - if (!artifact->overrideFileTags || artifact->fileTags.isEmpty()) { + if (!artifact->overrideFileTags || artifact->fileTags.empty()) { const QString fileName = FileInfo::fileName(artifact->absoluteFilePath); const FileTags fileTags = product->fileTagsForFileName(fileName); artifact->fileTags.unite(fileTags); - if (artifact->fileTags.isEmpty()) + if (artifact->fileTags.empty()) artifact->fileTags.insert(unknownFileTag()); qCDebug(lcProjectResolver) << "adding file tags" << artifact->fileTags << "to" << fileName; diff --git a/src/lib/corelib/language/scriptengine.cpp b/src/lib/corelib/language/scriptengine.cpp index b43421d3e..6c779801c 100644 --- a/src/lib/corelib/language/scriptengine.cpp +++ b/src/lib/corelib/language/scriptengine.cpp @@ -496,7 +496,7 @@ QScriptValue ScriptEngine::js_require(QScriptContext *context, QScriptEngine *qt return context->throwError(e.toString()); } - if (!values.isEmpty()) { + if (!values.empty()) { const QScriptValue mergedValue = mergeExtensionObjects(values); if (engine->m_observeMode == ObserveMode::Enabled) engine->m_requireResults.push_back(mergedValue); @@ -624,7 +624,7 @@ ErrorInfo ScriptEngine::lastError(const QScriptValue &v, const CodeLocation &fal if (errorLocation.isValid()) return ErrorInfo(msg, errorLocation); const QStringList backtrace = uncaughtExceptionBacktraceOrEmpty(); - if (!backtrace.isEmpty()) { + if (!backtrace.empty()) { ErrorInfo e(msg, backtrace); if (e.hasLocation()) return e; diff --git a/src/lib/corelib/tools/applecodesignutils.cpp b/src/lib/corelib/tools/applecodesignutils.cpp index b77850a55..8191f77a6 100644 --- a/src/lib/corelib/tools/applecodesignutils.cpp +++ b/src/lib/corelib/tools/applecodesignutils.cpp @@ -136,7 +136,7 @@ QVariantMap identitiesProperties() return; auto props = certificateInfo(QByteArray::fromRawCFData(certificateData)); - if (!props.isEmpty()) + if (!props.empty()) items.insert(props[QStringLiteral("SHA1")].toString(), props); }; diff --git a/src/lib/corelib/tools/error.h b/src/lib/corelib/tools/error.h index 3891a0eb4..51d9f3455 100644 --- a/src/lib/corelib/tools/error.h +++ b/src/lib/corelib/tools/error.h @@ -95,7 +95,7 @@ public: void append(const QString &description, const CodeLocation &location = CodeLocation()); void prepend(const QString &description, const CodeLocation &location = CodeLocation()); QList<ErrorItem> items() const; - bool hasError() const { return !items().isEmpty(); } + bool hasError() const { return !items().empty(); } void clear(); QString toString() const; bool isInternalError() const; diff --git a/src/lib/corelib/tools/profile.cpp b/src/lib/corelib/tools/profile.cpp index f4b0ff5b2..5101102b1 100644 --- a/src/lib/corelib/tools/profile.cpp +++ b/src/lib/corelib/tools/profile.cpp @@ -73,8 +73,8 @@ Profile::Profile(const QString &name, Settings *settings, const QVariantMap &pro bool Profile::exists() const { - return m_name == fallbackName() || !m_values.isEmpty() - || !m_settings->allKeysWithPrefix(profileKey()).isEmpty(); + return m_name == fallbackName() || !m_values.empty() + || !m_settings->allKeysWithPrefix(profileKey()).empty(); } /*! @@ -228,7 +228,7 @@ QStringList Profile::allKeysInternal(Profile::KeySelection selection, { extendAndCheckProfileChain(profileChain); QStringList keys = m_values.keys(); - if (keys.isEmpty()) + if (keys.empty()) keys = m_settings->allKeysWithPrefix(profileKey()); if (selection == KeySelectionNonRecursive) return keys; diff --git a/src/lib/corelib/tools/set.h b/src/lib/corelib/tools/set.h index 3292b68f6..412dbd3c1 100644 --- a/src/lib/corelib/tools/set.h +++ b/src/lib/corelib/tools/set.h @@ -118,7 +118,7 @@ public: bool contains(const T &v) const { return std::binary_search(cbegin(), cend(), v); } bool contains(const Set<T> &other) const; - bool isEmpty() const { return m_data.empty(); } + bool empty() const { return m_data.empty(); } int size() const { return int(m_data.size()); } int capacity() const { return int(m_data.capacity()); } bool intersects(const Set<T> &other) const; @@ -230,9 +230,9 @@ template<typename T> bool Set<T>::intersects(const Set<T> &other) const template<typename T> Set<T> &Set<T>::unite(const Set<T> &other) { - if (other.isEmpty()) + if (other.empty()) return *this; - if (isEmpty()) { + if (empty()) { m_data = other.m_data; return *this; } @@ -352,7 +352,7 @@ template<typename T> template<typename U> Set<T> Set<T>::filtered(const Set<U> & template<typename T> Set<T> &Set<T>::subtract(const Set<T> &other) { - if (isEmpty() || other.isEmpty()) + if (empty() || other.empty()) return *this; auto lowerBound = m_data.begin(); for (auto otherIt = other.cbegin(); otherIt != other.cend(); ++otherIt) { @@ -378,7 +378,7 @@ template<typename T> Set<T> operator|(const Set<T> &set1, const Set<T> &set2) template<typename T> Set<T> operator-(const Set<T> &set1, const Set<T> &set2) { - if (set1.isEmpty() || set2.isEmpty()) + if (set1.empty() || set2.empty()) return set1; Set<T> result; auto it1 = set1.cbegin(); diff --git a/src/lib/corelib/tools/settingscreator.cpp b/src/lib/corelib/tools/settingscreator.cpp index 45a9db7ef..51c020778 100644 --- a/src/lib/corelib/tools/settingscreator.cpp +++ b/src/lib/corelib/tools/settingscreator.cpp @@ -70,7 +70,7 @@ QSettings *SettingsCreator::getQSettings() void SettingsCreator::migrate() { - if (!m_settings->allKeys().isEmpty()) // We already have settings for this qbs version. + if (!m_settings->allKeys().empty()) // We already have settings for this qbs version. return; m_settings.reset(); diff --git a/src/lib/corelib/tools/settingsmodel.cpp b/src/lib/corelib/tools/settingsmodel.cpp index c24c58d2c..b57ee0f39 100644 --- a/src/lib/corelib/tools/settingsmodel.cpp +++ b/src/lib/corelib/tools/settingsmodel.cpp @@ -217,7 +217,7 @@ Qt::ItemFlags SettingsModel::flags(const QModelIndex &index) const return Qt::ItemFlags(); // Only leaf nodes have values. - return d->editable && node->children.isEmpty() ? flags | Qt::ItemIsEditable : flags; + return d->editable && node->children.empty() ? flags | Qt::ItemIsEditable : flags; } return Qt::ItemFlags(); } @@ -266,7 +266,7 @@ QVariant SettingsModel::data(const QModelIndex &index, int role) const } if (index.column() == keyColumn()) return node->name; - if (index.column() == valueColumn() && node->children.isEmpty()) + if (index.column() == valueColumn() && node->children.empty()) return node->value; return QVariant(); } @@ -367,7 +367,7 @@ void SettingsModel::SettingsModelPrivate::addNode(qbs::Internal::Node *parentNod } if (!currentNode) currentNode = createNode(parentNode, currentNamePart); - if (restOfName.isEmpty()) { + if (restOfName.empty()) { currentNode->value = settingsValueToRepresentation(value); currentNode->isFromSettings = false; } else { @@ -377,7 +377,7 @@ void SettingsModel::SettingsModelPrivate::addNode(qbs::Internal::Node *parentNod void SettingsModel::SettingsModelPrivate::doSave(const Node *node, const QString &prefix) { - if (node->children.isEmpty()) { + if (node->children.empty()) { settings->setValue(prefix + node->name, representationToSettingsValue(node->value)); return; } diff --git a/src/lib/corelib/tools/setupprojectparameters.cpp b/src/lib/corelib/tools/setupprojectparameters.cpp index b1b289a60..d818469d0 100644 --- a/src/lib/corelib/tools/setupprojectparameters.cpp +++ b/src/lib/corelib/tools/setupprojectparameters.cpp @@ -306,7 +306,7 @@ void SetupProjectParameters::setOverriddenValues(const QVariantMap &values) static void provideValuesTree(const QVariantMap &values, QVariantMap *valueTree) { - if (!valueTree->isEmpty() || values.isEmpty()) + if (!valueTree->empty() || values.empty()) return; valueTree->clear(); @@ -356,7 +356,7 @@ static QVariantMap expandedBuildConfigurationInternal(const Profile &profile, const QStringList profileKeys = profile.allKeys(Profile::KeySelectionRecursive, &err); if (err.hasError()) throw err; - if (profileKeys.isEmpty()) + if (profileKeys.empty()) throw ErrorInfo(Internal::Tr::tr("Unknown or empty profile '%1'.").arg(profile.name())); for (const QString &profileKey : profileKeys) { buildConfig.insert(profileKey, profile.value(profileKey, QVariant(), &err)); @@ -430,7 +430,7 @@ QVariantMap SetupProjectParameters::finalBuildConfigurationTree(const QVariantMa */ QVariantMap SetupProjectParameters::finalBuildConfigurationTree() const { - if (d->finalBuildConfigTree.isEmpty()) { + if (d->finalBuildConfigTree.empty()) { d->finalBuildConfigTree = finalBuildConfigurationTree(buildConfiguration(), overriddenValues()); } diff --git a/src/lib/corelib/tools/shellutils.cpp b/src/lib/corelib/tools/shellutils.cpp index c1992551f..9c49d9b6d 100644 --- a/src/lib/corelib/tools/shellutils.cpp +++ b/src/lib/corelib/tools/shellutils.cpp @@ -160,7 +160,7 @@ std::string shellQuote(const std::string &arg, HostOsInfo::HostOs os) QString shellQuote(const QStringList &args, HostOsInfo::HostOs os) { QString result; - if (!args.isEmpty()) { + if (!args.empty()) { result += shellQuote(args.at(0), os); for (int i = 1; i < args.size(); ++i) result += QLatin1Char(' ') + shellQuote(args.at(i), os); @@ -186,7 +186,7 @@ std::string shellQuote(const std::vector<std::string> &args, HostOsInfo::HostOs QString shellQuote(const QString &program, const QStringList &args, HostOsInfo::HostOs os) { QString result = shellQuote(program, os); - if (!args.isEmpty()) + if (!args.empty()) result += QLatin1Char(' ') + shellQuote(args, os); return result; } diff --git a/src/lib/qtprofilesetup/qtmoduleinfo.cpp b/src/lib/qtprofilesetup/qtmoduleinfo.cpp index 61f7483bf..904fdc82d 100644 --- a/src/lib/qtprofilesetup/qtmoduleinfo.cpp +++ b/src/lib/qtprofilesetup/qtmoduleinfo.cpp @@ -448,14 +448,14 @@ QList<QtModuleInfo> allQt4Modules(const QtEnvironment &qtEnvironment) // Set up include paths that haven't been set up before this point. for (auto &module : modules) { - if (!module.includePaths.isEmpty()) + if (!module.includePaths.empty()) continue; module.includePaths = module.qt4ModuleIncludePaths(qtEnvironment); } // Set up compiler defines haven't been set up before this point. for (auto &module : modules) { - if (!module.compilerDefines.isEmpty()) + if (!module.compilerDefines.empty()) continue; module.compilerDefines << QLatin1String("QT_") + module.qbsName.toUpper() + QLatin1String("_LIB"); diff --git a/src/lib/qtprofilesetup/qtprofilesetup.cpp b/src/lib/qtprofilesetup/qtprofilesetup.cpp index 124029b42..e780085bd 100644 --- a/src/lib/qtprofilesetup/qtprofilesetup.cpp +++ b/src/lib/qtprofilesetup/qtprofilesetup.cpp @@ -391,7 +391,7 @@ static bool checkForStaticBuild(const QtEnvironment &qt) const QDir libdir(isWin ? qt.binaryPath : qt.libraryPath); const QStringList coreLibFiles = libdir.entryList(QStringList(QLatin1String("*Core*")), QDir::Files); - if (coreLibFiles.isEmpty()) + if (coreLibFiles.empty()) throw ErrorInfo(Internal::Tr::tr("Could not determine whether Qt is a static build.")); foreach (const QString &fileName, coreLibFiles) { if (QLibrary::isLibrary(fileName)) diff --git a/src/plugins/generator/visualstudio/io/visualstudiosolutionwriter.cpp b/src/plugins/generator/visualstudio/io/visualstudiosolutionwriter.cpp index d55a8cbb9..4c0495316 100644 --- a/src/plugins/generator/visualstudio/io/visualstudiosolutionwriter.cpp +++ b/src/plugins/generator/visualstudio/io/visualstudiosolutionwriter.cpp @@ -110,7 +110,7 @@ bool VisualStudioSolutionWriter::write(const VisualStudioSolution *solution) << u8"\"\n"; const auto dependencies = solution->dependencies(project); - if (!dependencies.isEmpty()) { + if (!dependencies.empty()) { out << u8"\tProjectSection(ProjectDependencies) = postProject\n"; for (const auto &dependency : dependencies) diff --git a/tests/auto/api/tst_api.cpp b/tests/auto/api/tst_api.cpp index 2e8cba574..cf254fee4 100644 --- a/tests/auto/api/tst_api.cpp +++ b/tests/auto/api/tst_api.cpp @@ -974,7 +974,7 @@ void TestApi::commandExtraction() const qbs::RuleCommand command = commands.front(); QCOMPARE(command.type(), qbs::RuleCommand::ProcessCommandType); QVERIFY(!command.executable().isEmpty()); - QVERIFY(!command.arguments().isEmpty()); + QVERIFY(!command.arguments().empty()); } void TestApi::changeDependentLib() @@ -1820,7 +1820,7 @@ void TestApi::multiplexing() product = takeMatchingProduct(products, selector); QVERIFY(product.isValid()); QVERIFY(!product.isMultiplexed()); - QVERIFY(product.dependencies().isEmpty()); + QVERIFY(product.dependencies().empty()); selector.clear(); selector.name = "multiplex-without-aggregator-2"; @@ -1828,13 +1828,13 @@ void TestApi::multiplexing() product = takeMatchingProduct(products, selector); QVERIFY(product.isValid()); QVERIFY(product.isMultiplexed()); - QVERIFY(product.dependencies().isEmpty()); + QVERIFY(product.dependencies().empty()); selector.qbsProperties["architecture"] = "C64"; product = takeMatchingProduct(products, selector); QVERIFY(product.isValid()); QVERIFY(product.isMultiplexed()); - QVERIFY(product.dependencies().isEmpty()); + QVERIFY(product.dependencies().empty()); selector.clear(); selector.name = "multiplex-with-export"; @@ -1842,27 +1842,27 @@ void TestApi::multiplexing() product = takeMatchingProduct(products, selector); QVERIFY(product.isValid()); QVERIFY(product.isMultiplexed()); - QVERIFY(product.dependencies().isEmpty()); + QVERIFY(product.dependencies().empty()); selector.qbsProperties["architecture"] = "C64"; product = takeMatchingProduct(products, selector); QVERIFY(product.isValid()); QVERIFY(product.isMultiplexed()); - QVERIFY(product.dependencies().isEmpty()); + QVERIFY(product.dependencies().empty()); selector.clear(); selector.name = "nonmultiplex-with-export"; product = takeMatchingProduct(products, selector); QVERIFY(product.isValid()); QVERIFY(!product.isMultiplexed()); - QVERIFY(product.dependencies().isEmpty()); + QVERIFY(product.dependencies().empty()); selector.clear(); selector.name = "nonmultiplex-exporting-aggregation"; product = takeMatchingProduct(products, selector); QVERIFY(product.isValid()); QVERIFY(!product.isMultiplexed()); - QVERIFY(product.dependencies().isEmpty()); + QVERIFY(product.dependencies().empty()); selector.clear(); selector.name = "multiplex-using-export"; @@ -1899,23 +1899,23 @@ void TestApi::multiplexing() product = takeMatchingProduct(products, selector); QVERIFY(product.isValid()); QVERIFY(product.isMultiplexed()); - QVERIFY(product.dependencies().isEmpty()); + QVERIFY(product.dependencies().empty()); selector.qbsProperties["buildVariant"] = "release"; product = takeMatchingProduct(products, selector); QVERIFY(product.isValid()); QVERIFY(product.isMultiplexed()); - QVERIFY(product.dependencies().isEmpty()); + QVERIFY(product.dependencies().empty()); selector.qbsProperties["architecture"] = "TRS-80"; selector.qbsProperties["buildVariant"] = "debug"; product = takeMatchingProduct(products, selector); QVERIFY(product.isValid()); QVERIFY(product.isMultiplexed()); - QVERIFY(product.dependencies().isEmpty()); + QVERIFY(product.dependencies().empty()); selector.qbsProperties["buildVariant"] = "release"; product = takeMatchingProduct(products, selector); QVERIFY(product.isValid()); QVERIFY(product.isMultiplexed()); - QVERIFY(product.dependencies().isEmpty()); + QVERIFY(product.dependencies().empty()); selector.clear(); selector.name = "multiplex-with-aggregator-2"; @@ -1988,7 +1988,7 @@ void TestApi::multiplexing() QVERIFY(product.isMultiplexed()); QCOMPARE(product.dependencies().size(), 4); - QVERIFY(products.isEmpty()); + QVERIFY(products.empty()); } void TestApi::newOutputArtifactInDependency() @@ -2095,13 +2095,13 @@ void TestApi::projectDataAfterProductInvalidation() qbs::Project project = setupJob->project(); QVERIFY(project.isValid()); QCOMPARE(project.projectData().products().size(), 1); - QVERIFY(project.projectData().products().front().generatedArtifacts().isEmpty()); + QVERIFY(project.projectData().products().front().generatedArtifacts().empty()); 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().size(), 1); const qbs::ProductData productAfterBulding = project.projectData().products().front(); - QVERIFY(!productAfterBulding.generatedArtifacts().isEmpty()); + QVERIFY(!productAfterBulding.generatedArtifacts().empty()); QFile projectFile(setupParams.projectFilePath()); WAIT_FOR_NEW_TIMESTAMP(); QVERIFY2(projectFile.open(QIODevice::ReadWrite), qPrintable(projectFile.errorString())); diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp index 283f24431..0bfc5a5e1 100644 --- a/tests/auto/blackbox/tst_blackbox.cpp +++ b/tests/auto/blackbox/tst_blackbox.cpp @@ -688,9 +688,9 @@ void TestBlackbox::dependenciesProperty() QCOMPARE(product2_type.first().toString(), QLatin1String("application")); QCOMPARE(product2.value(QLatin1String("narf")).toString(), QLatin1String("zort")); QJsonArray product2_deps = product2.value(QLatin1String("dependencies")).toArray(); - QVERIFY(!product2_deps.isEmpty()); + QVERIFY(!product2_deps.empty()); QJsonObject product2_qbs = findByName(product2_deps, QStringLiteral("qbs")); - QVERIFY(!product2_qbs.isEmpty()); + QVERIFY(!product2_qbs.empty()); QJsonObject product2_cpp = findByName(product2_deps, QStringLiteral("cpp")); QJsonArray product2_cpp_defines = product2_cpp.value(QLatin1String("defines")).toArray(); QCOMPARE(product2_cpp_defines.size(), 1); @@ -1545,7 +1545,7 @@ void TestBlackbox::separateDebugInfo() Profile buildProfile(profileName(), s.get()); QStringList toolchain = buildProfile.value("qbs.toolchain").toStringList(); QStringList targetOS = buildProfile.value("qbs.targetOS").toStringList(); - if (targetOS.contains("darwin") || (targetOS.isEmpty() && HostOsInfo::isMacosHost())) { + if (targetOS.contains("darwin") || (targetOS.empty() && HostOsInfo::isMacosHost())) { QVERIFY(directoryExists(relativeProductBuildDir("app1") + "/app1.app.dSYM")); QVERIFY(regularFileExists(relativeProductBuildDir("app1") + "/app1.app.dSYM/Contents/Info.plist")); @@ -4245,7 +4245,7 @@ void TestBlackbox::productDependenciesByType() const QString cleanLine = QString::fromLocal8Bit(line.trimmed()); QVERIFY2(apps.removeOne(cleanLine), qPrintable(cleanLine)); } - QVERIFY(apps.isEmpty()); + QVERIFY(apps.empty()); } void TestBlackbox::properQuoting() @@ -4599,9 +4599,9 @@ void TestBlackbox::assembly() return QJsonDocument::fromJson(propertiesFile.readAll()).toVariant().toMap(); return QVariantMap(); })(); - QVERIFY(!properties.isEmpty()); + QVERIFY(!properties.empty()); const auto toolchain = properties.value("qbs.toolchain").toStringList(); - QVERIFY(!toolchain.isEmpty()); + QVERIFY(!toolchain.empty()); const bool haveGcc = toolchain.contains("gcc"); const bool haveMSVC = toolchain.contains("msvc"); diff --git a/tests/auto/blackbox/tst_blackboxandroid.cpp b/tests/auto/blackbox/tst_blackboxandroid.cpp index 673feb54b..8fba0d78e 100644 --- a/tests/auto/blackbox/tst_blackboxandroid.cpp +++ b/tests/auto/blackbox/tst_blackboxandroid.cpp @@ -122,9 +122,9 @@ void TestBlackboxAndroid::android() } missingExpectedFiles << expectedFile; } - if (!missingExpectedFiles.isEmpty()) + if (!missingExpectedFiles.empty()) QFAIL(QByteArray("missing expected files:\n") + missingExpectedFiles.join('\n')); - if (!actualFiles.isEmpty()) { + if (!actualFiles.empty()) { QByteArray msg = "unexpected files encountered:\n" + actualFiles.join('\n'); auto it = std::find_if(std::begin(actualFiles), std::end(actualFiles), [](const QByteArray &f) { @@ -160,7 +160,7 @@ void TestBlackboxAndroid::android_data() const SettingsPtr s = settings(); const Profile p("qbs_autotests-android", s.get()); QStringList archsStringList = p.value(QLatin1String("qbs.architectures")).toStringList(); - if (archsStringList.isEmpty()) + if (archsStringList.empty()) archsStringList << QStringLiteral("armv7a"); // must match default in common.qbs QByteArrayList archs; std::transform(archsStringList.begin(), archsStringList.end(), std::back_inserter(archs), diff --git a/tests/auto/blackbox/tst_blackboxjava.cpp b/tests/auto/blackbox/tst_blackboxjava.cpp index 9e2664e84..20f3f0050 100644 --- a/tests/auto/blackbox/tst_blackboxjava.cpp +++ b/tests/auto/blackbox/tst_blackboxjava.cpp @@ -203,7 +203,7 @@ void TestBlackboxJava::javaDependencyTracking_data() if (!jdkVersion.isEmpty()) seenJdkVersions << jdkVersion; - if (!seenJdkVersions.isEmpty()) { + if (!seenJdkVersions.empty()) { const auto javaVersions = QStringList() << knownJdkVersions.mid(0, knownJdkVersions.indexOf(seenJdkVersions.last()) + 1) << QString(); // also test with no explicitly specified source version @@ -221,7 +221,7 @@ void TestBlackboxJava::javaDependencyTracking_data() } } - if (seenJdkVersions.isEmpty()) + if (seenJdkVersions.empty()) QSKIP("No JDKs installed"); } diff --git a/tests/auto/language/tst_language.cpp b/tests/auto/language/tst_language.cpp index 134516553..457523185 100644 --- a/tests/auto/language/tst_language.cpp +++ b/tests/auto/language/tst_language.cpp @@ -882,13 +882,13 @@ void TestLanguage::exports() QVERIFY(product->dependencies.contains(products.value("D"))); product = products.value("B"); QVERIFY(!!product); - QVERIFY(product->dependencies.isEmpty()); + QVERIFY(product->dependencies.empty()); product = products.value("C"); QVERIFY(!!product); - QVERIFY(product->dependencies.isEmpty()); + QVERIFY(product->dependencies.empty()); product = products.value("D"); QVERIFY(!!product); - QVERIFY(product->dependencies.isEmpty()); + QVERIFY(product->dependencies.empty()); product = products.value("myapp2"); QVERIFY(!!product); @@ -2713,9 +2713,9 @@ void TestLanguage::wildcards() } if (!prefix.isEmpty()) s << " prefix: " << toJSLiteral(prefix) << endl; - if (!patterns.isEmpty()) + if (!patterns.empty()) s << " files: " << toJSLiteral(patterns) << endl; - if (!excludePatterns.isEmpty()) + if (!excludePatterns.empty()) s << " excludeFiles: " << toJSLiteral(excludePatterns) << endl; if (useGroup) s << " }" << endl; diff --git a/tests/auto/shared.h b/tests/auto/shared.h index 60bb3f64d..f2bda8591 100644 --- a/tests/auto/shared.h +++ b/tests/auto/shared.h @@ -213,7 +213,7 @@ inline qbs::Internal::HostOsInfo::HostOs targetOs() return qbs::Internal::HostOsInfo::HostOsMacos; if (targetOS.contains("unix")) return qbs::Internal::HostOsInfo::HostOsOtherUnix; - if (!targetOS.isEmpty()) + if (!targetOS.empty()) return qbs::Internal::HostOsInfo::HostOsOther; return qbs::Internal::HostOsInfo::hostOs(); } diff --git a/tests/auto/tools/tst_tools.cpp b/tests/auto/tools/tst_tools.cpp index 84d9caad3..4f2dcd6b4 100644 --- a/tests/auto/tools/tst_tools.cpp +++ b/tests/auto/tools/tst_tools.cpp @@ -283,10 +283,10 @@ void TestTools::testProfiles() QVERIFY(!childProfile.value("blubb", QString(), &errorInfo).isValid()); QVERIFY(errorInfo.hasError()); - QVERIFY(!childProfile.allKeys(Profile::KeySelectionNonRecursive).isEmpty()); + QVERIFY(!childProfile.allKeys(Profile::KeySelectionNonRecursive).empty()); errorInfo.clear(); - QVERIFY(childProfile.allKeys(Profile::KeySelectionRecursive, &errorInfo).isEmpty()); + QVERIFY(childProfile.allKeys(Profile::KeySelectionRecursive, &errorInfo).empty()); QVERIFY(errorInfo.hasError()); } @@ -302,7 +302,7 @@ void TestTools::testSettingsMigration() settings.baseDirectory() + "/qbs/" QBS_VERSION "/profilesright"); } else { QVERIFY(!QFileInfo(settings.baseDirectory() + "/qbs/" QBS_VERSION "/profiles").exists()); - QVERIFY(settings.allKeys().isEmpty()); + QVERIFY(settings.allKeys().empty()); } } @@ -514,37 +514,37 @@ void TestTools::set_size() { Set<int> set; QVERIFY(set.size() == 0); - QVERIFY(set.isEmpty()); + QVERIFY(set.empty()); QVERIFY(set.size() == set.size()); set.insert(1); QVERIFY(set.size() == 1); - QVERIFY(!set.isEmpty()); + QVERIFY(!set.empty()); QVERIFY(set.size() == set.size()); set.insert(1); QVERIFY(set.size() == 1); - QVERIFY(!set.isEmpty()); + QVERIFY(!set.empty()); QVERIFY(set.size() == set.size()); set.insert(2); QVERIFY(set.size() == 2); - QVERIFY(!set.isEmpty()); + QVERIFY(!set.empty()); QVERIFY(set.size() == set.size()); set.remove(1); QVERIFY(set.size() == 1); - QVERIFY(!set.isEmpty()); + QVERIFY(!set.empty()); QVERIFY(set.size() == set.size()); set.remove(1); QVERIFY(set.size() == 1); - QVERIFY(!set.isEmpty()); + QVERIFY(!set.empty()); QVERIFY(set.size() == set.size()); set.remove(2); QVERIFY(set.size() == 0); - QVERIFY(set.isEmpty()); + QVERIFY(set.empty()); QVERIFY(set.size() == set.size()); } @@ -898,8 +898,8 @@ void TestTools::set_stlMutableIterator() while (i != set2.end()) { i = set2.erase(i); } - QVERIFY(set2.isEmpty()); - QVERIFY(!set3.isEmpty()); + QVERIFY(set2.empty()); + QVERIFY(!set3.empty()); j = set3.end(); while (j != set3.begin()) { @@ -910,8 +910,8 @@ void TestTools::set_stlMutableIterator() if (set3.begin() != set3.end()) set3.erase(set3.begin()); - QVERIFY(set2.isEmpty()); - QVERIFY(set3.isEmpty()); + QVERIFY(set2.empty()); + QVERIFY(set3.empty()); i = set2.insert("foo").first; QCOMPARE(*i, QLatin1String("foo")); @@ -1052,10 +1052,10 @@ void TestTools::set_initializerList() QCOMPARE(set2.find(searchKey)->id, 0); Set<int> emptySet{}; - QVERIFY(emptySet.isEmpty()); + QVERIFY(emptySet.empty()); Set<int> set3{{}, {}, {}}; - QVERIFY(!set3.isEmpty()); + QVERIFY(!set3.empty()); } void TestTools::set_intersects() diff --git a/tests/benchmarker/valgrindrunner.cpp b/tests/benchmarker/valgrindrunner.cpp index 945011db1..5d218d2c7 100644 --- a/tests/benchmarker/valgrindrunner.cpp +++ b/tests/benchmarker/valgrindrunner.cpp @@ -63,7 +63,7 @@ void ValgrindRunner::run() futures << QtConcurrent::run(this, &ValgrindRunner::traceRuleExecution); if (m_activities & ActivityNullBuild) futures << QtConcurrent::run(this, &ValgrindRunner::traceNullBuild); - while (!futures.isEmpty()) + while (!futures.empty()) futures.takeFirst().waitForFinished(); } diff --git a/tests/fuzzy-test/commandlineparser.cpp b/tests/fuzzy-test/commandlineparser.cpp index 21961540f..86f498dec 100644 --- a/tests/fuzzy-test/commandlineparser.cpp +++ b/tests/fuzzy-test/commandlineparser.cpp @@ -49,9 +49,9 @@ void CommandLineParser::parse(const QStringList &commandLine) m_jobCount = 0; m_log = false; m_commandLine = commandLine; - Q_ASSERT(!m_commandLine.isEmpty()); + Q_ASSERT(!m_commandLine.empty()); m_command = m_commandLine.takeFirst(); - while (!m_commandLine.isEmpty()) { + while (!m_commandLine.empty()) { const QString arg = m_commandLine.takeFirst(); if (arg == profileOption()) assignOptionArgument(arg, m_profile); @@ -82,7 +82,7 @@ QString CommandLineParser::usageString() const void CommandLineParser::assignOptionArgument(const QString &option, QString &argument) { - if (m_commandLine.isEmpty()) + if (m_commandLine.empty()) throw ParseException(QString::fromLatin1("Option '%1' needs an argument.").arg(option)); argument = m_commandLine.takeFirst(); if (argument.isEmpty()) { |