forked from qt-creator/qt-creator
LanguageClient: Pass out a mutable Project object
Callers can have legitimate reasons to use it in a non-const manner. Change-Id: Id91a4708dd95845661b291ce7cc9ee1581bdade8 Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -433,10 +433,7 @@ void ClangModelManagerSupport::watchForExternalChanges()
|
|||||||
if (client && client->state() != Client::Shutdown
|
if (client && client->state() != Client::Shutdown
|
||||||
&& client->state() != Client::ShutdownRequested
|
&& client->state() != Client::ShutdownRequested
|
||||||
&& !projectIsParsing(client->project())) {
|
&& !projectIsParsing(client->project())) {
|
||||||
|
ProjectExplorer::Project * const project = client->project();
|
||||||
// FIXME: Lots of const-incorrectness along the call chain of updateLanguageClient().
|
|
||||||
const auto project = const_cast<ProjectExplorer::Project *>(client->project());
|
|
||||||
|
|
||||||
updateLanguageClient(project, CppModelManager::instance()->projectInfo(project));
|
updateLanguageClient(project, CppModelManager::instance()->projectInfo(project));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -928,7 +928,7 @@ void Client::executeCommand(const Command &command)
|
|||||||
sendContent(ExecuteCommandRequest(ExecuteCommandParams(command)));
|
sendContent(ExecuteCommandRequest(ExecuteCommandParams(command)));
|
||||||
}
|
}
|
||||||
|
|
||||||
const ProjectExplorer::Project *Client::project() const
|
ProjectExplorer::Project *Client::project() const
|
||||||
{
|
{
|
||||||
return m_project;
|
return m_project;
|
||||||
}
|
}
|
||||||
|
@@ -157,7 +157,7 @@ public:
|
|||||||
|
|
||||||
// workspace control
|
// workspace control
|
||||||
virtual void setCurrentProject(ProjectExplorer::Project *project);
|
virtual void setCurrentProject(ProjectExplorer::Project *project);
|
||||||
const ProjectExplorer::Project *project() const;
|
ProjectExplorer::Project *project() const;
|
||||||
virtual void projectOpened(ProjectExplorer::Project *project);
|
virtual void projectOpened(ProjectExplorer::Project *project);
|
||||||
virtual void projectClosed(ProjectExplorer::Project *project);
|
virtual void projectClosed(ProjectExplorer::Project *project);
|
||||||
|
|
||||||
@@ -280,7 +280,7 @@ private:
|
|||||||
DocumentSymbolCache m_documentSymbolCache;
|
DocumentSymbolCache m_documentSymbolCache;
|
||||||
HoverHandler m_hoverHandler;
|
HoverHandler m_hoverHandler;
|
||||||
QHash<LanguageServerProtocol::DocumentUri, TextEditor::HighlightingResults> m_highlights;
|
QHash<LanguageServerProtocol::DocumentUri, TextEditor::HighlightingResults> m_highlights;
|
||||||
const ProjectExplorer::Project *m_project = nullptr;
|
ProjectExplorer::Project *m_project = nullptr;
|
||||||
QSet<TextEditor::IAssistProcessor *> m_runningAssistProcessors;
|
QSet<TextEditor::IAssistProcessor *> m_runningAssistProcessors;
|
||||||
SymbolSupport m_symbolSupport;
|
SymbolSupport m_symbolSupport;
|
||||||
ProgressManager m_progressManager;
|
ProgressManager m_progressManager;
|
||||||
|
Reference in New Issue
Block a user