diff options
author | hjk <hjk@qt.io> | 2020-02-14 08:51:08 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2020-02-14 09:50:07 +0000 |
commit | d3d294cd81f6ffd4b2edfcd8a5fe83adb3ffdffb (patch) | |
tree | d8ea461ff031b1857323dc9c8c6b7d4b6bc81a34 | |
parent | 092ee20418c0f4428e49b6fa1cd7228719aa6c38 (diff) | |
download | qt-creator-d3d294cd81f6ffd4b2edfcd8a5fe83adb3ffdffb.tar.gz |
ExtensionSystem: Some modernization
Mostly 'foreach'.
Change-Id: I5390d03bb5cc37c3674b61cea6f5d22bae554ed2
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
-rw-r--r-- | src/libs/extensionsystem/optionsparser.cpp | 6 | ||||
-rw-r--r-- | src/libs/extensionsystem/pluginerroroverview.cpp | 2 | ||||
-rw-r--r-- | src/libs/extensionsystem/pluginmanager.cpp | 60 | ||||
-rw-r--r-- | src/libs/extensionsystem/pluginmanager.h | 12 | ||||
-rw-r--r-- | src/libs/extensionsystem/pluginmanager_p.h | 2 | ||||
-rw-r--r-- | src/libs/extensionsystem/pluginspec.cpp | 10 | ||||
-rw-r--r-- | src/libs/extensionsystem/pluginview.cpp | 22 | ||||
-rw-r--r-- | tests/auto/extensionsystem/pluginmanager/correctplugins1/plugin1/plugin1.cpp | 2 | ||||
-rw-r--r-- | tests/auto/extensionsystem/pluginmanager/correctplugins1/plugin3/plugin3.cpp | 2 |
9 files changed, 59 insertions, 59 deletions
diff --git a/src/libs/extensionsystem/optionsparser.cpp b/src/libs/extensionsystem/optionsparser.cpp index 6b96060042..ecac59e5bf 100644 --- a/src/libs/extensionsystem/optionsparser.cpp +++ b/src/libs/extensionsystem/optionsparser.cpp @@ -170,7 +170,7 @@ bool OptionsParser::checkForLoadOption() return false; if (nextToken(RequiredToken)) { if (m_currentArg == QLatin1String("all")) { - foreach (PluginSpec *spec, m_pmPrivate->pluginSpecs) + for (PluginSpec *spec : qAsConst(m_pmPrivate->pluginSpecs)) spec->d->setForceEnabled(true); m_isDependencyRefreshNeeded = true; } else { @@ -197,7 +197,7 @@ bool OptionsParser::checkForNoLoadOption() return false; if (nextToken(RequiredToken)) { if (m_currentArg == QLatin1String("all")) { - foreach (PluginSpec *spec, m_pmPrivate->pluginSpecs) + for (PluginSpec *spec : qAsConst(m_pmPrivate->pluginSpecs)) spec->d->setForceDisabled(true); m_isDependencyRefreshNeeded = true; } else { @@ -210,7 +210,7 @@ bool OptionsParser::checkForNoLoadOption() } else { spec->d->setForceDisabled(true); // recursively disable all plugins that require this plugin - foreach (PluginSpec *dependantSpec, PluginManager::pluginsRequiringPlugin(spec)) + for (PluginSpec *dependantSpec : PluginManager::pluginsRequiringPlugin(spec)) dependantSpec->d->setForceDisabled(true); m_isDependencyRefreshNeeded = true; } diff --git a/src/libs/extensionsystem/pluginerroroverview.cpp b/src/libs/extensionsystem/pluginerroroverview.cpp index ff4f3bcd5c..acf4d6f25b 100644 --- a/src/libs/extensionsystem/pluginerroroverview.cpp +++ b/src/libs/extensionsystem/pluginerroroverview.cpp @@ -46,7 +46,7 @@ PluginErrorOverview::PluginErrorOverview(QWidget *parent) : m_ui->setupUi(this); m_ui->buttonBox->addButton(tr("Continue"), QDialogButtonBox::AcceptRole); - foreach (PluginSpec *spec, PluginManager::plugins()) { + for (PluginSpec *spec : PluginManager::plugins()) { // only show errors on startup if plugin is enabled. if (spec->hasError() && spec->isEffectivelyEnabled()) { QListWidgetItem *item = new QListWidgetItem(spec->name()); diff --git a/src/libs/extensionsystem/pluginmanager.cpp b/src/libs/extensionsystem/pluginmanager.cpp index 9db5161aa2..bec97e69a7 100644 --- a/src/libs/extensionsystem/pluginmanager.cpp +++ b/src/libs/extensionsystem/pluginmanager.cpp @@ -359,11 +359,11 @@ const QStringList PluginManager::allErrors() /*! Returns all plugins that require \a spec to be loaded. Recurses into dependencies. */ -QSet<PluginSpec *> PluginManager::pluginsRequiringPlugin(PluginSpec *spec) +const QSet<PluginSpec *> PluginManager::pluginsRequiringPlugin(PluginSpec *spec) { QSet<PluginSpec *> dependingPlugins({spec}); // recursively add plugins that depend on plugins that.... that depend on spec - foreach (PluginSpec *spec, d->loadQueue()) { + for (PluginSpec *spec : d->loadQueue()) { if (spec->requiresAny(dependingPlugins)) dependingPlugins.insert(spec); } @@ -374,7 +374,7 @@ QSet<PluginSpec *> PluginManager::pluginsRequiringPlugin(PluginSpec *spec) /*! Returns all plugins that \a spec requires to be loaded. Recurses into dependencies. */ -QSet<PluginSpec *> PluginManager::pluginsRequiredByPlugin(PluginSpec *spec) +const QSet<PluginSpec *> PluginManager::pluginsRequiredByPlugin(PluginSpec *spec) { QSet<PluginSpec *> recursiveDependencies; recursiveDependencies.insert(spec); @@ -576,7 +576,7 @@ QString PluginManager::serializedArguments() { const QChar separator = QLatin1Char('|'); QString rc; - foreach (const PluginSpec *ps, plugins()) { + for (const PluginSpec *ps : plugins()) { if (!ps->arguments().isEmpty()) { if (!rc.isEmpty()) rc += separator; @@ -593,7 +593,7 @@ QString PluginManager::serializedArguments() if (!rc.isEmpty()) rc += separator; rc += QLatin1String(argumentKeywordC); - foreach (const QString &argument, d->arguments) + for (const QString &argument : qAsConst(d->arguments)) rc += separator + argument; } return rc; @@ -633,7 +633,7 @@ void PluginManager::remoteArguments(const QString &serializedArgument, QObject * const QStringList pwdValue = subList(serializedArguments, QLatin1String(pwdKeywordC)); const QString workingDirectory = pwdValue.isEmpty() ? QString() : pwdValue.first(); const QStringList arguments = subList(serializedArguments, QLatin1String(argumentKeywordC)); - foreach (const PluginSpec *ps, plugins()) { + for (const PluginSpec *ps : plugins()) { if (ps->state() == PluginSpec::Running) { const QStringList pluginOptions = subList(serializedArguments, QLatin1Char(':') + ps->name()); QObject *socketParent = ps->plugin()->remoteCommand(pluginOptions, workingDirectory, @@ -747,11 +747,11 @@ void PluginManager::formatOptions(QTextStream &str, int optionIndentation, int d void PluginManager::formatPluginOptions(QTextStream &str, int optionIndentation, int descriptionIndentation) { // Check plugins for options - foreach (PluginSpec *ps, d->pluginSpecs) { + for (PluginSpec *ps : qAsConst(d->pluginSpecs)) { const PluginSpec::PluginArgumentDescriptions pargs = ps->argumentDescriptions(); if (!pargs.empty()) { str << "\nPlugin: " << ps->name() << '\n'; - foreach (PluginArgumentDescription pad, pargs) + for (const PluginArgumentDescription &pad : pargs) formatOption(str, pad.name, pad.parameter, pad.description, optionIndentation, descriptionIndentation); } } @@ -762,7 +762,7 @@ void PluginManager::formatPluginOptions(QTextStream &str, int optionIndentation, */ void PluginManager::formatPluginVersions(QTextStream &str) { - foreach (PluginSpec *ps, d->pluginSpecs) + for (PluginSpec *ps : qAsConst(d->pluginSpecs)) str << " " << ps->name() << ' ' << ps->version() << ' ' << ps->description() << '\n'; } @@ -887,7 +887,7 @@ void PluginManagerPrivate::writeSettings() return; QStringList tempDisabledPlugins; QStringList tempForceEnabledPlugins; - foreach (PluginSpec *spec, pluginSpecs) { + for (PluginSpec *spec : qAsConst(pluginSpecs)) { if (spec->isEnabledByDefault() && !spec->isEnabledBySettings()) tempDisabledPlugins.append(spec->name()); if (!spec->isEnabledByDefault() && spec->isEnabledBySettings()) @@ -923,10 +923,10 @@ void PluginManagerPrivate::stopAll() delete delayedInitializeTimer; delayedInitializeTimer = nullptr; } - QVector<PluginSpec *> queue = loadQueue(); - foreach (PluginSpec *spec, queue) { + + const QVector<PluginSpec *> queue = loadQueue(); + for (PluginSpec *spec : queue) loadPlugin(spec, PluginSpec::Stopped); - } } /*! @@ -1001,7 +1001,7 @@ static QStringList matchingTestFunctions(const QStringList &testFunctions, const QRegExp regExp(testFunctionName, Qt::CaseSensitive, QRegExp::Wildcard); QStringList matchingFunctions; - foreach (const QString &testFunction, testFunctions) { + for (const QString &testFunction : testFunctions) { if (regExp.exactMatch(testFunction)) { // If the specified test data is invalid, the QTest framework will // print a reasonable error message for us. @@ -1058,7 +1058,7 @@ static TestPlan generateCompleteTestPlan(IPlugin *plugin, const QVector<QObject TestPlan testPlan; testPlan.insert(plugin, testFunctions(plugin->metaObject())); - foreach (QObject *testObject, testObjects) { + for (QObject *testObject : testObjects) { const QStringList allFunctions = testFunctions(testObject->metaObject()); testPlan.insert(testObject, allFunctions); } @@ -1096,7 +1096,7 @@ static TestPlan generateCustomTestPlan(IPlugin *plugin, } else { // Add all matching test functions of all remaining test objects - foreach (QObject *testObject, remainingTestObjectsOfPlugin) { + for (QObject *testObject : qAsConst(remainingTestObjectsOfPlugin)) { const QStringList allFunctions = testFunctions(testObject->metaObject()); const QStringList matchingFunctions = matchingTestFunctions(allFunctions, matchText); @@ -1119,7 +1119,7 @@ static TestPlan generateCustomTestPlan(IPlugin *plugin, out << "No test function or class matches \"" << matchText << "\" in plugin \"" << plugin->metaObject()->className() << "\".\nAvailable functions:\n"; - foreach (const QString &f, testFunctionsOfPluginObject) + for (const QString &f : testFunctionsOfPluginObject) out << " " << f << '\n'; out << endl; } @@ -1143,7 +1143,7 @@ void PluginManagerPrivate::startTests() } int failedTests = 0; - foreach (const PluginManagerPrivate::TestSpec &testSpec, testSpecs) { + for (const TestSpec &testSpec : qAsConst(testSpecs)) { IPlugin *plugin = testSpec.pluginSpec->plugin(); if (!plugin) continue; // plugin not loaded @@ -1227,15 +1227,15 @@ void PluginManagerPrivate::removeObject(QObject *obj) */ void PluginManagerPrivate::loadPlugins() { - QVector<PluginSpec *> queue = loadQueue(); + const QVector<PluginSpec *> queue = loadQueue(); Utils::setMimeStartupPhase(MimeStartupPhase::PluginsLoading); - foreach (PluginSpec *spec, queue) { + for (PluginSpec *spec : queue) loadPlugin(spec, PluginSpec::Loaded); - } + Utils::setMimeStartupPhase(MimeStartupPhase::PluginsInitializing); - foreach (PluginSpec *spec, queue) { + for (PluginSpec *spec : queue) loadPlugin(spec, PluginSpec::Initialized); - } + Utils::setMimeStartupPhase(MimeStartupPhase::PluginsDelayedInitializing); Utils::reverseForeach(queue, [this](PluginSpec *spec) { loadPlugin(spec, PluginSpec::Running); @@ -1291,10 +1291,10 @@ void PluginManagerPrivate::asyncShutdownFinished() /*! \internal */ -QVector<PluginSpec *> PluginManagerPrivate::loadQueue() +const QVector<PluginSpec *> PluginManagerPrivate::loadQueue() { QVector<PluginSpec *> queue; - foreach (PluginSpec *spec, pluginSpecs) { + for (PluginSpec *spec : qAsConst(pluginSpecs)) { QVector<PluginSpec *> circularityCheckQueue; loadQueue(spec, queue, circularityCheckQueue); } @@ -1526,7 +1526,7 @@ void PluginManagerPrivate::setPluginPaths(const QStringList &paths) readPluginPaths(); } -static QStringList pluginFiles(const QStringList &pluginPaths) +static const QStringList pluginFiles(const QStringList &pluginPaths) { QStringList pluginFiles; QStringList searchPaths = pluginPaths; @@ -1553,7 +1553,7 @@ void PluginManagerPrivate::readPluginPaths() // default pluginCategories.insert(QString(), QVector<PluginSpec *>()); - foreach (const QString &pluginFile, pluginFiles(pluginPaths)) { + for (const QString &pluginFile : pluginFiles(pluginPaths)) { auto *spec = new PluginSpec; if (!spec->d->read(pluginFile)) { // not a Qt Creator plugin delete spec; @@ -1586,13 +1586,13 @@ void PluginManagerPrivate::readPluginPaths() void PluginManagerPrivate::resolveDependencies() { - foreach (PluginSpec *spec, pluginSpecs) + for (PluginSpec *spec : qAsConst(pluginSpecs)) spec->d->resolveDependencies(pluginSpecs); } void PluginManagerPrivate::enableDependenciesIndirectly() { - foreach (PluginSpec *spec, pluginSpecs) + for (PluginSpec *spec : qAsConst(pluginSpecs)) spec->d->enabledIndirectly = false; // cannot use reverse loadQueue here, because test dependencies can introduce circles QVector<PluginSpec *> queue = Utils::filtered(pluginSpecs, &PluginSpec::isEffectivelyEnabled); @@ -1607,7 +1607,7 @@ PluginSpec *PluginManagerPrivate::pluginForOption(const QString &option, bool *r { // Look in the plugins for an option *requiresArgument = false; - foreach (PluginSpec *spec, pluginSpecs) { + for (PluginSpec *spec : qAsConst(pluginSpecs)) { PluginArgumentDescription match = Utils::findOrDefault(spec->argumentDescriptions(), [option](PluginArgumentDescription pad) { return pad.name == option; diff --git a/src/libs/extensionsystem/pluginmanager.h b/src/libs/extensionsystem/pluginmanager.h index cc1a461536..1bd621a1bc 100644 --- a/src/libs/extensionsystem/pluginmanager.h +++ b/src/libs/extensionsystem/pluginmanager.h @@ -62,8 +62,8 @@ public: template <typename T> static T *getObject() { QReadLocker lock(listLock()); - QVector<QObject *> all = allObjects(); - foreach (QObject *obj, all) { + const QVector<QObject *> all = allObjects(); + for (QObject *obj : all) { if (T *result = qobject_cast<T *>(obj)) return result; } @@ -72,8 +72,8 @@ public: template <typename T, typename Predicate> static T *getObject(Predicate predicate) { QReadLocker lock(listLock()); - QVector<QObject *> all = allObjects(); - foreach (QObject *obj, all) { + const QVector<QObject *> all = allObjects(); + for (QObject *obj : all) { if (T *result = qobject_cast<T *>(obj)) if (predicate(result)) return result; @@ -94,8 +94,8 @@ public: static QHash<QString, QVector<PluginSpec *>> pluginCollections(); static bool hasError(); static const QStringList allErrors(); - static QSet<PluginSpec *> pluginsRequiringPlugin(PluginSpec *spec); - static QSet<PluginSpec *> pluginsRequiredByPlugin(PluginSpec *spec); + static const QSet<PluginSpec *> pluginsRequiringPlugin(PluginSpec *spec); + static const QSet<PluginSpec *> pluginsRequiredByPlugin(PluginSpec *spec); static void checkForProblematicPlugins(); // Settings diff --git a/src/libs/extensionsystem/pluginmanager_p.h b/src/libs/extensionsystem/pluginmanager_p.h index 08c1eaa1ed..bafddf9d44 100644 --- a/src/libs/extensionsystem/pluginmanager_p.h +++ b/src/libs/extensionsystem/pluginmanager_p.h @@ -69,7 +69,7 @@ public: void loadPlugins(); void shutdown(); void setPluginPaths(const QStringList &paths); - QVector<ExtensionSystem::PluginSpec *> loadQueue(); + const QVector<ExtensionSystem::PluginSpec *> loadQueue(); void loadPlugin(PluginSpec *spec, PluginSpec::State destState); void resolveDependencies(); void enableDependenciesIndirectly(); diff --git a/src/libs/extensionsystem/pluginspec.cpp b/src/libs/extensionsystem/pluginspec.cpp index 696a5ec19f..06d2b5979c 100644 --- a/src/libs/extensionsystem/pluginspec.cpp +++ b/src/libs/extensionsystem/pluginspec.cpp @@ -803,8 +803,8 @@ bool PluginSpecPrivate::readMetaData(const QJsonObject &pluginMetaData) if (!value.isUndefined() && !value.isArray()) return reportError(msgValueIsNotAObjectArray(DEPENDENCIES)); if (!value.isUndefined()) { - QJsonArray array = value.toArray(); - foreach (const QJsonValue &v, array) { + const QJsonArray array = value.toArray(); + for (const QJsonValue &v : array) { if (!v.isObject()) return reportError(msgValueIsNotAObjectArray(DEPENDENCIES)); QJsonObject dependencyObject = v.toObject(); @@ -850,8 +850,8 @@ bool PluginSpecPrivate::readMetaData(const QJsonObject &pluginMetaData) if (!value.isUndefined() && !value.isArray()) return reportError(msgValueIsNotAObjectArray(ARGUMENTS)); if (!value.isUndefined()) { - QJsonArray array = value.toArray(); - foreach (const QJsonValue &v, array) { + const QJsonArray array = value.toArray(); + for (const QJsonValue &v : array) { if (!v.isObject()) return reportError(msgValueIsNotAObjectArray(ARGUMENTS)); QJsonObject argumentObject = v.toObject(); @@ -946,7 +946,7 @@ bool PluginSpecPrivate::resolveDependencies(const QVector<PluginSpec *> &specs) return false; } QHash<PluginDependency, PluginSpec *> resolvedDependencies; - foreach (const PluginDependency &dependency, dependencies) { + for (const PluginDependency &dependency : qAsConst(dependencies)) { PluginSpec * const found = Utils::findOrDefault(specs, [&dependency](PluginSpec *spec) { return spec->provides(dependency.name, dependency.version); }); diff --git a/src/libs/extensionsystem/pluginview.cpp b/src/libs/extensionsystem/pluginview.cpp index a5763e2067..0910367631 100644 --- a/src/libs/extensionsystem/pluginview.cpp +++ b/src/libs/extensionsystem/pluginview.cpp @@ -218,12 +218,12 @@ public: class CollectionItem : public TreeItem { public: - CollectionItem(const QString &name, QVector<PluginSpec *> plugins, PluginView *view) + CollectionItem(const QString &name, const QVector<PluginSpec *> &plugins, PluginView *view) : m_name(name) , m_plugins(plugins) , m_view(view) { - foreach (PluginSpec *spec, plugins) + for (PluginSpec *spec : plugins) appendChild(new PluginItem(spec, view)); } @@ -243,7 +243,7 @@ public: return PluginView::tr("Load on Startup"); if (role == Qt::CheckStateRole || role == SortRole) { int checkedCount = 0; - foreach (PluginSpec *spec, m_plugins) { + for (PluginSpec *spec : m_plugins) { if (spec->isEnabledBySettings()) ++checkedCount; } @@ -284,7 +284,7 @@ public: public: QString m_name; - QVector<PluginSpec *> m_plugins; + const QVector<PluginSpec *> m_plugins; PluginView *m_view; // Not owned. }; @@ -437,7 +437,7 @@ void PluginView::updatePlugins() } Utils::sort(collections, &CollectionItem::m_name); - foreach (CollectionItem *collection, collections) + for (CollectionItem *collection : qAsConst(collections)) m_model->rootItem()->appendChild(collection); emit m_model->layoutChanged(); @@ -455,8 +455,8 @@ bool PluginView::setPluginsEnabled(const QSet<PluginSpec *> &plugins, bool enabl { QSet<PluginSpec *> additionalPlugins; if (enable) { - foreach (PluginSpec *spec, plugins) { - foreach (PluginSpec *other, PluginManager::pluginsRequiredByPlugin(spec)) { + for (PluginSpec *spec : plugins) { + for (PluginSpec *other : PluginManager::pluginsRequiredByPlugin(spec)) { if (!other->isEnabledBySettings()) additionalPlugins.insert(other); } @@ -472,8 +472,8 @@ bool PluginView::setPluginsEnabled(const QSet<PluginSpec *> &plugins, bool enabl return false; } } else { - foreach (PluginSpec *spec, plugins) { - foreach (PluginSpec *other, PluginManager::pluginsRequiringPlugin(spec)) { + for (PluginSpec *spec : plugins) { + for (PluginSpec *other : PluginManager::pluginsRequiringPlugin(spec)) { if (other->isEnabledBySettings()) additionalPlugins.insert(other); } @@ -490,8 +490,8 @@ bool PluginView::setPluginsEnabled(const QSet<PluginSpec *> &plugins, bool enabl } } - QSet<PluginSpec *> affectedPlugins = plugins + additionalPlugins; - foreach (PluginSpec *spec, affectedPlugins) { + const QSet<PluginSpec *> affectedPlugins = plugins + additionalPlugins; + for (PluginSpec *spec : affectedPlugins) { PluginItem *item = m_model->findItemAtLevel<2>([spec](PluginItem *item) { return item->m_spec == spec; }); diff --git a/tests/auto/extensionsystem/pluginmanager/correctplugins1/plugin1/plugin1.cpp b/tests/auto/extensionsystem/pluginmanager/correctplugins1/plugin1/plugin1.cpp index 0bb1fc8842..c0ab11a960 100644 --- a/tests/auto/extensionsystem/pluginmanager/correctplugins1/plugin1/plugin1.cpp +++ b/tests/auto/extensionsystem/pluginmanager/correctplugins1/plugin1/plugin1.cpp @@ -44,7 +44,7 @@ bool MyPlugin1::initialize(const QStringList & /*arguments*/, QString *errorStri bool found2 = false; bool found3 = false; - foreach (QObject *object, ExtensionSystem::PluginManager::allObjects()) { + for (QObject *object : ExtensionSystem::PluginManager::allObjects()) { if (object->objectName() == QLatin1String("MyPlugin2")) found2 = true; else if (object->objectName() == QLatin1String("MyPlugin3")) diff --git a/tests/auto/extensionsystem/pluginmanager/correctplugins1/plugin3/plugin3.cpp b/tests/auto/extensionsystem/pluginmanager/correctplugins1/plugin3/plugin3.cpp index a75ee58241..76701ccbfe 100644 --- a/tests/auto/extensionsystem/pluginmanager/correctplugins1/plugin3/plugin3.cpp +++ b/tests/auto/extensionsystem/pluginmanager/correctplugins1/plugin3/plugin3.cpp @@ -43,7 +43,7 @@ bool MyPlugin3::initialize(const QStringList & /*arguments*/, QString *errorStri ExtensionSystem::PluginManager::addObject(object1); bool found2 = false; - foreach (QObject *object, ExtensionSystem::PluginManager::allObjects()) { + for (QObject *object : ExtensionSystem::PluginManager::allObjects()) { if (object->objectName() == QLatin1String("MyPlugin2")) found2 = true; } |