CppTools: Use only const pointers for ProjectInfo and ProjectPart

All members were already const, but this makes it clear at all points of
use that these data structures are immutable.

Change-Id: Iea615c090bde462c445d15223caccc561b0c713d
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
Christian Kandeler
2021-08-20 11:21:06 +02:00
parent 5d8551559a
commit a952500e90
70 changed files with 284 additions and 271 deletions

View File

@@ -255,7 +255,7 @@ void AutoTestUnitTests::testCodeParserBoostTest()
QFETCH(QString, projectFilePath);
QFETCH(QString, extension);
CppTools::Tests::ProjectOpenerAndCloser projectManager;
const CppTools::ProjectInfo::Ptr projectInfo
const CppTools::ProjectInfo::ConstPtr projectInfo
= projectManager.open(projectFilePath, true, m_kit);
QVERIFY(projectInfo);

View File

@@ -126,10 +126,11 @@ bool BoostTestParser::processDocument(QFutureInterface<TestParseResultPtr> futur
return false;
const CppTools::CppModelManager *modelManager = CppTools::CppModelManager::instance();
const QList<CppTools::ProjectPart::Ptr> projectParts = modelManager->projectPart(fileName);
const QList<CppTools::ProjectPart::ConstPtr> projectParts
= modelManager->projectPart(fileName);
if (projectParts.isEmpty()) // happens if shutting down while parsing
return false;
const CppTools::ProjectPart::Ptr projectPart = projectParts.first();
const CppTools::ProjectPart::ConstPtr projectPart = projectParts.first();
const auto projectFile = Utils::FilePath::fromString(projectPart->projectFile);
const QByteArray &fileContent = getFileContent(fileName);

View File

@@ -133,11 +133,11 @@ bool CatchTestParser::processDocument(QFutureInterface<TestParseResultPtr> futur
}
const QList<CppTools::ProjectPart::Ptr> projectParts = modelManager->projectPart(fileName);
const QList<CppTools::ProjectPart::ConstPtr> projectParts = modelManager->projectPart(fileName);
if (projectParts.isEmpty()) // happens if shutting down while parsing
return false;
Utils::FilePath proFile;
const CppTools::ProjectPart::Ptr projectPart = projectParts.first();
const CppTools::ProjectPart::ConstPtr projectPart = projectParts.first();
proFile = Utils::FilePath::fromString(projectPart->projectFile);
CatchCodeParser codeParser(fileContent, projectPart->languageFeatures);

View File

@@ -116,7 +116,7 @@ bool GTestParser::processDocument(QFutureInterface<TestParseResultPtr> futureInt
const QMap<GTestCaseSpec, GTestCodeLocationList> result = visitor.gtestFunctions();
Utils::FilePath proFile;
const QList<CppTools::ProjectPart::Ptr> &ppList = modelManager->projectPart(filePath);
const QList<CppTools::ProjectPart::ConstPtr> &ppList = modelManager->projectPart(filePath);
if (!ppList.isEmpty())
proFile = Utils::FilePath::fromString(ppList.first()->projectFile);
else

View File

@@ -528,10 +528,10 @@ QSet<QString> internalTargets(const TestTreeItem &item)
return {};
const Utils::FilePath filePath = item.filePath();
const QString file = filePath.toString();
const QVector<CppTools::ProjectPart::Ptr> projectParts = projectInfo->projectParts();
const QVector<CppTools::ProjectPart::ConstPtr> projectParts = projectInfo->projectParts();
if (projectParts.isEmpty())
return cppMM->dependingInternalTargets(item.filePath());
for (const CppTools::ProjectPart::Ptr &projectPart : projectParts) {
for (const CppTools::ProjectPart::ConstPtr &projectPart : projectParts) {
if (Utils::FilePath::fromString(projectPart->projectFile) == item.proFile()
&& Utils::anyOf(projectPart->files, [&file] (const CppTools::ProjectFile &pf) {
return pf.path == file;

View File

@@ -54,7 +54,7 @@ void CppParser::init(const Utils::FilePaths &filesToParse, bool fullParse)
bool CppParser::selectedForBuilding(const Utils::FilePath &fileName)
{
QList<CppTools::ProjectPart::Ptr> projParts =
QList<CppTools::ProjectPart::ConstPtr> projParts =
CppTools::CppModelManager::instance()->projectPart(fileName);
return !projParts.isEmpty() && projParts.at(0)->selectedForBuilding;
@@ -83,7 +83,7 @@ bool precompiledHeaderContains(const CPlusPlus::Snapshot &snapshot,
const std::function<bool(const QString &)> &checker)
{
const CppTools::CppModelManager *modelManager = CppTools::CppModelManager::instance();
const QList<CppTools::ProjectPart::Ptr> projectParts = modelManager->projectPart(filePath);
const QList<CppTools::ProjectPart::ConstPtr> projectParts = modelManager->projectPart(filePath);
if (projectParts.isEmpty())
return false;
const QStringList precompiledHeaders = projectParts.first()->precompiledHeaders;

View File

@@ -92,7 +92,8 @@ bool LoadProjectScenario::loadProject()
CppTools::Tests::ProjectOpenerAndCloser projectManager;
// This code must trigger a call to PluginManager::finishScenario() at some later point.
const CppTools::ProjectInfo::Ptr projectInfo = projectManager.open(projectFilePath, true, m_kit);
const CppTools::ProjectInfo::ConstPtr projectInfo = projectManager.open(projectFilePath,
true, m_kit);
return projectInfo.get();
}

View File

@@ -93,7 +93,7 @@ static bool includesQtTest(const CPlusPlus::Document::Ptr &doc, const CPlusPlus:
static bool qtTestLibDefined(const Utils::FilePath &fileName)
{
const QList<CppTools::ProjectPart::Ptr> parts =
const QList<CppTools::ProjectPart::ConstPtr> parts =
CppTools::CppModelManager::instance()->projectPart(fileName);
if (parts.size() > 0) {
return Utils::anyOf(parts.at(0)->projectMacros, [] (const ProjectExplorer::Macro &macro) {
@@ -327,7 +327,8 @@ bool QtTestParser::processDocument(QFutureInterface<TestParseResultPtr> futureIn
if (earlyReturn.has_value() || !data.valid)
continue;
QList<CppTools::ProjectPart::Ptr> projectParts = modelManager->projectPart(fileName);
QList<CppTools::ProjectPart::ConstPtr> projectParts
= modelManager->projectPart(fileName);
if (projectParts.isEmpty()) // happens if shutting down while parsing
return false;

View File

@@ -101,7 +101,7 @@ static bool includesQtQuickTest(const CPlusPlus::Document::Ptr &doc,
static QString quickTestSrcDir(const CppTools::CppModelManager *cppMM,
const Utils::FilePath &fileName)
{
const QList<CppTools::ProjectPart::Ptr> parts = cppMM->projectPart(fileName);
const QList<CppTools::ProjectPart::ConstPtr> parts = cppMM->projectPart(fileName);
if (parts.size() > 0) {
const ProjectExplorer::Macros &macros = parts.at(0)->projectMacros;
auto found = std::find_if(
@@ -267,7 +267,7 @@ bool QuickTestParser::handleQtQuickTest(QFutureInterface<TestParseResultPtr> fut
if (quickTestName(document).isEmpty())
return false;
QList<CppTools::ProjectPart::Ptr> ppList = modelManager->projectPart(document->fileName());
QList<CppTools::ProjectPart::ConstPtr> ppList = modelManager->projectPart(document->fileName());
if (ppList.isEmpty()) // happens if shutting down while parsing
return false;
const Utils::FilePath cppFileName = Utils::FilePath::fromString(document->fileName());

View File

@@ -391,7 +391,7 @@ QSet<QString> internalTargets(const Utils::FilePath &proFile)
const auto projectInfo = cppMM->projectInfo(ProjectExplorer::SessionManager::startupProject());
if (!projectInfo)
return {};
for (const CppTools::ProjectPart::Ptr &projectPart : projectInfo->projectParts()) {
for (const CppTools::ProjectPart::ConstPtr &projectPart : projectInfo->projectParts()) {
if (projectPart->buildTargetType != ProjectExplorer::BuildTargetType::Executable)
continue;
if (projectPart->projectFile == proFile.toString())