From 36463f3c879280cf2da9b4a482b1859017e3702a Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Mon, 3 Apr 2023 21:00:48 +0200 Subject: [PATCH] CppLocatorFilter: Don't repeat CppLocatorData arg in c'tors It's always the same instance of: CppEditor::CppModelManager::instance()->locatorData(). Change-Id: I7d8aa2da6f0055d91b519efb6ebdf2177794e0b7 Reviewed-by: Christian Kandeler --- .../clangcodemodel/clangdlocatorfilters.cpp | 3 --- src/plugins/cppeditor/cpplocatorfilter.cpp | 19 ++++++------------- src/plugins/cppeditor/cpplocatorfilter.h | 14 ++++---------- src/plugins/cppeditor/cppmodelmanager.cpp | 6 +++--- 4 files changed, 13 insertions(+), 29 deletions(-) diff --git a/src/plugins/clangcodemodel/clangdlocatorfilters.cpp b/src/plugins/clangcodemodel/clangdlocatorfilters.cpp index 76a19f684f2..ebd04c538b3 100644 --- a/src/plugins/clangcodemodel/clangdlocatorfilters.cpp +++ b/src/plugins/clangcodemodel/clangdlocatorfilters.cpp @@ -47,7 +47,6 @@ class CppLocatorFilter : public CppEditor::CppLocatorFilter { public: CppLocatorFilter() - : CppEditor::CppLocatorFilter(CppEditor::CppModelManager::instance()->locatorData()) { setId({}); setDisplayName({}); @@ -80,7 +79,6 @@ class CppClassesFilter : public CppEditor::CppClassesFilter { public: CppClassesFilter() - : CppEditor::CppClassesFilter(CppEditor::CppModelManager::instance()->locatorData()) { setId({}); setDisplayName({}); @@ -111,7 +109,6 @@ class CppFunctionsFilter : public CppEditor::CppFunctionsFilter { public: CppFunctionsFilter() - : CppEditor::CppFunctionsFilter(CppEditor::CppModelManager::instance()->locatorData()) { setId({}); setDisplayName({}); diff --git a/src/plugins/cppeditor/cpplocatorfilter.cpp b/src/plugins/cppeditor/cpplocatorfilter.cpp index b72bf261c98..144ba6b3c98 100644 --- a/src/plugins/cppeditor/cpplocatorfilter.cpp +++ b/src/plugins/cppeditor/cpplocatorfilter.cpp @@ -5,6 +5,7 @@ #include "cppeditorconstants.h" #include "cppeditortr.h" +#include "cpplocatordata.h" #include @@ -14,8 +15,7 @@ using namespace Core; namespace CppEditor { -CppLocatorFilter::CppLocatorFilter(CppLocatorData *locatorData) - : m_data(locatorData) +CppLocatorFilter::CppLocatorFilter() { setId(Constants::LOCATOR_FILTER_ID); setDisplayName(Tr::tr(Constants::LOCATOR_FILTER_DISPLAY_NAME)); @@ -23,8 +23,6 @@ CppLocatorFilter::CppLocatorFilter(CppLocatorData *locatorData) setDefaultIncludedByDefault(false); } -CppLocatorFilter::~CppLocatorFilter() = default; - LocatorFilterEntry CppLocatorFilter::filterEntryFromIndexItem(IndexItem::Ptr info) { const QVariant id = QVariant::fromValue(info); @@ -52,7 +50,8 @@ QList CppLocatorFilter::matchesFor( const QRegularExpression shortRegexp = hasColonColon ? createRegExp(entry.mid(entry.lastIndexOf("::") + 2)) : regexp; - m_data->filterAllFiles([&](const IndexItem::Ptr &info) -> IndexItem::VisitorResult { + CppLocatorData *locatorData = CppModelManager::instance()->locatorData(); + locatorData->filterAllFiles([&](const IndexItem::Ptr &info) -> IndexItem::VisitorResult { if (future.isCanceled()) return IndexItem::Break; const IndexItem::ItemType type = info->type(); @@ -112,8 +111,7 @@ QList CppLocatorFilter::matchesFor( return std::accumulate(std::begin(entries), std::end(entries), QList()); } -CppClassesFilter::CppClassesFilter(CppLocatorData *locatorData) - : CppLocatorFilter(locatorData) +CppClassesFilter::CppClassesFilter() { setId(Constants::CLASSES_FILTER_ID); setDisplayName(Tr::tr(Constants::CLASSES_FILTER_DISPLAY_NAME)); @@ -121,8 +119,6 @@ CppClassesFilter::CppClassesFilter(CppLocatorData *locatorData) setDefaultIncludedByDefault(false); } -CppClassesFilter::~CppClassesFilter() = default; - LocatorFilterEntry CppClassesFilter::filterEntryFromIndexItem(IndexItem::Ptr info) { const QVariant id = QVariant::fromValue(info); @@ -135,8 +131,7 @@ LocatorFilterEntry CppClassesFilter::filterEntryFromIndexItem(IndexItem::Ptr inf return filterEntry; } -CppFunctionsFilter::CppFunctionsFilter(CppLocatorData *locatorData) - : CppLocatorFilter(locatorData) +CppFunctionsFilter::CppFunctionsFilter() { setId(Constants::FUNCTIONS_FILTER_ID); setDisplayName(Tr::tr(Constants::FUNCTIONS_FILTER_DISPLAY_NAME)); @@ -144,8 +139,6 @@ CppFunctionsFilter::CppFunctionsFilter(CppLocatorData *locatorData) setDefaultIncludedByDefault(false); } -CppFunctionsFilter::~CppFunctionsFilter() = default; - LocatorFilterEntry CppFunctionsFilter::filterEntryFromIndexItem(IndexItem::Ptr info) { const QVariant id = QVariant::fromValue(info); diff --git a/src/plugins/cppeditor/cpplocatorfilter.h b/src/plugins/cppeditor/cpplocatorfilter.h index 0bfa8a2d2da..126853c313d 100644 --- a/src/plugins/cppeditor/cpplocatorfilter.h +++ b/src/plugins/cppeditor/cpplocatorfilter.h @@ -4,7 +4,7 @@ #pragma once #include "cppeditor_global.h" -#include "cpplocatordata.h" +#include "indexitem.h" #include @@ -15,17 +15,13 @@ class CPPEDITOR_EXPORT CppLocatorFilter : public Core::ILocatorFilter Q_OBJECT public: - explicit CppLocatorFilter(CppLocatorData *locatorData); - ~CppLocatorFilter() override; + explicit CppLocatorFilter(); QList matchesFor(QFutureInterface &future, const QString &entry) override; protected: virtual IndexItem::ItemType matchTypes() const { return IndexItem::All; } virtual Core::LocatorFilterEntry filterEntryFromIndexItem(IndexItem::Ptr info); - -protected: - CppLocatorData *m_data = nullptr; }; class CPPEDITOR_EXPORT CppClassesFilter : public CppLocatorFilter @@ -33,8 +29,7 @@ class CPPEDITOR_EXPORT CppClassesFilter : public CppLocatorFilter Q_OBJECT public: - explicit CppClassesFilter(CppLocatorData *locatorData); - ~CppClassesFilter() override; + explicit CppClassesFilter(); protected: IndexItem::ItemType matchTypes() const override { return IndexItem::Class; } @@ -46,8 +41,7 @@ class CPPEDITOR_EXPORT CppFunctionsFilter : public CppLocatorFilter Q_OBJECT public: - explicit CppFunctionsFilter(CppLocatorData *locatorData); - ~CppFunctionsFilter() override; + explicit CppFunctionsFilter(); protected: IndexItem::ItemType matchTypes() const override { return IndexItem::Function; } diff --git a/src/plugins/cppeditor/cppmodelmanager.cpp b/src/plugins/cppeditor/cppmodelmanager.cpp index 491982516a8..0b8537925f3 100644 --- a/src/plugins/cppeditor/cppmodelmanager.cpp +++ b/src/plugins/cppeditor/cppmodelmanager.cpp @@ -897,10 +897,10 @@ void CppModelManager::initCppTools() &d->m_locatorData, &CppLocatorData::onAboutToRemoveFiles); // Set up builtin filters - setLocatorFilter(std::make_unique(&d->m_locatorData)); - setClassesFilter(std::make_unique(&d->m_locatorData)); + setLocatorFilter(std::make_unique()); + setClassesFilter(std::make_unique()); setIncludesFilter(std::make_unique()); - setFunctionsFilter(std::make_unique(&d->m_locatorData)); + setFunctionsFilter(std::make_unique()); setSymbolsFindFilter(std::make_unique(this)); setCurrentDocumentFilter( std::make_unique(this));