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 <christian.kandeler@qt.io>
This commit is contained in:
Jarek Kobus
2023-04-03 21:00:48 +02:00
parent f83dbc3316
commit 36463f3c87
4 changed files with 13 additions and 29 deletions

View File

@@ -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({});

View File

@@ -5,6 +5,7 @@
#include "cppeditorconstants.h"
#include "cppeditortr.h"
#include "cpplocatordata.h"
#include <utils/algorithm.h>
@@ -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<LocatorFilterEntry> 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<LocatorFilterEntry> CppLocatorFilter::matchesFor(
return std::accumulate(std::begin(entries), std::end(entries), QList<LocatorFilterEntry>());
}
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);

View File

@@ -4,7 +4,7 @@
#pragma once
#include "cppeditor_global.h"
#include "cpplocatordata.h"
#include "indexitem.h"
#include <coreplugin/locator/ilocatorfilter.h>
@@ -15,17 +15,13 @@ class CPPEDITOR_EXPORT CppLocatorFilter : public Core::ILocatorFilter
Q_OBJECT
public:
explicit CppLocatorFilter(CppLocatorData *locatorData);
~CppLocatorFilter() override;
explicit CppLocatorFilter();
QList<Core::LocatorFilterEntry> matchesFor(QFutureInterface<Core::LocatorFilterEntry> &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; }

View File

@@ -897,10 +897,10 @@ void CppModelManager::initCppTools()
&d->m_locatorData, &CppLocatorData::onAboutToRemoveFiles);
// Set up builtin filters
setLocatorFilter(std::make_unique<CppLocatorFilter>(&d->m_locatorData));
setClassesFilter(std::make_unique<CppClassesFilter>(&d->m_locatorData));
setLocatorFilter(std::make_unique<CppLocatorFilter>());
setClassesFilter(std::make_unique<CppClassesFilter>());
setIncludesFilter(std::make_unique<CppIncludesFilter>());
setFunctionsFilter(std::make_unique<CppFunctionsFilter>(&d->m_locatorData));
setFunctionsFilter(std::make_unique<CppFunctionsFilter>());
setSymbolsFindFilter(std::make_unique<SymbolsFindFilter>(this));
setCurrentDocumentFilter(
std::make_unique<Internal::CppCurrentDocumentFilter>(this));