From fa260e00eded51b313a9b8b1621162f359156027 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Mon, 25 Jan 2021 12:50:27 +0100 Subject: [PATCH] LanguageClient: cleanup languageclientmanager - sort includes - fix clazy and clang-tidy warnings - remove unused function - adjust naming ('interface' -> 'client') Change-Id: I12ada223a7a04796f0e6ac992cedf83aefe2ecc0 Reviewed-by: Christian Stenger --- .../languageclient/languageclientmanager.cpp | 71 +++++++++---------- .../languageclient/languageclientmanager.h | 1 - 2 files changed, 33 insertions(+), 39 deletions(-) diff --git a/src/plugins/languageclient/languageclientmanager.cpp b/src/plugins/languageclient/languageclientmanager.cpp index f03105736c4..a272362937f 100644 --- a/src/plugins/languageclient/languageclientmanager.cpp +++ b/src/plugins/languageclient/languageclientmanager.cpp @@ -25,20 +25,20 @@ #include "languageclientmanager.h" -#include "languageclientutils.h" #include "languageclientplugin.h" +#include "languageclientutils.h" #include #include #include #include #include -#include #include #include +#include +#include #include #include -#include #include #include #include @@ -150,7 +150,7 @@ void LanguageClientManager::addExclusiveRequest(const MessageId &id, Client *cli void LanguageClientManager::reportFinished(const MessageId &id, Client *byClient) { QTC_ASSERT(managerInstance, return); - for (Client *client : managerInstance->m_exclusiveRequests[id]) { + for (Client *client : qAsConst(managerInstance->m_exclusiveRequests[id])) { if (client != byClient) client->cancelRequest(id); } @@ -187,11 +187,11 @@ void LanguageClientManager::shutdown() if (managerInstance->m_shuttingDown) return; managerInstance->m_shuttingDown = true; - for (Client *client : managerInstance->m_clients) + for (Client *client : qAsConst(managerInstance->m_clients)) shutdownClient(client); QTimer::singleShot(3000, managerInstance, [](){ - for (auto interface : managerInstance->m_clients) - deleteClient(interface); + for (Client *client : qAsConst(managerInstance->m_clients)) + deleteClient(client); emit managerInstance->shutdownFinished(); }); } @@ -221,23 +221,25 @@ void LanguageClientManager::applySettings() for (BaseSettings *setting : restarts) { QList documents; - for (Client *client : clientForSetting(setting)) { + const QVector currentClients = clientForSetting(setting); + for (Client *client : currentClients) { documents << managerInstance->m_clientForDocument.keys(client); shutdownClient(client); } - for (auto document : documents) + for (auto document : qAsConst(documents)) managerInstance->m_clientForDocument.remove(document); if (!setting->isValid() || !setting->m_enabled) continue; switch (setting->m_startBehavior) { case BaseSettings::AlwaysOn: { Client *client = startClient(setting); - for (TextEditor::TextDocument *document : documents) + for (TextEditor::TextDocument *document : qAsConst(documents)) managerInstance->m_clientForDocument[document] = client; break; } case BaseSettings::RequiresFile: { - for (Core::IDocument *document : Core::DocumentModel::openedDocuments()) { + const QList &openedDocuments = Core::DocumentModel::openedDocuments(); + for (Core::IDocument *document : openedDocuments) { if (auto textDocument = qobject_cast(document)) { if (setting->m_languageFilter.isSupported(document)) documents << textDocument; @@ -245,7 +247,7 @@ void LanguageClientManager::applySettings() } if (!documents.isEmpty()) { Client *client = startClient(setting); - for (TextEditor::TextDocument *document : documents) + for (TextEditor::TextDocument *document : qAsConst(documents)) client->openDocument(document); } break; @@ -378,17 +380,6 @@ QVector LanguageClientManager::reachableClients() return Utils::filtered(m_clients, &Client::reachable); } -static void sendToInterfaces(const IContent &content, const QVector &interfaces) -{ - for (Client *interface : interfaces) - interface->sendContent(content); -} - -void LanguageClientManager::sendToAllReachableServers(const IContent &content) -{ - sendToInterfaces(content, reachableClients()); -} - void LanguageClientManager::clientFinished(Client *client) { constexpr int restartTimeoutS = 5; @@ -464,7 +455,7 @@ void LanguageClientManager::documentOpened(Core::IDocument *document) if (setting->isValid() && setting->m_enabled && setting->m_languageFilter.isSupported(document)) { if (setting->m_startBehavior == BaseSettings::RequiresProject) { - const Utils::FilePath filePath = document->filePath(); + const Utils::FilePath &filePath = document->filePath(); for (ProjectExplorer::Project *project : ProjectExplorer::SessionManager::projects()) { // check whether file is part of this project @@ -473,7 +464,7 @@ void LanguageClientManager::documentOpened(Core::IDocument *document) // check whether we already have a client running for this project if (Utils::findOrDefault(clients, - [project](QPointer client) { + [project](const QPointer &client) { return client->project() == project; })) { continue; @@ -483,7 +474,7 @@ void LanguageClientManager::documentOpened(Core::IDocument *document) } else if (setting->m_startBehavior == BaseSettings::RequiresFile && clients.isEmpty()) { clients << startClient(setting); } - for (auto client : clients) + for (auto client : qAsConst(clients)) client->openDocument(textDocument); } } @@ -492,7 +483,7 @@ void LanguageClientManager::documentOpened(Core::IDocument *document) void LanguageClientManager::documentClosed(Core::IDocument *document) { if (auto textDocument = qobject_cast(document)) { - for (Client *client : m_clients) + for (Client *client : qAsConst(m_clients)) client->closeDocument(textDocument); m_clientForDocument.remove(textDocument); } @@ -501,32 +492,35 @@ void LanguageClientManager::documentClosed(Core::IDocument *document) void LanguageClientManager::documentContentsSaved(Core::IDocument *document) { if (auto textDocument = qobject_cast(document)) { - for (Client *interface : reachableClients()) - interface->documentContentsSaved(textDocument); + const QVector &clients = reachableClients(); + for (Client *client : clients) + client->documentContentsSaved(textDocument); } } void LanguageClientManager::documentWillSave(Core::IDocument *document) { if (auto textDocument = qobject_cast(document)) { - for (Client *interface : reachableClients()) - interface->documentWillSave(textDocument); + const QVector &clients = reachableClients(); + for (Client *client : clients) + client->documentWillSave(textDocument); } } void LanguageClientManager::updateProject(ProjectExplorer::Project *project) { - for (BaseSettings *setting : m_currentSettings) { + for (BaseSettings *setting : qAsConst(m_currentSettings)) { if (setting->isValid() && setting->m_enabled && setting->m_startBehavior == BaseSettings::RequiresProject) { if (Utils::findOrDefault(clientForSetting(setting), - [project](QPointer client) { + [project](const QPointer &client) { return client->project() == project; }) == nullptr) { Client *newClient = nullptr; - for (Core::IDocument *doc : Core::DocumentModel::openedDocuments()) { + const QList &openedDocuments = Core::DocumentModel::openedDocuments(); + for (Core::IDocument *doc : openedDocuments) { if (setting->m_languageFilter.isSupported(doc) && project->isKnownFile(doc->filePath())) { if (auto textDoc = qobject_cast(doc)) { @@ -541,8 +535,9 @@ void LanguageClientManager::updateProject(ProjectExplorer::Project *project) } } } - for (Client *interface : reachableClients()) - interface->projectOpened(project); + const QVector &clients = reachableClients(); + for (Client *client : clients) + client->projectOpened(project); } void LanguageClientManager::projectAdded(ProjectExplorer::Project *project) @@ -555,8 +550,8 @@ void LanguageClientManager::projectAdded(ProjectExplorer::Project *project) void LanguageClientManager::projectRemoved(ProjectExplorer::Project *project) { project->disconnect(this); - for (Client *interface : m_clients) - interface->projectClosed(project); + for (Client *client : qAsConst(m_clients)) + client->projectClosed(project); } } // namespace LanguageClient diff --git a/src/plugins/languageclient/languageclientmanager.h b/src/plugins/languageclient/languageclientmanager.h index 4fa44757f2f..980b59ef4d7 100644 --- a/src/plugins/languageclient/languageclientmanager.h +++ b/src/plugins/languageclient/languageclientmanager.h @@ -113,7 +113,6 @@ private: void projectRemoved(ProjectExplorer::Project *project); QVector reachableClients(); - void sendToAllReachableServers(const LanguageServerProtocol::IContent &content); void clientFinished(Client *client);