Clang: Rename ForCodeCompletion in ForEditor

It reflects that the translation units and projects have a tied
relationship with an editor.

Change-Id: I3c01d5776980fe079af1fdef82feded83fdf5463
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
This commit is contained in:
Marco Bubke
2015-08-31 14:36:58 +02:00
parent 8ad7616420
commit 6e14eb6940
33 changed files with 388 additions and 389 deletions

View File

@@ -55,10 +55,10 @@
#include <clangbackendipc/cmbcodecompletedmessage.h>
#include <clangbackendipc/cmbcompletecodemessage.h>
#include <clangbackendipc/cmbechomessage.h>
#include <clangbackendipc/cmbregistertranslationunitsforcodecompletionmessage.h>
#include <clangbackendipc/cmbregisterprojectsforcodecompletionmessage.h>
#include <clangbackendipc/cmbunregistertranslationunitsforcodecompletionmessage.h>
#include <clangbackendipc/cmbunregisterprojectsforcodecompletionmessage.h>
#include <clangbackendipc/cmbregistertranslationunitsforeditormessage.h>
#include <clangbackendipc/cmbregisterprojectsforeditormessage.h>
#include <clangbackendipc/cmbunregistertranslationunitsforeditormessage.h>
#include <clangbackendipc/cmbunregisterprojectsforeditormessage.h>
#include <clangbackendipc/cmbmessages.h>
#include <clangbackendipc/requestdiagnosticsmessage.h>
#include <clangbackendipc/filecontainer.h>
@@ -191,10 +191,10 @@ public:
{}
void end() override;
void registerTranslationUnitsForCodeCompletion(const ClangBackEnd::RegisterTranslationUnitForCodeCompletionMessage &message) override;
void unregisterTranslationUnitsForCodeCompletion(const ClangBackEnd::UnregisterTranslationUnitsForCodeCompletionMessage &message) override;
void registerProjectPartsForCodeCompletion(const ClangBackEnd::RegisterProjectPartsForCodeCompletionMessage &message) override;
void unregisterProjectPartsForCodeCompletion(const ClangBackEnd::UnregisterProjectPartsForCodeCompletionMessage &message) override;
void registerTranslationUnitsForEditor(const ClangBackEnd::RegisterTranslationUnitForEditorMessage &message) override;
void unregisterTranslationUnitsForEditor(const ClangBackEnd::UnregisterTranslationUnitsForEditorMessage &message) override;
void registerProjectPartsForEditor(const ClangBackEnd::RegisterProjectPartsForEditorMessage &message) override;
void unregisterProjectPartsForEditor(const ClangBackEnd::UnregisterProjectPartsForEditorMessage &message) override;
void completeCode(const ClangBackEnd::CompleteCodeMessage &message) override;
void requestDiagnostics(const ClangBackEnd::RequestDiagnosticsMessage &message) override;
@@ -208,28 +208,28 @@ void IpcSender::end()
m_connection.sendEndMessage();
}
void IpcSender::registerTranslationUnitsForCodeCompletion(const RegisterTranslationUnitForCodeCompletionMessage &message)
void IpcSender::registerTranslationUnitsForEditor(const RegisterTranslationUnitForEditorMessage &message)
{
QTC_CHECK(m_connection.isConnected());
m_connection.serverProxy().registerTranslationUnitsForCodeCompletion(message);
m_connection.serverProxy().registerTranslationUnitsForEditor(message);
}
void IpcSender::unregisterTranslationUnitsForCodeCompletion(const UnregisterTranslationUnitsForCodeCompletionMessage &message)
void IpcSender::unregisterTranslationUnitsForEditor(const UnregisterTranslationUnitsForEditorMessage &message)
{
QTC_CHECK(m_connection.isConnected());
m_connection.serverProxy().unregisterTranslationUnitsForCodeCompletion(message);
m_connection.serverProxy().unregisterTranslationUnitsForEditor(message);
}
void IpcSender::registerProjectPartsForCodeCompletion(const RegisterProjectPartsForCodeCompletionMessage &message)
void IpcSender::registerProjectPartsForEditor(const RegisterProjectPartsForEditorMessage &message)
{
QTC_CHECK(m_connection.isConnected());
m_connection.serverProxy().registerProjectPartsForCodeCompletion(message);
m_connection.serverProxy().registerProjectPartsForEditor(message);
}
void IpcSender::unregisterProjectPartsForCodeCompletion(const UnregisterProjectPartsForCodeCompletionMessage &message)
void IpcSender::unregisterProjectPartsForEditor(const UnregisterProjectPartsForEditorMessage &message)
{
QTC_CHECK(m_connection.isConnected());
m_connection.serverProxy().unregisterProjectPartsForCodeCompletion(message);
m_connection.serverProxy().unregisterProjectPartsForEditor(message);
}
void IpcSender::completeCode(const CompleteCodeMessage &message)
@@ -285,7 +285,7 @@ void IpcCommunicator::initializeBackend()
void IpcCommunicator::registerEmptyProjectForProjectLessFiles()
{
QTC_CHECK(m_connection.isConnected());
registerProjectPartsForCodeCompletion({ClangBackEnd::ProjectPartContainer(
registerProjectPartsForEditor({ClangBackEnd::ProjectPartContainer(
Utf8String(),
Utf8StringVector())});
}
@@ -350,7 +350,7 @@ static QVector<ClangBackEnd::ProjectPartContainer> toProjectPartContainers(
void IpcCommunicator::registerProjectsParts(const QList<CppTools::ProjectPart::Ptr> projectParts)
{
const auto projectPartContainers = toProjectPartContainers(projectParts);
registerProjectPartsForCodeCompletion(projectPartContainers);
registerProjectPartsForEditor(projectPartContainers);
}
void IpcCommunicator::updateUnsavedFileFromCppEditorDocument(const QString &filePath)
@@ -368,16 +368,16 @@ void IpcCommunicator::updateUnsavedFile(const QString &filePath,
const bool hasUnsavedContent = true;
// TODO: Send new only if changed
registerFilesForCodeCompletion({{filePath,
projectPartId,
Utf8String::fromByteArray(contents),
hasUnsavedContent,
documentRevision}});
registerFilesForEditor({{filePath,
projectPartId,
Utf8String::fromByteArray(contents),
hasUnsavedContent,
documentRevision}});
}
void IpcCommunicator::requestDiagnostics(const FileContainer &fileContainer)
{
registerFilesForCodeCompletion({fileContainer});
registerFilesForEditor({fileContainer});
m_ipcSender->requestDiagnostics({fileContainer});
}
@@ -431,52 +431,52 @@ void IpcCommunicator::killBackendProcess()
m_connection.processForTestOnly()->kill();
}
void IpcCommunicator::registerFilesForCodeCompletion(const FileContainers &fileContainers)
void IpcCommunicator::registerFilesForEditor(const FileContainers &fileContainers)
{
if (m_sendMode == IgnoreSendRequests)
return;
const RegisterTranslationUnitForCodeCompletionMessage message(fileContainers);
const RegisterTranslationUnitForEditorMessage message(fileContainers);
qCDebug(log) << ">>>" << message;
m_ipcSender->registerTranslationUnitsForCodeCompletion(message);
m_ipcSender->registerTranslationUnitsForEditor(message);
}
void IpcCommunicator::unregisterFilesForCodeCompletion(const FileContainers &fileContainers)
void IpcCommunicator::unregisterFilesForEditor(const FileContainers &fileContainers)
{
if (m_sendMode == IgnoreSendRequests)
return;
const UnregisterTranslationUnitsForCodeCompletionMessage message(fileContainers);
const UnregisterTranslationUnitsForEditorMessage message(fileContainers);
qCDebug(log) << ">>>" << message;
m_ipcSender->unregisterTranslationUnitsForCodeCompletion(message);
m_ipcSender->unregisterTranslationUnitsForEditor(message);
}
void IpcCommunicator::registerProjectPartsForCodeCompletion(
void IpcCommunicator::registerProjectPartsForEditor(
const ProjectPartContainers &projectPartContainers)
{
if (m_sendMode == IgnoreSendRequests)
return;
const RegisterProjectPartsForCodeCompletionMessage message(projectPartContainers);
const RegisterProjectPartsForEditorMessage message(projectPartContainers);
qCDebug(log) << ">>>" << message;
m_ipcSender->registerProjectPartsForCodeCompletion(message);
m_ipcSender->registerProjectPartsForEditor(message);
}
void IpcCommunicator::unregisterProjectPartsForCodeCompletion(const QStringList &projectPartIds)
void IpcCommunicator::unregisterProjectPartsForEditor(const QStringList &projectPartIds)
{
if (m_sendMode == IgnoreSendRequests)
return;
const UnregisterProjectPartsForCodeCompletionMessage message((Utf8StringVector(projectPartIds)));
const UnregisterProjectPartsForEditorMessage message((Utf8StringVector(projectPartIds)));
qCDebug(log) << ">>>" << message;
m_ipcSender->unregisterProjectPartsForCodeCompletion(message);
m_ipcSender->unregisterProjectPartsForEditor(message);
}
void IpcCommunicator::completeCode(ClangCompletionAssistProcessor *assistProcessor,
const QString &filePath,
quint32 line,
quint32 column,
const QString &projectFilePath)
const QString &filePath,
quint32 line,
quint32 column,
const QString &projectFilePath)
{
if (m_sendMode == IgnoreSendRequests)
return;

View File

@@ -95,10 +95,10 @@ public:
virtual ~IpcSenderInterface() {}
virtual void end() = 0;
virtual void registerTranslationUnitsForCodeCompletion(const ClangBackEnd::RegisterTranslationUnitForCodeCompletionMessage &message) = 0;
virtual void unregisterTranslationUnitsForCodeCompletion(const ClangBackEnd::UnregisterTranslationUnitsForCodeCompletionMessage &message) = 0;
virtual void registerProjectPartsForCodeCompletion(const ClangBackEnd::RegisterProjectPartsForCodeCompletionMessage &message) = 0;
virtual void unregisterProjectPartsForCodeCompletion(const ClangBackEnd::UnregisterProjectPartsForCodeCompletionMessage &message) = 0;
virtual void registerTranslationUnitsForEditor(const ClangBackEnd::RegisterTranslationUnitForEditorMessage &message) = 0;
virtual void unregisterTranslationUnitsForEditor(const ClangBackEnd::UnregisterTranslationUnitsForEditorMessage &message) = 0;
virtual void registerProjectPartsForEditor(const ClangBackEnd::RegisterProjectPartsForEditorMessage &message) = 0;
virtual void unregisterProjectPartsForEditor(const ClangBackEnd::UnregisterProjectPartsForEditorMessage &message) = 0;
virtual void completeCode(const ClangBackEnd::CompleteCodeMessage &message) = 0;
virtual void requestDiagnostics(const ClangBackEnd::RequestDiagnosticsMessage &message) = 0;
};
@@ -115,10 +115,10 @@ public:
public:
IpcCommunicator();
void registerFilesForCodeCompletion(const FileContainers &fileContainers);
void unregisterFilesForCodeCompletion(const FileContainers &fileContainers);
void registerProjectPartsForCodeCompletion(const ProjectPartContainers &projectPartContainers);
void unregisterProjectPartsForCodeCompletion(const QStringList &projectPartIds);
void registerFilesForEditor(const FileContainers &fileContainers);
void unregisterFilesForEditor(const FileContainers &fileContainers);
void registerProjectPartsForEditor(const ProjectPartContainers &projectPartContainers);
void unregisterProjectPartsForEditor(const QStringList &projectPartIds);
void completeCode(ClangCompletionAssistProcessor *assistProcessor, const QString &filePath,
quint32 line,
quint32 column,

View File

@@ -674,11 +674,11 @@ void ClangCompletionAssistProcessor::sendFileContent(const QString &projectPartI
const UnsavedFileContentInfo info = unsavedFileContent(customFileContent);
IpcCommunicator &ipcCommunicator = m_interface->ipcCommunicator();
ipcCommunicator.registerFilesForCodeCompletion({{m_interface->fileName(),
projectPartId,
Utf8String::fromByteArray(info.unsavedContent),
info.isDocumentModified,
uint(m_interface->textDocument()->revision())}});
ipcCommunicator.registerFilesForEditor({{m_interface->fileName(),
projectPartId,
Utf8String::fromByteArray(info.unsavedContent),
info.isDocumentModified,
uint(m_interface->textDocument()->revision())}});
}
void ClangCompletionAssistProcessor::sendCompletionRequest(int position,

View File

@@ -109,7 +109,7 @@ ClangEditorDocumentProcessor::~ClangEditorDocumentProcessor()
if (m_projectPart) {
QTC_ASSERT(m_modelManagerSupport, return);
m_modelManagerSupport->ipcCommunicator().unregisterFilesForCodeCompletion(
m_modelManagerSupport->ipcCommunicator().unregisterFilesForEditor(
{ClangBackEnd::FileContainer(filePath(), m_projectPart->id())});
}
}
@@ -186,12 +186,12 @@ ClangEditorDocumentProcessor *ClangEditorDocumentProcessor::get(const QString &f
return qobject_cast<ClangEditorDocumentProcessor *>(BaseEditorDocumentProcessor::get(filePath));
}
void ClangEditorDocumentProcessor::updateProjectPartAndTranslationUnitForCompletion()
void ClangEditorDocumentProcessor::updateProjectPartAndTranslationUnitForEditor()
{
const CppTools::ProjectPart::Ptr projectPart = m_parser.projectPart();
QTC_ASSERT(projectPart, return);
updateTranslationUnitForCompletion(*projectPart.data());
updateTranslationUnitForEditor(*projectPart.data());
requestDiagnostics(*projectPart.data());
m_projectPart = projectPart;
@@ -209,7 +209,7 @@ void ClangEditorDocumentProcessor::onParserFinished()
// Run semantic highlighter
m_semanticHighlighter.run();
updateProjectPartAndTranslationUnitForCompletion();
updateProjectPartAndTranslationUnitForEditor();
}
void ClangEditorDocumentProcessor::onProjectPartsRemoved(const QStringList &projectPartIds)
@@ -218,7 +218,7 @@ void ClangEditorDocumentProcessor::onProjectPartsRemoved(const QStringList &proj
m_projectPart.clear();
}
void ClangEditorDocumentProcessor::updateTranslationUnitForCompletion(CppTools::ProjectPart &projectPart)
void ClangEditorDocumentProcessor::updateTranslationUnitForEditor(CppTools::ProjectPart &projectPart)
{
QTC_ASSERT(m_modelManagerSupport, return);
IpcCommunicator &ipcCommunicator = m_modelManagerSupport->ipcCommunicator();
@@ -228,18 +228,18 @@ void ClangEditorDocumentProcessor::updateTranslationUnitForCompletion(CppTools::
auto container1 = ClangBackEnd::FileContainer(filePath(),
m_projectPart->id(),
revision());
ipcCommunicator.unregisterFilesForCodeCompletion({container1});
ipcCommunicator.unregisterFilesForEditor({container1});
auto container2 = ClangBackEnd::FileContainer(filePath(),
projectPart.id(),
revision());
ipcCommunicator.registerFilesForCodeCompletion({container2});
ipcCommunicator.registerFilesForEditor({container2});
}
} else {
auto container = ClangBackEnd::FileContainer(filePath(),
projectPart.id(),
revision());
ipcCommunicator.registerFilesForCodeCompletion({container});
ipcCommunicator.registerFilesForEditor({container});
}
}

View File

@@ -83,8 +83,8 @@ private slots:
void onProjectPartsRemoved(const QStringList &projectPartIds);
private:
void updateProjectPartAndTranslationUnitForCompletion();
void updateTranslationUnitForCompletion(CppTools::ProjectPart &projectPart);
void updateProjectPartAndTranslationUnitForEditor();
void updateTranslationUnitForEditor(CppTools::ProjectPart &projectPart);
QList<QTextEdit::ExtraSelection>
generateDiagnosticHints(const QVector<ClangBackEnd::DiagnosticContainer> &diagnostics);
void addClangTextMarks(const std::vector<ClangBackEnd::DiagnosticContainer> &diagnostics);

View File

@@ -39,7 +39,7 @@
#include <cpptools/editordocumenthandle.h>
#include <projectexplorer/project.h>
#include <clangbackendipc/cmbregisterprojectsforcodecompletionmessage.h>
#include <clangbackendipc/cmbregisterprojectsforeditormessage.h>
#include <clangbackendipc/filecontainer.h>
#include <clangbackendipc/projectpartcontainer.h>
#include <utils/qtcassert.h>
@@ -160,7 +160,7 @@ void ModelManagerSupportClang::onAbstractEditorSupportRemoved(const QString &fil
QTC_ASSERT(!filePath.isEmpty(), return);
if (!cppModelManager()->cppEditorDocument(filePath)) {
const QString projectPartId = Utils::projectPartIdForFile(filePath);
m_ipcCommunicator.unregisterFilesForCodeCompletion(
m_ipcCommunicator.unregisterFilesForEditor(
{ClangBackEnd::FileContainer(filePath, projectPartId)});
}
}
@@ -176,7 +176,7 @@ void ModelManagerSupportClang::onProjectPartsUpdated(ProjectExplorer::Project *p
void ModelManagerSupportClang::onProjectPartsRemoved(const QStringList &projectPartIds)
{
if (!projectPartIds.isEmpty())
m_ipcCommunicator.unregisterProjectPartsForCodeCompletion(projectPartIds);
m_ipcCommunicator.unregisterProjectPartsForEditor(projectPartIds);
}
#ifdef QT_TESTLIB_LIB

View File

@@ -56,10 +56,10 @@
#include <clangbackendipc/cmbcompletecodemessage.h>
#include <clangbackendipc/cmbendmessage.h>
#include <clangbackendipc/cmbregisterprojectsforcodecompletionmessage.h>
#include <clangbackendipc/cmbregistertranslationunitsforcodecompletionmessage.h>
#include <clangbackendipc/cmbunregisterprojectsforcodecompletionmessage.h>
#include <clangbackendipc/cmbunregistertranslationunitsforcodecompletionmessage.h>
#include <clangbackendipc/cmbregisterprojectsforeditormessage.h>
#include <clangbackendipc/cmbregistertranslationunitsforeditormessage.h>
#include <clangbackendipc/cmbunregisterprojectsforeditormessage.h>
#include <clangbackendipc/cmbunregistertranslationunitsforeditormessage.h>
#include <utils/changeset.h>
#include <utils/qtcassert.h>
@@ -310,39 +310,39 @@ QString toString(const EndMessage &)
return QLatin1String("EndMessage\n");
}
QString toString(const RegisterTranslationUnitForCodeCompletionMessage &message)
QString toString(const RegisterTranslationUnitForEditorMessage &message)
{
QString out;
QTextStream ts(&out);
ts << "RegisterTranslationUnitForCodeCompletionMessage\n"
ts << "RegisterTranslationUnitForEditorMessage\n"
<< toString(message.fileContainers());
return out;
return QLatin1String("RegisterTranslationUnitForCodeCompletionMessage\n");
return QLatin1String("RegisterTranslationUnitForEditorMessage\n");
}
QString toString(const UnregisterTranslationUnitsForCodeCompletionMessage &)
QString toString(const UnregisterTranslationUnitsForEditorMessage &)
{
return QLatin1String("UnregisterTranslationUnitsForCodeCompletionMessage\n");
return QLatin1String("UnregisterTranslationUnitsForEditorMessage\n");
}
QString toString(const RegisterProjectPartsForCodeCompletionMessage &message)
QString toString(const RegisterProjectPartsForEditorMessage &message)
{
QString out;
QTextStream ts(&out);
ts << "RegisterProjectPartsForCodeCompletionMessage\n"
ts << "RegisterProjectPartsForEditorMessage\n"
<< toString(message.projectContainers()) << "\n";
return out;
}
QString toString(const UnregisterProjectPartsForCodeCompletionMessage &message)
QString toString(const UnregisterProjectPartsForEditorMessage &message)
{
QString out;
QTextStream ts(&out);
ts << "UnregisterProjectPartsForCodeCompletionMessage\n"
ts << "UnregisterProjectPartsForEditorMessage\n"
<< message.projectPartIds().join(Utf8String::fromUtf8(",")).toByteArray() << "\n";
return out;
}
@@ -363,16 +363,16 @@ public:
void end() override
{ senderLog.append(toString(EndMessage())); }
void registerTranslationUnitsForCodeCompletion(const RegisterTranslationUnitForCodeCompletionMessage &message) override
void registerTranslationUnitsForEditor(const RegisterTranslationUnitForEditorMessage &message) override
{ senderLog.append(toString(message)); }
void unregisterTranslationUnitsForCodeCompletion(const UnregisterTranslationUnitsForCodeCompletionMessage &message) override
void unregisterTranslationUnitsForEditor(const UnregisterTranslationUnitsForEditorMessage &message) override
{ senderLog.append(toString(message)); }
void registerProjectPartsForCodeCompletion(const RegisterProjectPartsForCodeCompletionMessage &message) override
void registerProjectPartsForEditor(const RegisterProjectPartsForEditorMessage &message) override
{ senderLog.append(toString(message)); }
void unregisterProjectPartsForCodeCompletion(const UnregisterProjectPartsForCodeCompletionMessage &message) override
void unregisterProjectPartsForEditor(const UnregisterProjectPartsForEditorMessage &message) override
{ senderLog.append(toString(message)); }
void completeCode(const CompleteCodeMessage &message) override
@@ -1112,26 +1112,25 @@ void ClangCodeCompletionTest::testUpdateBackendAfterRestart()
// Check messages that would have been sent
QVERIFY(compare(LogOutput(spy.senderLog),
LogOutput(
"RegisterTranslationUnitForCodeCompletionMessage\n"
"RegisterTranslationUnitForEditorMessage\n"
" Path: myheader.h ProjectPart: \n"
"RegisterTranslationUnitForCodeCompletionMessage\n"
"RegisterTranslationUnitForEditorMessage\n"
" Path: myheader.h ProjectPart: \n"
"RequestDiagnosticsMessage\n"
"RegisterProjectPartsForCodeCompletionMessage\n"
" ProjectPartContainer id: qt-widgets-app.pro qt-widgets-app\n"
"RegisterTranslationUnitForCodeCompletionMessage\n"
"RegisterTranslationUnitForEditorMessage\n"
" Path: myheader.h ProjectPart: \n"
"RequestDiagnosticsMessage\n"
"RegisterTranslationUnitForCodeCompletionMessage\n"
"RegisterTranslationUnitForEditorMessage\n"
" Path: myheader.h ProjectPart: \n"
"RequestDiagnosticsMessage\n"
"RegisterTranslationUnitForCodeCompletionMessage\n"
"RegisterTranslationUnitForEditorMessage\n"
" Path: ui_mainwindow.h ProjectPart: \n"
"RegisterTranslationUnitForCodeCompletionMessage\n"
"RegisterTranslationUnitForEditorMessage\n"
" Path: myheader.h ProjectPart: \n"
"RegisterTranslationUnitForCodeCompletionMessage\n"
"RegisterTranslationUnitForEditorMessage\n"
" Path: mainwindow.cpp ProjectPart: qt-widgets-app.pro qt-widgets-app\n"
"RegisterTranslationUnitForCodeCompletionMessage\n"
"RegisterTranslationUnitForEditorMessage\n"
" Path: mainwindow.cpp ProjectPart: qt-widgets-app.pro qt-widgets-app\n"
"RequestDiagnosticsMessage\n"
@@ -1148,13 +1147,13 @@ void ClangCodeCompletionTest::testUpdateBackendAfterRestart()
// ...and check if code model backend would have been provided with current data
QVERIFY(compare(LogOutput(spy.senderLog),
LogOutput(
"RegisterProjectPartsForCodeCompletionMessage\n"
"RegisterProjectPartsForEditorMessage\n"
" ProjectPartContainer id: \n"
"RegisterProjectPartsForCodeCompletionMessage\n"
"RegisterProjectPartsForEditorMessage\n"
" ProjectPartContainer id: qt-widgets-app.pro qt-widgets-app\n"
"RegisterTranslationUnitForCodeCompletionMessage\n"
"RegisterTranslationUnitForEditorMessage\n"
" Path: myheader.h ProjectPart: \n"
"RegisterTranslationUnitForCodeCompletionMessage\n"
"RegisterTranslationUnitForEditorMessage\n"
" Path: ui_mainwindow.h ProjectPart: \n"
)));
}