diff --git a/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/HighlightInfo.java b/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/HighlightInfo.java index 4dcf96d5b10e..13e45ea77bb9 100644 --- a/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/HighlightInfo.java +++ b/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/HighlightInfo.java @@ -27,6 +27,7 @@ import com.intellij.lang.ASTNode; import com.intellij.lang.annotation.Annotation; import com.intellij.lang.annotation.HighlightSeverity; import com.intellij.lang.annotation.ProblemGroup; +import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.HighlighterColors; @@ -80,7 +81,7 @@ public class HighlightInfo implements Segment { final int navigationShift; - private volatile RangeHighlighterEx highlighter;// modified in EDT only + volatile RangeHighlighterEx highlighter;// modified in EDT only public List> quickFixActionRanges; public List> quickFixActionMarkers; @@ -168,6 +169,7 @@ public class HighlightInfo implements Segment { * modified in EDT only */ public void setHighlighter(@Nullable RangeHighlighterEx highlighter) { + ApplicationManager.getApplication().assertIsDispatchThread(); this.highlighter = highlighter; } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/HighlightInfoComposite.java b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/HighlightInfoComposite.java index 3a10f108ba0f..c60913789a23 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/HighlightInfoComposite.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/HighlightInfoComposite.java @@ -28,24 +28,23 @@ import org.jetbrains.annotations.Nullable; import java.util.ArrayList; import java.util.List; -public class HighlightInfoComposite extends HighlightInfo { +class HighlightInfoComposite extends HighlightInfo { @NonNls private static final String LINE_BREAK = "
"; - public HighlightInfoComposite(@NotNull List infos) { + HighlightInfoComposite(@NotNull List infos) { super(null, null, infos.get(0).type, infos.get(0).startOffset, infos.get(0).endOffset, createCompositeDescription(infos), createCompositeTooltip(infos), infos.get(0).type.getSeverity(null), false, null, false, 0, infos.get(0).getProblemGroup(), infos.get(0).getGutterIconRenderer()); - setHighlighter(infos.get(0).getHighlighter()); + highlighter = infos.get(0).getHighlighter(); setGroup(infos.get(0).getGroup()); - List EMPTY = ContainerUtil.emptyList(); - List> markers = EMPTY; - List> ranges = EMPTY; + List> markers = ContainerUtil.emptyList(); + List> ranges = ContainerUtil.emptyList(); for (HighlightInfo info : infos) { if (info.quickFixActionMarkers != null) { - if (markers == EMPTY) markers = new ArrayList<>(); + if (markers == ContainerUtil.>emptyList()) markers = new ArrayList<>(); markers.addAll(info.quickFixActionMarkers); } if (info.quickFixActionRanges != null) { - if (ranges == EMPTY) ranges = new ArrayList<>(); + if (ranges == ContainerUtil.>emptyList()) ranges = new ArrayList<>(); ranges.addAll(info.quickFixActionRanges); } }