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

@@ -27,8 +27,8 @@
#include "qttestframework.h"
#include "qttestvisitors.h"
#include <cpptools/cppmodelmanager.h>
#include <cpptools/projectpart.h>
#include <cppeditor/cppmodelmanager.h>
#include <cppeditor/projectpart.h>
#include <cplusplus/TypeOfExpression.h>
#include <utils/algorithm.h>
@@ -93,8 +93,8 @@ static bool includesQtTest(const CPlusPlus::Document::Ptr &doc, const CPlusPlus:
static bool qtTestLibDefined(const Utils::FilePath &fileName)
{
const QList<CppTools::ProjectPart::ConstPtr> parts =
CppTools::CppModelManager::instance()->projectPart(fileName);
const QList<CppEditor::ProjectPart::ConstPtr> parts =
CppEditor::CppModelManager::instance()->projectPart(fileName);
if (parts.size() > 0) {
return Utils::anyOf(parts.at(0)->projectMacros, [] (const ProjectExplorer::Macro &macro) {
return macro.key == "QT_TESTLIB_LIB";
@@ -103,7 +103,7 @@ static bool qtTestLibDefined(const Utils::FilePath &fileName)
return false;
}
TestCases QtTestParser::testCases(const CppTools::CppModelManager *modelManager,
TestCases QtTestParser::testCases(const CppEditor::CppModelManager *modelManager,
const Utils::FilePath &fileName) const
{
const QByteArray &fileContent = getFileContent(fileName);
@@ -314,7 +314,7 @@ bool QtTestParser::processDocument(QFutureInterface<TestParseResultPtr> &futureI
return false;
}
const CppTools::CppModelManager *modelManager = CppTools::CppModelManager::instance();
const CppEditor::CppModelManager *modelManager = CppEditor::CppModelManager::instance();
TestCases testCaseList(testCases(modelManager, fileName));
bool reported = false;
// we might be in a reparse without the original entry point with the QTest::qExec()
@@ -327,7 +327,7 @@ bool QtTestParser::processDocument(QFutureInterface<TestParseResultPtr> &futureI
if (earlyReturn.has_value() || !data.valid)
continue;
QList<CppTools::ProjectPart::ConstPtr> projectParts
QList<CppEditor::ProjectPart::ConstPtr> projectParts
= modelManager->projectPart(fileName);
if (projectParts.isEmpty()) // happens if shutting down while parsing
return false;