forked from qt-creator/qt-creator
CppTools: add multiple refactoring engines support
Make model manager able to select the most functional refactoring engine from the available ones. Change-Id: I74031c910706fd694a0a7def022531501f1ea005 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
@@ -127,14 +127,14 @@ void ClangQueryProjectsFindFilter::setProjectParts(const std::vector<CppTools::P
|
||||
this->m_projectParts = projectParts;
|
||||
}
|
||||
|
||||
bool ClangQueryProjectsFindFilter::isUsable() const
|
||||
bool ClangQueryProjectsFindFilter::isAvailable() const
|
||||
{
|
||||
return m_server.isUsable();
|
||||
return m_server.isAvailable();
|
||||
}
|
||||
|
||||
void ClangQueryProjectsFindFilter::setUsable(bool isUsable)
|
||||
void ClangQueryProjectsFindFilter::setAvailable(bool isAvailable)
|
||||
{
|
||||
m_server.setUsable(isUsable);
|
||||
m_server.setAvailable(isAvailable);
|
||||
}
|
||||
|
||||
SearchHandle *ClangQueryProjectsFindFilter::searchHandleForTestOnly() const
|
||||
|
||||
@@ -66,8 +66,8 @@ public:
|
||||
|
||||
void setProjectParts(const std::vector<CppTools::ProjectPart::Ptr> &m_projectParts);
|
||||
|
||||
bool isUsable() const;
|
||||
void setUsable(bool isUsable);
|
||||
bool isAvailable() const;
|
||||
void setAvailable(bool isAvailable);
|
||||
|
||||
SearchHandle* searchHandleForTestOnly() const;
|
||||
|
||||
|
||||
@@ -100,13 +100,15 @@ bool ClangRefactoringPlugin::initialize(const QStringList & /*arguments*/, QStri
|
||||
|
||||
void ClangRefactoringPlugin::extensionsInitialized()
|
||||
{
|
||||
CppTools::CppModelManager::setRefactoringEngine(&refactoringEngine());
|
||||
CppTools::CppModelManager::addRefactoringEngine(
|
||||
CppTools::RefactoringEngineType::ClangRefactoring, &refactoringEngine());
|
||||
}
|
||||
|
||||
ExtensionSystem::IPlugin::ShutdownFlag ClangRefactoringPlugin::aboutToShutdown()
|
||||
{
|
||||
ExtensionSystem::PluginManager::removeObject(&d->qtCreatorfindFilter);
|
||||
CppTools::CppModelManager::setRefactoringEngine(nullptr);
|
||||
CppTools::CppModelManager::removeRefactoringEngine(
|
||||
CppTools::RefactoringEngineType::ClangRefactoring);
|
||||
d->refactoringClient.setRefactoringConnectionClient(nullptr);
|
||||
d->refactoringClient.setRefactoringEngine(nullptr);
|
||||
|
||||
@@ -137,7 +139,7 @@ void ClangRefactoringPlugin::connectBackend()
|
||||
|
||||
void ClangRefactoringPlugin::backendIsConnected()
|
||||
{
|
||||
d->engine.setUsable(true);
|
||||
d->engine.setRefactoringEngineAvailable(true);
|
||||
}
|
||||
|
||||
} // namespace ClangRefactoring
|
||||
|
||||
@@ -47,7 +47,7 @@ void RefactoringClient::sourceLocationsForRenamingMessage(
|
||||
message.sourceLocations(),
|
||||
message.textDocumentRevision());
|
||||
|
||||
m_refactoringEngine->setUsable(true);
|
||||
m_refactoringEngine->setRefactoringEngineAvailable(true);
|
||||
}
|
||||
|
||||
void RefactoringClient::sourceRangesAndDiagnosticsForQueryMessage(
|
||||
|
||||
@@ -60,7 +60,7 @@ void RefactoringEngine::startLocalRenaming(const CppTools::CursorInEditor &data,
|
||||
{
|
||||
using CppTools::ClangCompilerOptionsBuilder;
|
||||
|
||||
setUsable(false);
|
||||
setRefactoringEngineAvailable(false);
|
||||
|
||||
m_client.setLocalRenamingCallback(std::move(renameSymbolsCallback));
|
||||
|
||||
@@ -89,14 +89,14 @@ void RefactoringEngine::startGlobalRenaming(const CppTools::CursorInEditor &)
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
bool RefactoringEngine::isUsable() const
|
||||
bool RefactoringEngine::isRefactoringEngineAvailable() const
|
||||
{
|
||||
return m_server.isUsable();
|
||||
return m_server.isAvailable();
|
||||
}
|
||||
|
||||
void RefactoringEngine::setUsable(bool isUsable)
|
||||
void RefactoringEngine::setRefactoringEngineAvailable(bool isAvailable)
|
||||
{
|
||||
m_server.setUsable(isUsable);
|
||||
m_server.setAvailable(isAvailable);
|
||||
}
|
||||
|
||||
} // namespace ClangRefactoring
|
||||
|
||||
@@ -48,8 +48,8 @@ public:
|
||||
RenameCallback &&renameSymbolsCallback) override;
|
||||
void startGlobalRenaming(const CppTools::CursorInEditor &data) override;
|
||||
|
||||
bool isUsable() const override;
|
||||
void setUsable(bool isUsable);
|
||||
bool isRefactoringEngineAvailable() const override;
|
||||
void setRefactoringEngineAvailable(bool isAvailable);
|
||||
|
||||
ClangBackEnd::FilePathCachingInterface &filePathCache()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user