forked from qt-creator/qt-creator
ClangModelManagerSupport: Drop namespace scopes
Change-Id: Id8d9474a35e367469b435d10b3eba0700dffc304 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
@@ -52,6 +52,7 @@
|
||||
#include <QTimer>
|
||||
#include <QtDebug>
|
||||
|
||||
using namespace Core;
|
||||
using namespace CppEditor;
|
||||
using namespace LanguageClient;
|
||||
using namespace ProjectExplorer;
|
||||
@@ -59,16 +60,16 @@ using namespace Utils;
|
||||
|
||||
namespace ClangCodeModel::Internal {
|
||||
|
||||
static CppEditor::CppModelManager *cppModelManager()
|
||||
static CppModelManager *cppModelManager()
|
||||
{
|
||||
return CppEditor::CppModelManager::instance();
|
||||
return CppModelManager::instance();
|
||||
}
|
||||
|
||||
static ProjectExplorer::Project *fallbackProject()
|
||||
static Project *fallbackProject()
|
||||
{
|
||||
if (ProjectExplorer::Project * const p = ProjectExplorer::ProjectTree::currentProject())
|
||||
if (Project * const p = ProjectTree::currentProject())
|
||||
return p;
|
||||
return ProjectExplorer::ProjectManager::startupProject();
|
||||
return ProjectManager::startupProject();
|
||||
}
|
||||
|
||||
static bool sessionModeEnabled()
|
||||
@@ -78,18 +79,17 @@ static bool sessionModeEnabled()
|
||||
|
||||
static const QList<TextEditor::TextDocument *> allCppDocuments()
|
||||
{
|
||||
const auto isCppDocument = Utils::equal(&Core::IDocument::id,
|
||||
Utils::Id(CppEditor::Constants::CPPEDITOR_ID));
|
||||
const QList<Core::IDocument *> documents
|
||||
= Utils::filtered(Core::DocumentModel::openedDocuments(), isCppDocument);
|
||||
const auto isCppDocument = Utils::equal(&IDocument::id, Id(CppEditor::Constants::CPPEDITOR_ID));
|
||||
const QList<IDocument *> documents = Utils::filtered(DocumentModel::openedDocuments(),
|
||||
isCppDocument);
|
||||
return Utils::qobject_container_cast<TextEditor::TextDocument *>(documents);
|
||||
}
|
||||
|
||||
static const QList<ProjectExplorer::Project *> projectsForClient(const Client *client)
|
||||
static const QList<Project *> projectsForClient(const Client *client)
|
||||
{
|
||||
QList<ProjectExplorer::Project *> projects;
|
||||
QList<Project *> projects;
|
||||
if (sessionModeEnabled()) {
|
||||
for (ProjectExplorer::Project * const p : ProjectExplorer::ProjectManager::projects()) {
|
||||
for (Project * const p : ProjectManager::projects()) {
|
||||
if (ClangdProjectSettings(p).settings().useClangd)
|
||||
projects << p;
|
||||
}
|
||||
@@ -101,7 +101,7 @@ static const QList<ProjectExplorer::Project *> projectsForClient(const Client *c
|
||||
|
||||
static bool fileIsProjectBuildArtifact(const Client *client, const FilePath &filePath)
|
||||
{
|
||||
for (const ProjectExplorer::Project * const p : projectsForClient(client)) {
|
||||
for (const Project * const p : projectsForClient(client)) {
|
||||
if (const auto t = p->activeTarget()) {
|
||||
if (const auto bc = t->activeBuildConfiguration()) {
|
||||
if (filePath.isChildOf(bc->buildDirectory()))
|
||||
@@ -146,15 +146,15 @@ static void checkSystemForClangdSuitability()
|
||||
"You can enable/disable and fine-tune clangd <a href=\"dummy\">here</a>."));
|
||||
label->setWordWrap(true);
|
||||
QObject::connect(label, &QLabel::linkActivated, [] {
|
||||
Core::ICore::showOptionsDialog(CppEditor::Constants::CPP_CLANGD_SETTINGS_ID);
|
||||
ICore::showOptionsDialog(CppEditor::Constants::CPP_CLANGD_SETTINGS_ID);
|
||||
});
|
||||
return label;
|
||||
});
|
||||
info.addCustomButton(Tr::tr("Enable Anyway"), [clangdWarningSetting] {
|
||||
ClangdSettings::setUseClangdAndSave(true);
|
||||
Core::ICore::infoBar()->removeInfo(clangdWarningSetting);
|
||||
ICore::infoBar()->removeInfo(clangdWarningSetting);
|
||||
});
|
||||
Core::ICore::infoBar()->addInfo(info);
|
||||
ICore::infoBar()->addInfo(info);
|
||||
}
|
||||
|
||||
static void updateParserConfig(ClangdClient *client)
|
||||
@@ -172,8 +172,8 @@ static void updateParserConfig(ClangdClient *client)
|
||||
|
||||
static bool projectIsParsing(const ClangdClient *client)
|
||||
{
|
||||
for (const ProjectExplorer::Project * const p : projectsForClient(client)) {
|
||||
const ProjectExplorer::BuildSystem * const bs = p && p->activeTarget()
|
||||
for (const Project * const p : projectsForClient(client)) {
|
||||
const BuildSystem * const bs = p && p->activeTarget()
|
||||
? p->activeTarget()->buildSystem() : nullptr;
|
||||
if (bs && (bs->isParsing() || bs->isWaitingForParse()))
|
||||
return true;
|
||||
@@ -181,7 +181,6 @@ static bool projectIsParsing(const ClangdClient *client)
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
ClangModelManagerSupport::ClangModelManagerSupport()
|
||||
: m_clientRestartTimer(new QTimer(this))
|
||||
{
|
||||
@@ -206,20 +205,20 @@ ClangModelManagerSupport::ClangModelManagerSupport()
|
||||
cppModelManager()->setClassesFilter(std::make_unique<ClangClassesFilter>());
|
||||
cppModelManager()->setFunctionsFilter(std::make_unique<ClangFunctionsFilter>());
|
||||
|
||||
Core::EditorManager *editorManager = Core::EditorManager::instance();
|
||||
connect(editorManager, &Core::EditorManager::editorOpened,
|
||||
EditorManager *editorManager = EditorManager::instance();
|
||||
connect(editorManager, &EditorManager::editorOpened,
|
||||
this, &ClangModelManagerSupport::onEditorOpened);
|
||||
connect(editorManager, &Core::EditorManager::currentEditorChanged,
|
||||
connect(editorManager, &EditorManager::currentEditorChanged,
|
||||
this, &ClangModelManagerSupport::onCurrentEditorChanged);
|
||||
|
||||
CppEditor::CppModelManager *modelManager = cppModelManager();
|
||||
connect(modelManager, &CppEditor::CppModelManager::abstractEditorSupportContentsUpdated,
|
||||
CppModelManager *modelManager = cppModelManager();
|
||||
connect(modelManager, &CppModelManager::abstractEditorSupportContentsUpdated,
|
||||
this, &ClangModelManagerSupport::onAbstractEditorSupportContentsUpdated);
|
||||
connect(modelManager, &CppEditor::CppModelManager::abstractEditorSupportRemoved,
|
||||
connect(modelManager, &CppModelManager::abstractEditorSupportRemoved,
|
||||
this, &ClangModelManagerSupport::onAbstractEditorSupportRemoved);
|
||||
connect(modelManager, &CppEditor::CppModelManager::projectPartsUpdated,
|
||||
connect(modelManager, &CppModelManager::projectPartsUpdated,
|
||||
this, &ClangModelManagerSupport::onProjectPartsUpdated);
|
||||
connect(modelManager, &CppEditor::CppModelManager::projectPartsRemoved,
|
||||
connect(modelManager, &CppModelManager::projectPartsRemoved,
|
||||
this, &ClangModelManagerSupport::onProjectPartsRemoved);
|
||||
connect(modelManager, &CppModelManager::fallbackProjectPartUpdated, this, [this] {
|
||||
if (sessionModeEnabled())
|
||||
@@ -230,9 +229,8 @@ ClangModelManagerSupport::ClangModelManagerSupport()
|
||||
}
|
||||
});
|
||||
|
||||
auto projectManager = ProjectExplorer::ProjectManager::instance();
|
||||
connect(projectManager, &ProjectExplorer::ProjectManager::projectRemoved,
|
||||
this, [this] {
|
||||
auto projectManager = ProjectManager::instance();
|
||||
connect(projectManager, &ProjectManager::projectRemoved, this, [this] {
|
||||
if (!sessionModeEnabled())
|
||||
claimNonProjectSources(clientForProject(fallbackProject()));
|
||||
});
|
||||
@@ -241,11 +239,11 @@ ClangModelManagerSupport::ClangModelManagerSupport()
|
||||
onClangdSettingsChanged();
|
||||
});
|
||||
|
||||
CppEditor::ClangdSettings::setDefaultClangdPath(Core::ICore::clangdExecutable(CLANG_BINDIR));
|
||||
connect(&CppEditor::ClangdSettings::instance(), &CppEditor::ClangdSettings::changed,
|
||||
ClangdSettings::setDefaultClangdPath(ICore::clangdExecutable(CLANG_BINDIR));
|
||||
connect(&ClangdSettings::instance(), &ClangdSettings::changed,
|
||||
this, &ClangModelManagerSupport::onClangdSettingsChanged);
|
||||
|
||||
if (CppEditor::ClangdSettings::instance().useClangd())
|
||||
if (ClangdSettings::instance().useClangd())
|
||||
new ClangdClient(nullptr, {});
|
||||
|
||||
m_generatorSynchronizer.setCancelOnWait(true);
|
||||
@@ -257,9 +255,9 @@ ClangModelManagerSupport::~ClangModelManagerSupport()
|
||||
m_generatorSynchronizer.waitForFinished();
|
||||
}
|
||||
|
||||
void ClangModelManagerSupport::followSymbol(const CppEditor::CursorInEditor &data,
|
||||
const LinkHandler &processLinkCallback, bool resolveTarget,
|
||||
bool inNextSplit)
|
||||
void ClangModelManagerSupport::followSymbol(const CursorInEditor &data,
|
||||
const LinkHandler &processLinkCallback,
|
||||
bool resolveTarget, bool inNextSplit)
|
||||
{
|
||||
if (ClangdClient * const client = clientForFile(data.filePath());
|
||||
client && client->isFullyIndexed()) {
|
||||
@@ -272,7 +270,7 @@ void ClangModelManagerSupport::followSymbol(const CppEditor::CursorInEditor &dat
|
||||
CppModelManager::Backend::Builtin);
|
||||
}
|
||||
|
||||
void ClangModelManagerSupport::followSymbolToType(const CppEditor::CursorInEditor &data,
|
||||
void ClangModelManagerSupport::followSymbolToType(const CursorInEditor &data,
|
||||
const LinkHandler &processLinkCallback,
|
||||
bool inNextSplit)
|
||||
{
|
||||
@@ -285,8 +283,8 @@ void ClangModelManagerSupport::followSymbolToType(const CppEditor::CursorInEdito
|
||||
CppModelManager::Backend::Builtin);
|
||||
}
|
||||
|
||||
void ClangModelManagerSupport::switchDeclDef(const CppEditor::CursorInEditor &data,
|
||||
const LinkHandler &processLinkCallback)
|
||||
void ClangModelManagerSupport::switchDeclDef(const CursorInEditor &data,
|
||||
const LinkHandler &processLinkCallback)
|
||||
{
|
||||
if (ClangdClient * const client = clientForFile(data.filePath());
|
||||
client && client->isFullyIndexed()) {
|
||||
@@ -298,9 +296,9 @@ void ClangModelManagerSupport::switchDeclDef(const CppEditor::CursorInEditor &da
|
||||
CppModelManager::switchDeclDef(data, processLinkCallback, CppModelManager::Backend::Builtin);
|
||||
}
|
||||
|
||||
void ClangModelManagerSupport::startLocalRenaming(const CppEditor::CursorInEditor &data,
|
||||
const CppEditor::ProjectPart *projectPart,
|
||||
RenameCallback &&renameSymbolsCallback)
|
||||
void ClangModelManagerSupport::startLocalRenaming(const CursorInEditor &data,
|
||||
const ProjectPart *projectPart,
|
||||
RenameCallback &&renameSymbolsCallback)
|
||||
{
|
||||
if (ClangdClient * const client = clientForFile(data.filePath());
|
||||
client && client->reachable()) {
|
||||
@@ -313,7 +311,7 @@ void ClangModelManagerSupport::startLocalRenaming(const CppEditor::CursorInEdito
|
||||
std::move(renameSymbolsCallback), CppModelManager::Backend::Builtin);
|
||||
}
|
||||
|
||||
void ClangModelManagerSupport::globalRename(const CppEditor::CursorInEditor &cursor,
|
||||
void ClangModelManagerSupport::globalRename(const CursorInEditor &cursor,
|
||||
const QString &replacement,
|
||||
const std::function<void()> &callback)
|
||||
{
|
||||
@@ -327,7 +325,7 @@ void ClangModelManagerSupport::globalRename(const CppEditor::CursorInEditor &cur
|
||||
CppModelManager::globalRename(cursor, replacement, callback, CppModelManager::Backend::Builtin);
|
||||
}
|
||||
|
||||
void ClangModelManagerSupport::findUsages(const CppEditor::CursorInEditor &cursor) const
|
||||
void ClangModelManagerSupport::findUsages(const CursorInEditor &cursor) const
|
||||
{
|
||||
if (ClangdClient * const client = clientForFile(cursor.filePath());
|
||||
client && client->isFullyIndexed()) {
|
||||
@@ -348,11 +346,10 @@ void ClangModelManagerSupport::switchHeaderSource(const FilePath &filePath, bool
|
||||
CppModelManager::switchHeaderSource(inNextSplit, CppModelManager::Backend::Builtin);
|
||||
}
|
||||
|
||||
void ClangModelManagerSupport::checkUnused(const Link &link, Core::SearchResult *search,
|
||||
void ClangModelManagerSupport::checkUnused(const Link &link, SearchResult *search,
|
||||
const LinkHandler &callback)
|
||||
{
|
||||
if (const ProjectExplorer::Project * const project
|
||||
= ProjectExplorer::ProjectManager::projectForFile(link.targetFilePath)) {
|
||||
if (const Project * const project = ProjectManager::projectForFile(link.targetFilePath)) {
|
||||
if (ClangdClient * const client = clientWithProject(project);
|
||||
client && client->isFullyIndexed()) {
|
||||
client->checkUnused(link, search, callback);
|
||||
@@ -369,7 +366,7 @@ bool ClangModelManagerSupport::usesClangd(const TextEditor::TextDocument *docume
|
||||
return clientForFile(document->filePath());
|
||||
}
|
||||
|
||||
CppEditor::BaseEditorDocumentProcessor *ClangModelManagerSupport::createEditorDocumentProcessor(
|
||||
BaseEditorDocumentProcessor *ClangModelManagerSupport::createEditorDocumentProcessor(
|
||||
TextEditor::TextDocument *baseTextDocument)
|
||||
{
|
||||
const auto processor = new ClangEditorDocumentProcessor(baseTextDocument);
|
||||
@@ -383,10 +380,10 @@ CppEditor::BaseEditorDocumentProcessor *ClangModelManagerSupport::createEditorDo
|
||||
return processor;
|
||||
}
|
||||
|
||||
void ClangModelManagerSupport::onCurrentEditorChanged(Core::IEditor *editor)
|
||||
void ClangModelManagerSupport::onCurrentEditorChanged(IEditor *editor)
|
||||
{
|
||||
// Update task hub issues for current CppEditorDocument
|
||||
ProjectExplorer::TaskHub::clearTasks(Constants::TASK_CATEGORY_DIAGNOSTICS);
|
||||
TaskHub::clearTasks(Constants::TASK_CATEGORY_DIAGNOSTICS);
|
||||
if (!editor || !editor->document() || !cppModelManager()->isCppEditor(editor))
|
||||
return;
|
||||
|
||||
@@ -409,28 +406,25 @@ void ClangModelManagerSupport::connectToWidgetsMarkContextMenuRequested(QWidget
|
||||
}
|
||||
}
|
||||
|
||||
static FilePath getJsonDbDir(const ProjectExplorer::Project *project)
|
||||
static FilePath getJsonDbDir(const Project *project)
|
||||
{
|
||||
static const QString dirName(".qtc_clangd");
|
||||
if (!project) {
|
||||
const QString sessionDirName = FileUtils::fileSystemFriendlyName(
|
||||
ProjectExplorer::SessionManager::activeSession());
|
||||
return Core::ICore::userResourcePath() / dirName / sessionDirName; // TODO: Make configurable?
|
||||
SessionManager::activeSession());
|
||||
return ICore::userResourcePath() / dirName / sessionDirName; // TODO: Make configurable?
|
||||
}
|
||||
if (const ProjectExplorer::Target * const target = project->activeTarget()) {
|
||||
if (const ProjectExplorer::BuildConfiguration * const bc
|
||||
= target->activeBuildConfiguration()) {
|
||||
if (const Target * const target = project->activeTarget()) {
|
||||
if (const BuildConfiguration * const bc = target->activeBuildConfiguration())
|
||||
return bc->buildDirectory() / dirName;
|
||||
}
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
static bool isProjectDataUpToDate(
|
||||
ProjectExplorer::Project *project, ProjectInfoList projectInfo,
|
||||
const FilePath &jsonDbDir)
|
||||
static bool isProjectDataUpToDate(Project *project, ProjectInfoList projectInfo,
|
||||
const FilePath &jsonDbDir)
|
||||
{
|
||||
if (project && !ProjectExplorer::ProjectManager::hasProject(project))
|
||||
if (project && !ProjectManager::hasProject(project))
|
||||
return false;
|
||||
const ClangdSettings settings(ClangdProjectSettings(project).settings());
|
||||
if (!settings.useClangd())
|
||||
@@ -459,7 +453,7 @@ static bool isProjectDataUpToDate(
|
||||
return true;
|
||||
}
|
||||
|
||||
void ClangModelManagerSupport::updateLanguageClient(ProjectExplorer::Project *project)
|
||||
void ClangModelManagerSupport::updateLanguageClient(Project *project)
|
||||
{
|
||||
const ClangdSettings settings(ClangdProjectSettings(project).settings());
|
||||
if (!settings.useClangd())
|
||||
@@ -485,12 +479,12 @@ void ClangModelManagerSupport::updateLanguageClient(ProjectExplorer::Project *pr
|
||||
return;
|
||||
const GenerateCompilationDbResult result = generatorWatcher->result();
|
||||
if (!result.error.isEmpty()) {
|
||||
Core::MessageManager::writeDisrupting(
|
||||
MessageManager::writeDisrupting(
|
||||
Tr::tr("Cannot use clangd: Failed to generate compilation database:\n%1")
|
||||
.arg(result.error));
|
||||
return;
|
||||
}
|
||||
Utils::Id previousId;
|
||||
Id previousId;
|
||||
if (Client * const oldClient = clientForProject(project)) {
|
||||
previousId = oldClient->id();
|
||||
LanguageClientManager::shutdownClient(oldClient);
|
||||
@@ -593,18 +587,17 @@ void ClangModelManagerSupport::updateLanguageClient(ProjectExplorer::Project *pr
|
||||
m_generatorSynchronizer.addFuture(future);
|
||||
}
|
||||
|
||||
ClangdClient *ClangModelManagerSupport::clientForProject(const ProjectExplorer::Project *project)
|
||||
ClangdClient *ClangModelManagerSupport::clientForProject(const Project *project)
|
||||
{
|
||||
if (sessionModeEnabled())
|
||||
project = nullptr;
|
||||
return clientWithProject(project);
|
||||
}
|
||||
|
||||
ClangdClient *ClangModelManagerSupport::clientWithProject(const ProjectExplorer::Project *project)
|
||||
ClangdClient *ClangModelManagerSupport::clientWithProject(const Project *project)
|
||||
{
|
||||
const QList<Client *> clients = Utils::filtered(
|
||||
LanguageClientManager::clientsForProject(project),
|
||||
[](const LanguageClient::Client *c) {
|
||||
LanguageClientManager::clientsForProject(project), [](const Client *c) {
|
||||
return qobject_cast<const ClangdClient *>(c)
|
||||
&& c->state() != Client::ShutdownRequested
|
||||
&& c->state() != Client::Shutdown;
|
||||
@@ -642,7 +635,7 @@ void ClangModelManagerSupport::claimNonProjectSources(ClangdClient *client)
|
||||
}
|
||||
if (!ClangdSettings::instance().sizeIsOkay(doc->filePath()))
|
||||
continue;
|
||||
if (ProjectExplorer::ProjectManager::projectForFile(doc->filePath()))
|
||||
if (ProjectManager::projectForFile(doc->filePath()))
|
||||
continue;
|
||||
if (client->project() && !ProjectFile::isHeader(doc->filePath()))
|
||||
continue;
|
||||
@@ -658,7 +651,7 @@ void ClangModelManagerSupport::claimNonProjectSources(ClangdClient *client)
|
||||
// workflow, e.g. a git branch switch will hit at least one open file.
|
||||
void ClangModelManagerSupport::watchForExternalChanges()
|
||||
{
|
||||
connect(Core::DocumentManager::instance(), &Core::DocumentManager::filesChangedExternally,
|
||||
connect(DocumentManager::instance(), &DocumentManager::filesChangedExternally,
|
||||
this, [this](const QSet<FilePath> &files) {
|
||||
if (!LanguageClientManager::hasClients<ClangdClient>())
|
||||
return;
|
||||
@@ -666,8 +659,7 @@ void ClangModelManagerSupport::watchForExternalChanges()
|
||||
const ProjectFile::Kind kind = ProjectFile::classify(file.toString());
|
||||
if (!ProjectFile::isSource(kind) && !ProjectFile::isHeader(kind))
|
||||
continue;
|
||||
ProjectExplorer::Project * const project
|
||||
= ProjectExplorer::ProjectManager::projectForFile(file);
|
||||
Project * const project = ProjectManager::projectForFile(file);
|
||||
if (!project)
|
||||
continue;
|
||||
|
||||
@@ -686,14 +678,13 @@ void ClangModelManagerSupport::watchForExternalChanges()
|
||||
// restart clangd for reliable re-parsing and re-indexing.
|
||||
void ClangModelManagerSupport::watchForInternalChanges()
|
||||
{
|
||||
connect(Core::DocumentManager::instance(), &Core::DocumentManager::filesChangedInternally,
|
||||
connect(DocumentManager::instance(), &DocumentManager::filesChangedInternally,
|
||||
this, [this](const FilePaths &filePaths) {
|
||||
for (const FilePath &fp : filePaths) {
|
||||
const ProjectFile::Kind kind = ProjectFile::classify(fp.toString());
|
||||
if (!ProjectFile::isSource(kind) && !ProjectFile::isHeader(kind))
|
||||
continue;
|
||||
ProjectExplorer::Project * const project
|
||||
= ProjectExplorer::ProjectManager::projectForFile(fp);
|
||||
Project * const project = ProjectManager::projectForFile(fp);
|
||||
if (!project)
|
||||
continue;
|
||||
if (ClangdClient * const client = clientForProject(project);
|
||||
@@ -719,18 +710,17 @@ void ClangModelManagerSupport::scheduleClientRestart(ClangdClient *client)
|
||||
m_clientRestartTimer->start();
|
||||
}
|
||||
|
||||
void ClangModelManagerSupport::onEditorOpened(Core::IEditor *editor)
|
||||
void ClangModelManagerSupport::onEditorOpened(IEditor *editor)
|
||||
{
|
||||
QTC_ASSERT(editor, return);
|
||||
Core::IDocument *document = editor->document();
|
||||
IDocument *document = editor->document();
|
||||
QTC_ASSERT(document, return);
|
||||
auto textDocument = qobject_cast<TextEditor::TextDocument *>(document);
|
||||
|
||||
if (textDocument && cppModelManager()->isCppEditor(editor)) {
|
||||
connectToWidgetsMarkContextMenuRequested(editor->widget());
|
||||
|
||||
ProjectExplorer::Project * project
|
||||
= ProjectExplorer::ProjectManager::projectForFile(document->filePath());
|
||||
Project * project = ProjectManager::projectForFile(document->filePath());
|
||||
const ClangdSettings settings(ClangdProjectSettings(project).settings());
|
||||
if (!settings.sizeIsOkay(textDocument->filePath()))
|
||||
return;
|
||||
@@ -825,17 +815,17 @@ static ClangEditorDocumentProcessors clangProcessors()
|
||||
return result;
|
||||
}
|
||||
|
||||
void ClangModelManagerSupport::onProjectPartsUpdated(ProjectExplorer::Project *project)
|
||||
void ClangModelManagerSupport::onProjectPartsUpdated(Project *project)
|
||||
{
|
||||
QTC_ASSERT(project, return);
|
||||
|
||||
updateLanguageClient(project);
|
||||
|
||||
QStringList projectPartIds;
|
||||
const CppEditor::ProjectInfo::ConstPtr projectInfo = cppModelManager()->projectInfo(project);
|
||||
const ProjectInfo::ConstPtr projectInfo = cppModelManager()->projectInfo(project);
|
||||
QTC_ASSERT(projectInfo, return);
|
||||
|
||||
for (const CppEditor::ProjectPart::ConstPtr &projectPart : projectInfo->projectParts())
|
||||
for (const ProjectPart::ConstPtr &projectPart : projectInfo->projectParts())
|
||||
projectPartIds.append(projectPart->id());
|
||||
onProjectPartsRemoved(projectPartIds);
|
||||
}
|
||||
@@ -850,9 +840,8 @@ void ClangModelManagerSupport::onClangdSettingsChanged()
|
||||
{
|
||||
const bool sessionMode = sessionModeEnabled();
|
||||
|
||||
for (ProjectExplorer::Project * const project : ProjectExplorer::ProjectManager::projects()) {
|
||||
const CppEditor::ClangdSettings settings(
|
||||
CppEditor::ClangdProjectSettings(project).settings());
|
||||
for (Project * const project : ProjectManager::projects()) {
|
||||
const ClangdSettings settings(ClangdProjectSettings(project).settings());
|
||||
ClangdClient * const client = clientWithProject(project);
|
||||
if (sessionMode) {
|
||||
if (client && client->project())
|
||||
|
Reference in New Issue
Block a user