From 92b3a513581d235e460a2f911777df860342cf64 Mon Sep 17 00:00:00 2001 From: Artem Sokolovskii Date: Tue, 31 May 2022 16:42:57 +0200 Subject: [PATCH] QMLPlugins: Remove foreach / Q_FOREACH usage Task-number: QTCREATORBUG-27464 Change-Id: Ie3e3ec9fdaea856943e5325cabd21e52bf290e70 Reviewed-by: Reviewed-by: Ulf Hermann --- src/plugins/qmljstools/qmljsindenter.cpp | 2 +- src/plugins/qmljstools/qmljslocatordata.cpp | 2 +- src/plugins/qmljstools/qmljsmodelmanager.cpp | 26 ++++++++++++------- src/plugins/qmljstools/qmljssemanticinfo.cpp | 2 +- src/plugins/qmlprofiler/flamegraphmodel.cpp | 3 ++- src/plugins/qmlprofiler/pixmapcachemodel.cpp | 2 +- .../qmlprofiler/qmlprofilernotesmodel.cpp | 3 ++- .../qmlprofiler/qmlprofilerstatisticsview.cpp | 4 +-- src/plugins/qmlprofiler/qmlprofilertool.cpp | 6 +++-- .../fileformat/qmlprojectfileformat.cpp | 3 ++- src/plugins/qmlprojectmanager/qmlproject.cpp | 3 ++- .../qmlprojectrunconfiguration.cpp | 5 ++-- 12 files changed, 38 insertions(+), 23 deletions(-) diff --git a/src/plugins/qmljstools/qmljsindenter.cpp b/src/plugins/qmljstools/qmljsindenter.cpp index ce6f18eca90..e46891cc26f 100644 --- a/src/plugins/qmljstools/qmljsindenter.cpp +++ b/src/plugins/qmljstools/qmljsindenter.cpp @@ -99,7 +99,7 @@ TextEditor::IndentationForBlock Indenter::indentationForBlocks( codeFormatter.updateStateUntil(blocks.last()); TextEditor::IndentationForBlock ret; - foreach (QTextBlock block, blocks) + for (QTextBlock block : blocks) ret.insert(block.blockNumber(), codeFormatter.indentFor(block)); return ret; } diff --git a/src/plugins/qmljstools/qmljslocatordata.cpp b/src/plugins/qmljstools/qmljslocatordata.cpp index 92611a99a64..9f135b0383b 100644 --- a/src/plugins/qmljstools/qmljslocatordata.cpp +++ b/src/plugins/qmljstools/qmljslocatordata.cpp @@ -252,7 +252,7 @@ void LocatorData::onDocumentUpdated(const Document::Ptr &doc) void LocatorData::onAboutToRemoveFiles(const QStringList &files) { QMutexLocker l(&m_mutex); - foreach (const QString &file, files) { + for (const QString &file : files) { m_entries.remove(file); } } diff --git a/src/plugins/qmljstools/qmljsmodelmanager.cpp b/src/plugins/qmljstools/qmljsmodelmanager.cpp index dffea44be27..941494699ef 100644 --- a/src/plugins/qmljstools/qmljsmodelmanager.cpp +++ b/src/plugins/qmljstools/qmljsmodelmanager.cpp @@ -92,10 +92,11 @@ static void setupProjectInfoQmlBundles(ModelManagerInterface::ProjectInfo &proje if (projectInfo.project) { QSet currentKits; - foreach (const Target *t, projectInfo.project->targets()) + const QList targets = projectInfo.project->targets(); + for (const Target *t : targets) currentKits.insert(t->kit()); currentKits.remove(activeKit); - foreach (Kit *kit, currentKits) { + for (Kit *kit : qAsConst(currentKits)) { for (IBundleProvider *bp : IBundleProvider::allBundleProviders()) bp->mergeBundlesForKit(kit, projectInfo.extendedBundle, replacements); } @@ -214,22 +215,28 @@ QHash ModelManager::initLanguageForSuffix() const if (ICore::instance()) { MimeType jsSourceTy = Utils::mimeTypeForName(Constants::JS_MIMETYPE); - foreach (const QString &suffix, jsSourceTy.suffixes()) + const QStringList jsSuffixes = jsSourceTy.suffixes(); + for (const QString &suffix : jsSuffixes) res[suffix] = Dialect::JavaScript; MimeType qmlSourceTy = Utils::mimeTypeForName(Constants::QML_MIMETYPE); - foreach (const QString &suffix, qmlSourceTy.suffixes()) + const QStringList qmlSuffixes = qmlSourceTy.suffixes(); + for (const QString &suffix : qmlSuffixes) res[suffix] = Dialect::Qml; MimeType qbsSourceTy = Utils::mimeTypeForName(Constants::QBS_MIMETYPE); - foreach (const QString &suffix, qbsSourceTy.suffixes()) + const QStringList qbsSuffixes = qbsSourceTy.suffixes(); + for (const QString &suffix : qbsSuffixes) res[suffix] = Dialect::QmlQbs; MimeType qmlProjectSourceTy = Utils::mimeTypeForName(Constants::QMLPROJECT_MIMETYPE); - foreach (const QString &suffix, qmlProjectSourceTy.suffixes()) + const QStringList qmlProjSuffixes = qmlProjectSourceTy.suffixes(); + for (const QString &suffix : qmlProjSuffixes) res[suffix] = Dialect::QmlProject; MimeType qmlUiSourceTy = Utils::mimeTypeForName(Constants::QMLUI_MIMETYPE); - foreach (const QString &suffix, qmlUiSourceTy.suffixes()) + const QStringList qmlUiSuffixes = qmlUiSourceTy.suffixes(); + for (const QString &suffix : qmlUiSuffixes) res[suffix] = Dialect::QmlQtQuick2Ui; MimeType jsonSourceTy = Utils::mimeTypeForName(Constants::JSON_MIMETYPE); - foreach (const QString &suffix, jsonSourceTy.suffixes()) + const QStringList jsonSuffixes = jsonSourceTy.suffixes(); + for (const QString &suffix : jsonSuffixes) res[suffix] = Dialect::Json; } return res; @@ -288,7 +295,8 @@ ModelManagerInterface::WorkingCopy ModelManager::workingCopyInternal() const if (!Core::ICore::instance()) return workingCopy; - foreach (IDocument *document, DocumentModel::openedDocuments()) { + const QList documents = DocumentModel::openedDocuments(); + for (IDocument *document : documents) { const QString key = document->filePath().toString(); if (auto textDocument = qobject_cast(document)) { // TODO the language should be a property on the document, not the editor diff --git a/src/plugins/qmljstools/qmljssemanticinfo.cpp b/src/plugins/qmljstools/qmljssemanticinfo.cpp index b136747e7a0..451d264789b 100644 --- a/src/plugins/qmljstools/qmljssemanticinfo.cpp +++ b/src/plugins/qmljstools/qmljssemanticinfo.cpp @@ -191,7 +191,7 @@ QList SemanticInfo::rangePath(int cursorPosition) const { QList path; - foreach (const Range &range, ranges) { + for (const Range &range : qAsConst(ranges)) { if (range.begin.isNull() || range.end.isNull()) continue; else if (cursorPosition >= range.begin.position() && cursorPosition <= range.end.position()) diff --git a/src/plugins/qmlprofiler/flamegraphmodel.cpp b/src/plugins/qmlprofiler/flamegraphmodel.cpp index d03fd21451d..eb280ce49eb 100644 --- a/src/plugins/qmlprofiler/flamegraphmodel.cpp +++ b/src/plugins/qmlprofiler/flamegraphmodel.cpp @@ -200,7 +200,8 @@ QVariant FlameGraphModel::lookup(const FlameGraphData &stats, int role) const if (!m_typeIdsWithNotes.contains(stats.typeIndex)) return ret; Timeline::TimelineNotesModel *notes = m_modelManager->notesModel(); - foreach (const QVariant &item, notes->byTypeId(stats.typeIndex)) { + const QList items = notes->byTypeId(stats.typeIndex); + for (const QVariant &item : items) { if (ret.isEmpty()) ret = notes->text(item.toInt()); else diff --git a/src/plugins/qmlprofiler/pixmapcachemodel.cpp b/src/plugins/qmlprofiler/pixmapcachemodel.cpp index 3efe0a7d202..5006ef31dfa 100644 --- a/src/plugins/qmlprofiler/pixmapcachemodel.cpp +++ b/src/plugins/qmlprofiler/pixmapcachemodel.cpp @@ -432,7 +432,7 @@ QString PixmapCacheModel::fileName(int index) const void PixmapCacheModel::computeMaxCacheSize() { - foreach (const PixmapCacheModel::Item &event, m_data) { + for (const PixmapCacheModel::Item &event : qAsConst(m_data)) { if (event.pixmapEventType == PixmapCacheModel::PixmapCacheCountChanged) { if (event.cacheSize > m_maxCacheSize) m_maxCacheSize = event.cacheSize; diff --git a/src/plugins/qmlprofiler/qmlprofilernotesmodel.cpp b/src/plugins/qmlprofiler/qmlprofilernotesmodel.cpp index 35ac01a5ae2..2c30b8e708e 100644 --- a/src/plugins/qmlprofiler/qmlprofilernotesmodel.cpp +++ b/src/plugins/qmlprofiler/qmlprofilernotesmodel.cpp @@ -41,7 +41,8 @@ int QmlProfilerNotesModel::addQmlNote(int typeId, int collapsedRow, qint64 start int foundTypeId = -1; int timelineModel = -1; int timelineIndex = -1; - foreach (const Timeline::TimelineModel *model, timelineModels()) { + const QList models = timelineModels(); + for (const Timeline::TimelineModel *model : models) { if (model->handlesTypeId(typeId)) { for (int i = model->firstIndex(start); i <= model->lastIndex(start + duration); ++i) { if (i < 0) diff --git a/src/plugins/qmlprofiler/qmlprofilerstatisticsview.cpp b/src/plugins/qmlprofiler/qmlprofilerstatisticsview.cpp index 81d57358756..8b0fe63d8c8 100644 --- a/src/plugins/qmlprofiler/qmlprofilerstatisticsview.cpp +++ b/src/plugins/qmlprofiler/qmlprofilerstatisticsview.cpp @@ -137,8 +137,8 @@ void QmlProfilerStatisticsView::contextMenuEvent(QContextMenuEvent *ev) QPoint position = ev->globalPos(); - QList commonActions = QmlProfilerTool::profilerContextMenuActions(); - foreach (QAction *act, commonActions) + const QList commonActions = QmlProfilerTool::profilerContextMenuActions(); + for (QAction *act : commonActions) menu.addAction(act); if (mouseOnTable(position)) { diff --git a/src/plugins/qmlprofiler/qmlprofilertool.cpp b/src/plugins/qmlprofiler/qmlprofilertool.cpp index 3c4f75c62c5..c198b60fe88 100644 --- a/src/plugins/qmlprofiler/qmlprofilertool.cpp +++ b/src/plugins/qmlprofiler/qmlprofilertool.cpp @@ -503,7 +503,8 @@ void QmlProfilerTool::setButtonsEnabled(bool enable) void QmlProfilerTool::createInitialTextMarks() { QmlProfilerTextMarkModel *model = d->m_profilerModelManager->textMarkModel(); - foreach (IDocument *document, DocumentModel::openedDocuments()) + const QList documents = DocumentModel::openedDocuments(); + for (IDocument *document : documents) model->createMarks(d->m_viewContainer, document->filePath().toString()); } @@ -736,7 +737,8 @@ void QmlProfilerTool::setAvailableFeatures(quint64 features) void QmlProfilerTool::setRecordedFeatures(quint64 features) { - foreach (QAction *action, d->m_displayFeaturesMenu->actions()) + const QList actions = d->m_displayFeaturesMenu->actions(); + for (QAction *action : actions) action->setEnabled(features & (1ULL << action->data().toUInt())); } diff --git a/src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.cpp b/src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.cpp index f385cc74660..ec84d34d4a7 100644 --- a/src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.cpp +++ b/src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.cpp @@ -142,7 +142,8 @@ QmlProjectItem *QmlProjectFileFormat::parseProjectFile(const Utils::FilePath &fi if (debug) qDebug() << "importPath:" << importPathsProperty.value << "mainFile:" << mainFileProperty.value; - foreach (const QmlJS::SimpleReaderNode::Ptr &childNode, rootNode->children()) { + const QList childNodes = rootNode->children(); + for (const QmlJS::SimpleReaderNode::Ptr &childNode : childNodes) { if (debug) qDebug() << "reading type:" << childNode->name(); diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp index f25c564edee..b76349ba0a2 100644 --- a/src/plugins/qmlprojectmanager/qmlproject.cpp +++ b/src/plugins/qmlprojectmanager/qmlproject.cpp @@ -319,7 +319,8 @@ void QmlBuildSystem::refresh(RefreshOptions options) QmlJS::ModelManagerInterface::ProjectInfo projectInfo = modelManager->defaultProjectInfoForProject(project()); - foreach (const QString &searchPath, makeAbsolute(canonicalProjectDir(), customImportPaths())) + const QStringList searchPaths = makeAbsolute(canonicalProjectDir(), customImportPaths()); + for (const QString &searchPath : searchPaths) projectInfo.importPaths.maybeInsert(Utils::FilePath::fromString(searchPath), QmlJS::Dialect::Qml); diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp index d9f89d6f499..9d7805f03f4 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp @@ -212,8 +212,9 @@ QString QmlProjectRunConfiguration::commandLineArguments() const // arguments from .qmlproject file const QmlBuildSystem *bs = qobject_cast(target()->buildSystem()); - foreach (const QString &importPath, - QmlBuildSystem::makeAbsolute(bs->targetDirectory(), bs->customImportPaths())) { + const QStringList importPaths = QmlBuildSystem::makeAbsolute(bs->targetDirectory(), + bs->customImportPaths()); + for (const QString &importPath : importPaths) { ProcessArgs::addArg(&args, "-I", osType); ProcessArgs::addArg(&args, importPath, osType); }