CppTools: Fix getting locator filters from the object pool

They are no longer inside the global object pool.
Get them from CppModelManager instead.

Task-number: QTCREATORBUG-20678
Change-Id: Ifb3221a812295e1dcfe8b59ea693a4b350cbcc2e
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Ivan Donchevskii
2018-06-27 12:58:35 +02:00
parent 75470bae65
commit ef9c68798d
5 changed files with 49 additions and 8 deletions

View File

@@ -96,7 +96,7 @@ class CppCurrentDocumentFilterTestCase
public:
CppCurrentDocumentFilterTestCase(const QString &fileName,
const ResultDataList &expectedResults)
: BasicLocatorFilterTest(PluginManager::getObject<CppCurrentDocumentFilter>())
: BasicLocatorFilterTest(CppTools::CppModelManager::instance()->currentDocumentFilter())
, m_editor(0)
, m_fileName(fileName)
{
@@ -158,9 +158,11 @@ void CppToolsPlugin::test_cpplocatorfilters_CppLocatorFilter_data()
QTest::addColumn<QString>("searchText");
QTest::addColumn<ResultDataList>("expectedResults");
ILocatorFilter *cppFunctionsFilter = PluginManager::getObject<CppFunctionsFilter>();
ILocatorFilter *cppClassesFilter = PluginManager::getObject<CppClassesFilter>();
ILocatorFilter *cppLocatorFilter = PluginManager::getObject<CppLocatorFilter>();
CppModelManager *cppModelManager = CppModelManager::instance();
ILocatorFilter *cppFunctionsFilter = cppModelManager->functionsFilter();
ILocatorFilter *cppClassesFilter = cppModelManager->classesFilter();
ILocatorFilter *cppLocatorFilter = cppModelManager->locatorFilter();
MyTestDataDir testDirectory("testdata_basic");
const QString testFile = testDirectory.file("file1.cpp");

View File

@@ -390,6 +390,36 @@ void CppModelManager::setCurrentDocumentFilter(std::unique_ptr<Core::ILocatorFil
setFilter(d->m_currentDocumentFilter, std::move(filter));
}
Core::ILocatorFilter *CppModelManager::locatorFilter() const
{
return d->m_locatorFilter.get();
}
Core::ILocatorFilter *CppModelManager::classesFilter() const
{
return d->m_classesFilter.get();
}
Core::ILocatorFilter *CppModelManager::includesFilter() const
{
return d->m_includesFilter.get();
}
Core::ILocatorFilter *CppModelManager::functionsFilter() const
{
return d->m_functionsFilter.get();
}
Core::IFindFilter *CppModelManager::symbolsFindFilter() const
{
return d->m_symbolsFindFilter.get();
}
Core::ILocatorFilter *CppModelManager::currentDocumentFilter() const
{
return d->m_currentDocumentFilter.get();
}
FollowSymbolInterface &CppModelManager::followSymbolInterface() const
{
return d->m_activeModelManagerSupport->followSymbolInterface();

View File

@@ -219,6 +219,13 @@ public:
void setSymbolsFindFilter(std::unique_ptr<Core::IFindFilter> &&filter);
void setCurrentDocumentFilter(std::unique_ptr<Core::ILocatorFilter> &&filter);
Core::ILocatorFilter *locatorFilter() const;
Core::ILocatorFilter *classesFilter() const;
Core::ILocatorFilter *includesFilter() const;
Core::ILocatorFilter *functionsFilter() const;
Core::IFindFilter *symbolsFindFilter() const;
Core::ILocatorFilter *currentDocumentFilter() const;
void renameIncludes(const QString &oldFileName, const QString &newFileName);
signals: