From c09951d1b7144d63d1fc830cfd0487f4b945a4c0 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Wed, 12 Apr 2023 16:39:21 +0200 Subject: [PATCH] LocatorFilterEntry: Get rid of filter field Remove also c'tor taking a pointer to filter. Change-Id: Ic0fe62daeb6e79a729bee24d07d7eb77559e19c4 Reviewed-by: Eike Ziller Reviewed-by: Reviewed-by: Qt CI Bot --- .../clangcodemodel/clangdlocatorfilters.cpp | 1 - .../coreplugin/locator/basefilefilter.cpp | 3 ++- .../locator/externaltoolsfilter.cpp | 3 ++- .../coreplugin/locator/ilocatorfilter.h | 7 ------ .../coreplugin/locator/javascriptfilter.cpp | 7 +++++- .../locator/opendocumentsfilter.cpp | 3 ++- .../cppeditor/cppcurrentdocumentfilter.cpp | 3 ++- src/plugins/cppeditor/cpplocatorfilter.cpp | 25 +++++++++++-------- src/plugins/languageclient/locatorfilter.cpp | 11 +++----- .../qmljstools/qmljsfunctionfilter.cpp | 3 ++- 10 files changed, 33 insertions(+), 33 deletions(-) diff --git a/src/plugins/clangcodemodel/clangdlocatorfilters.cpp b/src/plugins/clangcodemodel/clangdlocatorfilters.cpp index 3e24d4c57c2..19fab25d0c7 100644 --- a/src/plugins/clangcodemodel/clangdlocatorfilters.cpp +++ b/src/plugins/clangcodemodel/clangdlocatorfilters.cpp @@ -221,7 +221,6 @@ private: const auto docSymbolGenerator = [&](const DocumentSymbol &info, const LocatorFilterEntry &parent) { LocatorFilterEntry entry; - entry.filter = this; entry.displayName = ClangdClient::displayNameFromDocumentSymbol( static_cast(info.kind()), info.name(), info.detail().value_or(QString())); diff --git a/src/plugins/coreplugin/locator/basefilefilter.cpp b/src/plugins/coreplugin/locator/basefilefilter.cpp index 3f8e87af20f..d7f96b8ec16 100644 --- a/src/plugins/coreplugin/locator/basefilefilter.cpp +++ b/src/plugins/coreplugin/locator/basefilefilter.cpp @@ -153,7 +153,8 @@ QList BaseFileFilter::matchesFor(QFutureInterface; - /* backpointer to creating filter */ - ILocatorFilter *filter = nullptr; /* displayed string */ QString displayName; /* extra information displayed in parentheses and light-gray next to display name (optional)*/ diff --git a/src/plugins/coreplugin/locator/javascriptfilter.cpp b/src/plugins/coreplugin/locator/javascriptfilter.cpp index a0fb181b56d..5104ee81394 100644 --- a/src/plugins/coreplugin/locator/javascriptfilter.cpp +++ b/src/plugins/coreplugin/locator/javascriptfilter.cpp @@ -75,7 +75,12 @@ QList JavaScriptFilter::matchesFor( }; }; const QString expression = entry + " = " + result; - entries.append({this, expression}); + + LocatorFilterEntry entry; + entry.displayName = expression; + entry.acceptor = [] { return AcceptResult(); }; + entries.append(entry); + LocatorFilterEntry resultEntry; resultEntry.displayName = Tr::tr("Copy to clipboard: %1").arg(result); resultEntry.acceptor = acceptor(result); diff --git a/src/plugins/coreplugin/locator/opendocumentsfilter.cpp b/src/plugins/coreplugin/locator/opendocumentsfilter.cpp index b68142bbb3f..aa94c5f5f58 100644 --- a/src/plugins/coreplugin/locator/opendocumentsfilter.cpp +++ b/src/plugins/coreplugin/locator/opendocumentsfilter.cpp @@ -96,7 +96,8 @@ QList OpenDocumentsFilter::matchesFor(QFutureInterface CppCurrentDocumentFilter::matchesFor( } } - LocatorFilterEntry filterEntry(this, name); + LocatorFilterEntry filterEntry; + filterEntry.displayName = name; filterEntry.displayIcon = info->icon(); filterEntry.linkForEditor = {info->filePath(), info->line(), info->column()}; filterEntry.extraInfo = extraInfo; diff --git a/src/plugins/cppeditor/cpplocatorfilter.cpp b/src/plugins/cppeditor/cpplocatorfilter.cpp index d23d81e2d51..7eaee38b84f 100644 --- a/src/plugins/cppeditor/cpplocatorfilter.cpp +++ b/src/plugins/cppeditor/cpplocatorfilter.cpp @@ -119,8 +119,8 @@ LocatorMatcherTask locatorMatcher(IndexItem::ItemType type, const EntryFromIndex LocatorMatcherTask cppAllSymbolsMatcher() { const auto converter = [](const IndexItem::Ptr &info) { - // TODO: Passing nullptr for filter -> accept won't work now. Replace with accept function. - LocatorFilterEntry filterEntry(nullptr, info->scopedSymbolName()); + LocatorFilterEntry filterEntry; + filterEntry.displayName = info->scopedSymbolName(); filterEntry.displayIcon = info->icon(); filterEntry.linkForEditor = {info->filePath(), info->line(), info->column()}; if (info->type() == IndexItem::Class || info->type() == IndexItem::Enum) @@ -135,8 +135,8 @@ LocatorMatcherTask cppAllSymbolsMatcher() LocatorMatcherTask cppClassMatcher() { const auto converter = [](const IndexItem::Ptr &info) { - // TODO: Passing nullptr for filter -> accept won't work now. Replace with accept function. - LocatorFilterEntry filterEntry(nullptr, info->symbolName()); + LocatorFilterEntry filterEntry; + filterEntry.displayName = info->symbolName(); filterEntry.displayIcon = info->icon(); filterEntry.linkForEditor = {info->filePath(), info->line(), info->column()}; filterEntry.extraInfo = info->symbolScope().isEmpty() @@ -158,8 +158,8 @@ LocatorMatcherTask cppFunctionMatcher() extraInfo = info->shortNativeFilePath(); else extraInfo.append(" (" + info->filePath().fileName() + ')'); - // TODO: Passing nullptr for filter -> accept won't work now. Replace with accept function. - LocatorFilterEntry filterEntry(nullptr, name + info->symbolType()); + LocatorFilterEntry filterEntry; + filterEntry.displayName = name + info->symbolType(); filterEntry.displayIcon = info->icon(); filterEntry.linkForEditor = {info->filePath(), info->line(), info->column()}; filterEntry.extraInfo = extraInfo; @@ -237,8 +237,8 @@ void matchesForCurrentDocument(QPromise &promise } } - // TODO: Passing nullptr for filter -> accept won't work now. Replace with accept function. - LocatorFilterEntry filterEntry(nullptr, name); + LocatorFilterEntry filterEntry; + filterEntry.displayName = name; filterEntry.displayIcon = info->icon(); filterEntry.linkForEditor = {info->filePath(), info->line(), info->column()}; filterEntry.extraInfo = extraInfo; @@ -326,7 +326,8 @@ CppLocatorFilter::CppLocatorFilter() LocatorFilterEntry CppLocatorFilter::filterEntryFromIndexItem(IndexItem::Ptr info) { - LocatorFilterEntry filterEntry(this, info->scopedSymbolName()); + LocatorFilterEntry filterEntry; + filterEntry.displayName = info->scopedSymbolName(); filterEntry.displayIcon = info->icon(); filterEntry.linkForEditor = {info->filePath(), info->line(), info->column()}; if (info->type() == IndexItem::Class || info->type() == IndexItem::Enum) @@ -423,7 +424,8 @@ CppClassesFilter::CppClassesFilter() LocatorFilterEntry CppClassesFilter::filterEntryFromIndexItem(IndexItem::Ptr info) { - LocatorFilterEntry filterEntry(this, info->symbolName()); + LocatorFilterEntry filterEntry; + filterEntry.displayName = info->symbolName(); filterEntry.displayIcon = info->icon(); filterEntry.linkForEditor = {info->filePath(), info->line(), info->column()}; filterEntry.extraInfo = info->symbolScope().isEmpty() @@ -453,7 +455,8 @@ LocatorFilterEntry CppFunctionsFilter::filterEntryFromIndexItem(IndexItem::Ptr i extraInfo.append(" (" + info->filePath().fileName() + ')'); } - LocatorFilterEntry filterEntry(this, name + info->symbolType()); + LocatorFilterEntry filterEntry; + filterEntry.displayName = name + info->symbolType(); filterEntry.displayIcon = info->icon(); filterEntry.linkForEditor = {info->filePath(), info->line(), info->column()}; filterEntry.extraInfo = extraInfo; diff --git a/src/plugins/languageclient/locatorfilter.cpp b/src/plugins/languageclient/locatorfilter.cpp index 8acc21feeb1..83c13002d21 100644 --- a/src/plugins/languageclient/locatorfilter.cpp +++ b/src/plugins/languageclient/locatorfilter.cpp @@ -38,8 +38,6 @@ void filterResults(QPromise &promise, Client *cl : Utils::filtered(results, doFilter); const auto generateEntry = [client](const SymbolInformation &info) { LocatorFilterEntry entry; - // TODO: Passing nullptr for filter -> accept won't work now. Replace with accept function. - entry.filter = nullptr; entry.displayName = info.name(); if (std::optional container = info.containerName()) entry.extraInfo = container.value_or(QString()); @@ -170,11 +168,9 @@ void DocumentLocatorFilter::resetSymbols() } static LocatorFilterEntry generateLocatorEntry(const SymbolInformation &info, - ILocatorFilter *filter, DocumentUri::PathMapper pathMapper) { LocatorFilterEntry entry; - entry.filter = filter; entry.displayName = info.name(); if (std::optional container = info.containerName()) entry.extraInfo = container.value_or(QString()); @@ -190,7 +186,7 @@ QList DocumentLocatorFilter::entriesForSymbolsInfo( QList entries; for (const SymbolInformation &info : infoList) { if (regexp.match(info.name()).hasMatch()) - entries << LanguageClient::generateLocatorEntry(info, this, m_pathMapper); + entries << LanguageClient::generateLocatorEntry(info, m_pathMapper); } return entries; } @@ -228,7 +224,6 @@ QList DocumentLocatorFilter::matchesFor( const LocatorFilterEntry &parent) { Q_UNUSED(parent) LocatorFilterEntry entry; - entry.filter = this; entry.displayName = info.name(); if (std::optional detail = info.detail()) entry.extraInfo = detail.value_or(QString()); @@ -362,8 +357,8 @@ QList WorkspaceLocatorFilter::matchesFor( return m_filterKinds.contains(SymbolKind(info.symbol.kind())); }); } - auto generateEntry = [this](const SymbolInfoWithPathMapper &info) { - return generateLocatorEntry(info.symbol, this, info.mapper); + auto generateEntry = [](const SymbolInfoWithPathMapper &info) { + return generateLocatorEntry(info.symbol, info.mapper); }; return Utils::transform(m_results, generateEntry).toList(); } diff --git a/src/plugins/qmljstools/qmljsfunctionfilter.cpp b/src/plugins/qmljstools/qmljsfunctionfilter.cpp index 22050f7a9c7..e39ba3de132 100644 --- a/src/plugins/qmljstools/qmljsfunctionfilter.cpp +++ b/src/plugins/qmljstools/qmljsfunctionfilter.cpp @@ -48,7 +48,8 @@ QList FunctionFilter::matchesFor(QFutureInterface