Merge CppTools into CppEditor

There was no proper separation of responsibilities between these
plugins. In particular, CppTools had lots of editor-related
functionality, so it's not clear why it was separated out in the first
place.
In fact, for a lot of code, it seemed quite arbitrary where it was put
(just one example: switchHeaderSource() was in CppTools, wheras
switchDeclarationDefinition() was in CppEditor).
Merging the plugins will enable us to get rid of various convoluted
pseudo-abstractions that were only introduced to keep up the artificial
separation.

Change-Id: Iafc3bce625b4794f6d4aa03df6cddc7f2d26716a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
Christian Kandeler
2021-08-30 10:58:08 +02:00
parent 3e1fa0f170
commit 284817fae6
525 changed files with 3705 additions and 4179 deletions

View File

@@ -1,5 +1,5 @@
add_qtc_plugin(ClassView
PLUGIN_DEPENDS Core CppTools ProjectExplorer TextEditor
PLUGIN_DEPENDS Core CppEditor ProjectExplorer TextEditor
SOURCES
classviewconstants.h
classviewmanager.cpp classviewmanager.h

View File

@@ -8,7 +8,7 @@ QtcPlugin {
Depends { name: "Utils" }
Depends { name: "Core" }
Depends { name: "CppTools" }
Depends { name: "CppEditor" }
Depends { name: "ProjectExplorer" }
Depends { name: "TextEditor" }

View File

@@ -5,6 +5,6 @@ QTC_LIB_DEPENDS += \
utils
QTC_PLUGIN_DEPENDS += \
coreplugin \
cpptools \
cppeditor \
projectexplorer \
texteditor

View File

@@ -32,8 +32,8 @@
#include <utils/qtcassert.h>
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/session.h>
#include <cpptools/cppmodelmanager.h>
#include <cpptools/cpptoolsconstants.h>
#include <cppeditor/cppeditorconstants.h>
#include <cppeditor/cppmodelmanager.h>
#include <coreplugin/progressmanager/progressmanager.h>
#include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/editormanager/ieditor.h>
@@ -251,7 +251,7 @@ void Manager::initialize()
// connect to the progress manager for signals about Parsing tasks
connect(ProgressManager::instance(), &ProgressManager::taskStarted,
this, [this](Id type) {
if (type != CppTools::Constants::TASK_INDEX)
if (type != CppEditor::Constants::TASK_INDEX)
return;
// disable tree updates to speed up
@@ -260,7 +260,7 @@ void Manager::initialize()
});
connect(ProgressManager::instance(), &ProgressManager::allTasksFinished,
this, [this](Id type) {
if (type != CppTools::Constants::TASK_INDEX)
if (type != CppEditor::Constants::TASK_INDEX)
return;
// parsing is finished, enable tree updates
@@ -287,10 +287,10 @@ void Manager::initialize()
}, Qt::QueuedConnection);
// connect to the cpp model manager for signals about document updates
CppTools::CppModelManager *codeModelManager = CppTools::CppModelManager::instance();
CppEditor::CppModelManager *codeModelManager = CppEditor::CppModelManager::instance();
// when code manager signals that document is updated - handle it by ourselves
connect(codeModelManager, &CppTools::CppModelManager::documentUpdated,
connect(codeModelManager, &CppEditor::CppModelManager::documentUpdated,
this, [this](CPlusPlus::Document::Ptr doc) {
// do nothing if Manager is disabled
if (!state())
@@ -317,7 +317,7 @@ void Manager::initialize()
}, Qt::QueuedConnection);
});
connect(codeModelManager, &CppTools::CppModelManager::aboutToRemoveFiles,
connect(codeModelManager, &CppEditor::CppModelManager::aboutToRemoveFiles,
d->m_parser, &Parser::removeFiles, Qt::QueuedConnection);
}

View File

@@ -31,7 +31,7 @@
#include <cplusplus/Symbol.h>
// other
#include <cpptools/cppmodelmanager.h>
#include <cppeditor/cppmodelmanager.h>
#include <utils/algorithm.h>
#include <utils/qtcassert.h>
@@ -281,7 +281,7 @@ ParserTreeItem::ConstPtr Parser::getCachedOrParseDocumentTree(const CPlusPlus::D
void Parser::updateDocuments(const QSet<FilePath> &documentPaths)
{
updateDocumentsFromSnapshot(documentPaths, CppTools::CppModelManager::instance()->snapshot());
updateDocumentsFromSnapshot(documentPaths, CppEditor::CppModelManager::instance()->snapshot());
}
void Parser::updateDocumentsFromSnapshot(const QSet<FilePath> &documentPaths,
@@ -324,7 +324,7 @@ void Parser::resetData(const QHash<FilePath, QPair<QString, FilePaths>> &project
d->m_projectCache.clear();
d->m_documentCache.clear();
const CPlusPlus::Snapshot &snapshot = CppTools::CppModelManager::instance()->snapshot();
const CPlusPlus::Snapshot &snapshot = CppEditor::CppModelManager::instance()->snapshot();
for (auto it = projects.cbegin(); it != projects.cend(); ++it) {
const auto projectData = it.value();
QSet<FilePath> commonFiles;
@@ -344,7 +344,7 @@ void Parser::resetData(const QHash<FilePath, QPair<QString, FilePaths>> &project
void Parser::addProject(const FilePath &projectPath, const QString &projectName,
const FilePaths &filesInProject)
{
const CPlusPlus::Snapshot &snapshot = CppTools::CppModelManager::instance()->snapshot();
const CPlusPlus::Snapshot &snapshot = CppEditor::CppModelManager::instance()->snapshot();
QSet<FilePath> commonFiles;
for (const auto &fileInProject : filesInProject) {
CPlusPlus::Document::Ptr doc = snapshot.document(fileInProject);