forked from qt-creator/qt-creator
Clang: Update document annotations only if document is visible
So no reparsing is happen for invisible files. Change-Id: I8bf3fe8aed38b30ceeabc50ba2f216acc4b8b718 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
This commit is contained in:
@@ -282,6 +282,7 @@ void ClangIpcServer::updateVisibleTranslationUnits(const UpdateVisibleTranslatio
|
||||
try {
|
||||
translationUnits.setUsedByCurrentEditor(message.currentEditorFilePath());
|
||||
translationUnits.setVisibleInEditors(message.visibleEditorFilePaths());
|
||||
sendDocumentAnnotationsTimer.start(0);
|
||||
} catch (const std::exception &exception) {
|
||||
qWarning() << "Error in ClangIpcServer::updateVisibleTranslationUnits:" << exception.what();
|
||||
}
|
||||
|
@@ -171,8 +171,6 @@ DocumentAnnotationsSendState TranslationUnits::sendDocumentAnnotations()
|
||||
auto documentAnnotationsSendState = sendDocumentAnnotationsForCurrentEditor();
|
||||
if (documentAnnotationsSendState == DocumentAnnotationsSendState::NoDocumentAnnotationsSent)
|
||||
documentAnnotationsSendState = sendDocumentAnnotationsForVisibleEditors();
|
||||
if (documentAnnotationsSendState == DocumentAnnotationsSendState::NoDocumentAnnotationsSent)
|
||||
documentAnnotationsSendState = sendDocumentAnnotationsForAll();
|
||||
|
||||
return documentAnnotationsSendState;
|
||||
}
|
||||
|
@@ -381,11 +381,11 @@ TEST_F(TranslationUnits, DoNotSendDocumentAnnotationsIfThereIsNothingToSend)
|
||||
sendAllDocumentAnnotations();
|
||||
}
|
||||
|
||||
TEST_F(TranslationUnits, SendDocumentAnnotationsAfterTranslationUnitCreation)
|
||||
TEST_F(TranslationUnits, DoNotSendDocumentAnnotationsAfterTranslationUnitCreation)
|
||||
{
|
||||
translationUnits.create({fileContainer, headerContainer});
|
||||
|
||||
EXPECT_CALL(mockSendDocumentAnnotationsCallback, sendDocumentAnnotations()).Times(2);
|
||||
EXPECT_CALL(mockSendDocumentAnnotationsCallback, sendDocumentAnnotations()).Times(0);
|
||||
|
||||
sendAllDocumentAnnotations();
|
||||
}
|
||||
@@ -394,10 +394,11 @@ TEST_F(TranslationUnits, DoNotSendDocumentAnnotationsAfterGettingDocumentAnnotat
|
||||
{
|
||||
translationUnits.create({fileContainer, headerContainer});
|
||||
auto translationUnit = translationUnits.translationUnit(fileContainer);
|
||||
translationUnit.setIsVisibleInEditor(true);
|
||||
translationUnit.diagnostics(); // Reset
|
||||
translationUnit.highlightingInformations(); // Reset
|
||||
|
||||
EXPECT_CALL(mockSendDocumentAnnotationsCallback, sendDocumentAnnotations()).Times(1);
|
||||
EXPECT_CALL(mockSendDocumentAnnotationsCallback, sendDocumentAnnotations()).Times(0);
|
||||
|
||||
sendAllDocumentAnnotations();
|
||||
}
|
||||
|
Reference in New Issue
Block a user