diff --git a/platform/core-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/PsiMultiReference.java b/platform/core-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/PsiMultiReference.java index 1434ed5c2fd4..d8bc550bb36f 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/PsiMultiReference.java +++ b/platform/core-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/PsiMultiReference.java @@ -48,7 +48,7 @@ public class PsiMultiReference implements PsiPolyVariantReference { final TextRange range1 = ref1.getRangeInElement(); final TextRange range2 = ref2.getRangeInElement(); - if(range1.getStartOffset() == range2.getStartOffset() && range1.getEndOffset() == range2.getEndOffset()) return 0; + if(TextRange.areSegmentsEqual(range1, range2)) return 0; if(range1.getStartOffset() >= range2.getStartOffset() && range1.getEndOffset() <= range2.getEndOffset()) return -1; if(range2.getStartOffset() >= range1.getStartOffset() && range2.getEndOffset() <= range1.getEndOffset()) return 1; diff --git a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/IndentsPass.java b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/IndentsPass.java index 174cf400bf2f..c4cde8c26a97 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/IndentsPass.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/IndentsPass.java @@ -70,9 +70,9 @@ public class IndentsPass extends TextEditorHighlightingPass implements DumbAware private static final CustomHighlighterRenderer RENDERER = new CustomHighlighterRenderer() { @Override @SuppressWarnings({"AssignmentToForLoopParameter"}) - public void paint(Editor editor, - RangeHighlighter highlighter, - Graphics g) { + public void paint(@NotNull Editor editor, + @NotNull RangeHighlighter highlighter, + @NotNull Graphics g) { int startOffset = highlighter.getStartOffset(); final Document doc = highlighter.getDocument(); if (startOffset >= doc.getTextLength()) return; diff --git a/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/FoldingUpdate.java b/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/FoldingUpdate.java index d2c9838bb2f9..fb68cdcc27ac 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/FoldingUpdate.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/FoldingUpdate.java @@ -182,6 +182,10 @@ public class FoldingUpdate { protected Map> createMap() { return new TreeMap>(COMPARE_BY_OFFSET); } - } + @Override + protected Collection createCollection() { + return new ArrayList(1); + } + } } diff --git a/platform/lang-impl/src/com/intellij/find/impl/livePreview/LivePreviewControllerBase.java b/platform/lang-impl/src/com/intellij/find/impl/livePreview/LivePreviewControllerBase.java index bddc2a454666..a4d145e343bc 100644 --- a/platform/lang-impl/src/com/intellij/find/impl/livePreview/LivePreviewControllerBase.java +++ b/platform/lang-impl/src/com/intellij/find/impl/livePreview/LivePreviewControllerBase.java @@ -225,7 +225,7 @@ public class LivePreviewControllerBase implements LivePreview.Delegate, FindUtil @Override public boolean shouldReplace(TextRange range, String replace) { for (RangeMarker r : mySearchResults.getExcluded()) { - if (r.getStartOffset() == range.getStartOffset() && r.getEndOffset() == range.getEndOffset()) { + if (TextRange.areSegmentsEqual(r, range)) { return false; } } diff --git a/platform/lang-impl/src/com/intellij/find/impl/livePreview/SearchResults.java b/platform/lang-impl/src/com/intellij/find/impl/livePreview/SearchResults.java index 6bf025589d68..d9786020670a 100644 --- a/platform/lang-impl/src/com/intellij/find/impl/livePreview/SearchResults.java +++ b/platform/lang-impl/src/com/intellij/find/impl/livePreview/SearchResults.java @@ -101,7 +101,7 @@ public class SearchResults implements DocumentListener { public boolean isExcluded(LiveOccurrence occurrence) { for (RangeMarker rangeMarker : myExcluded) { - if (rangeMarker.getStartOffset() == occurrence.getPrimaryRange().getStartOffset() && rangeMarker.getEndOffset() == occurrence.getPrimaryRange().getEndOffset()) { + if (TextRange.areSegmentsEqual(rangeMarker, occurrence.getPrimaryRange())) { return true; } } @@ -112,7 +112,7 @@ public class SearchResults implements DocumentListener { boolean include = false; final TextRange r = occurrence.getPrimaryRange(); for (RangeMarker rangeMarker : myExcluded) { - if (rangeMarker.getStartOffset() == r.getStartOffset() && rangeMarker.getEndOffset() == r.getEndOffset()) { + if (TextRange.areSegmentsEqual(rangeMarker, r)) { myExcluded.remove(rangeMarker); rangeMarker.dispose(); include = true; diff --git a/platform/platform-api/src/com/intellij/openapi/editor/markup/CustomHighlighterRenderer.java b/platform/platform-api/src/com/intellij/openapi/editor/markup/CustomHighlighterRenderer.java index 796235b9a89a..223b219c0e39 100644 --- a/platform/platform-api/src/com/intellij/openapi/editor/markup/CustomHighlighterRenderer.java +++ b/platform/platform-api/src/com/intellij/openapi/editor/markup/CustomHighlighterRenderer.java @@ -20,9 +20,10 @@ package com.intellij.openapi.editor.markup; import com.intellij.openapi.editor.Editor; +import org.jetbrains.annotations.NotNull; import java.awt.*; public interface CustomHighlighterRenderer { - void paint(Editor editor, RangeHighlighter highlighter, Graphics g); + void paint(@NotNull Editor editor, @NotNull RangeHighlighter highlighter, @NotNull Graphics g); } diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java index 2bf69073673f..7393a5678e3b 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java @@ -1732,7 +1732,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi paintBackgrounds(g, clip, clipStartPosition, clipStartVisualPos, clipStartOffset, clipEndOffset); paintRectangularSelection(g); paintRightMargin(g, clip); - paintCustomRenderers((Graphics2D)g, clipStartOffset, clipEndOffset); + paintCustomRenderers(g, clipStartOffset, clipEndOffset); MarkupModelEx docMarkup = (MarkupModelEx)DocumentMarkupModel.forDocument(myDocument, myProject, true); paintLineMarkersSeparators(g, clip, docMarkup, clipStartOffset, clipEndOffset); paintLineMarkersSeparators(g, clip, myMarkupModel, clipStartOffset, clipEndOffset); @@ -1745,7 +1745,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi borderEffect.paintHighlighters(myMarkupModel); paintCaretCursor(g); - paintComposedTextDecoration((Graphics2D)g); + paintComposedTextDecoration(g); } private void paintCustomRenderers(final Graphics2D g, final int clipStartOffset, final int clipEndOffset) { diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/FoldRegionsTree.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/FoldRegionsTree.java index 7d63435dbba8..536fc4fe0af2 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/FoldRegionsTree.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/FoldRegionsTree.java @@ -18,6 +18,7 @@ package com.intellij.openapi.editor.impl; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.FoldRegion; import com.intellij.openapi.editor.RangeMarker; +import com.intellij.openapi.util.TextRange; import com.intellij.util.ArrayUtil; import com.intellij.util.containers.CollectionFactory; import org.jetbrains.annotations.NotNull; @@ -172,7 +173,7 @@ abstract class FoldRegionsTree { // We explicitly check for such situation, remove existing region and add the given one instead. if (fastIndex < myRegions.size()) { FoldRegion foldRegion = myRegions.get(fastIndex); - if (foldRegion.getStartOffset() == range.getStartOffset() && foldRegion.getEndOffset() == range.getEndOffset()) { + if (TextRange.areSegmentsEqual(foldRegion, range)) { removeRegion(foldRegion); return addRegion(range); }