DocumentLocatorFilter: Get rid of the arg from c'tor

It's always LanguageClientManager::instance().
Pimpl LanguageClientManager's filters, so that they are
constructed after the managerInstance is being assigned.

Change-Id: Ib1f6f0c96d57d0e4cb7332ce322f6c4e9ef9fdb1
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
Jarek Kobus
2023-04-07 09:34:00 +02:00
parent c8ac10b4c1
commit ed120516f6
6 changed files with 18 additions and 10 deletions

View File

@@ -6,7 +6,6 @@
#include "client.h"
#include "languageclient_global.h"
#include "languageclientsettings.h"
#include "locatorfilter.h"
#include "lspinspector.h"
#include <utils/algorithm.h>
@@ -25,6 +24,7 @@ namespace ProjectExplorer { class Project; }
namespace LanguageClient {
class LanguageClientManagerPrivate;
class LanguageClientMark;
class LANGUAGECLIENT_EXPORT LanguageClientManager : public QObject
@@ -104,10 +104,7 @@ private:
QList<BaseSettings *> m_currentSettings; // owned
QMap<QString, QList<Client *>> m_clientsForSetting;
QHash<TextEditor::TextDocument *, QPointer<Client>> m_clientForDocument;
DocumentLocatorFilter m_currentDocumentLocatorFilter{this};
WorkspaceLocatorFilter m_workspaceLocatorFilter;
WorkspaceClassLocatorFilter m_workspaceClassLocatorFilter;
WorkspaceMethodLocatorFilter m_workspaceMethodLocatorFilter;
std::unique_ptr<LanguageClientManagerPrivate> d;
LspInspector m_inspector;
};