From d44cfba546319db28f16551cee69ca32d577995b Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Thu, 3 Oct 2019 14:04:55 +0300 Subject: [PATCH] EA-213873 - CME: UpdateHighlightersUtil.applyPostFilter GitOrigin-RevId: 05c6b59e2885c57f721fc6922991c2a091f1a071 --- .../daemon/impl/DefaultHighlightInfoProcessor.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/DefaultHighlightInfoProcessor.java b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/DefaultHighlightInfoProcessor.java index 8690e3e8559a..775f18fc974d 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/DefaultHighlightInfoProcessor.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/DefaultHighlightInfoProcessor.java @@ -22,6 +22,7 @@ import com.intellij.util.Alarm; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.ArrayList; import java.util.List; public class DefaultHighlightInfoProcessor extends HighlightInfoProcessor { @@ -38,23 +39,23 @@ public class DefaultHighlightInfoProcessor extends HighlightInfoProcessor { if (document == null) return; final long modificationStamp = document.getModificationStamp(); final TextRange priorityIntersection = priorityRange.intersection(restrictRange); - - ShowAutoImportPassFactory autoImportPassFactory = TextEditorHighlightingPassRegistrarImpl.EP_NAME.findExtensionOrFail(ShowAutoImportPassFactory.class); + List infoCopy = new ArrayList<>(infos); ((HighlightingSessionImpl)session).applyInEDT(() -> { if (modificationStamp != document.getModificationStamp()) return; if (priorityIntersection != null) { MarkupModel markupModel = DocumentMarkupModel.forDocument(document, project, true); EditorColorsScheme scheme = session.getColorsScheme(); - UpdateHighlightersUtil.setHighlightersInRange(project, document, priorityIntersection, scheme, infos, - (MarkupModelEx)markupModel, groupId); + UpdateHighlightersUtil.setHighlightersInRange(project, document, priorityIntersection, scheme, infoCopy, (MarkupModelEx)markupModel, groupId); } if (editor != null && !editor.isDisposed()) { // usability: show auto import popup as soon as possible if (!DumbService.isDumb(project)) { - TextEditorHighlightingPass highlightingPass = autoImportPassFactory.createHighlightingPass(psiFile, editor); - if (highlightingPass != null) + ShowAutoImportPassFactory siFactory = TextEditorHighlightingPassRegistrarImpl.EP_NAME.findExtensionOrFail(ShowAutoImportPassFactory.class); + TextEditorHighlightingPass highlightingPass = siFactory.createHighlightingPass(psiFile, editor); + if (highlightingPass != null) { highlightingPass.doApplyInformationToEditor(); + } } repaintErrorStripeAndIcon(editor, project);