editor: use less general name for iterator

This commit is contained in:
Aleksey Pivovarov
2016-01-28 17:43:26 +03:00
parent fab15ef901
commit 283dc33e0d
11 changed files with 48 additions and 48 deletions
@@ -22,10 +22,10 @@ import java.util.NoSuchElementException;
/**
* An iterator you must to {@link #dispose()} after use
*/
public interface DisposableIterator<T> extends PeekableIterator<T> {
public interface MarkupIterator<T> extends PeekableIterator<T> {
void dispose();
DisposableIterator EMPTY = new DisposableIterator() {
MarkupIterator EMPTY = new MarkupIterator() {
@Override
public void dispose() {
}
@@ -1047,7 +1047,7 @@ public class DocumentImpl extends UserDataHolderBase implements DocumentEx {
@Override
public boolean processRangeMarkersOverlappingWith(int start, int end, @NotNull Processor<RangeMarker> processor) {
TextRangeInterval interval = new TextRangeInterval(start, end);
DisposableIterator<RangeMarkerEx> iterator = IntervalTreeImpl
MarkupIterator<RangeMarkerEx> iterator = IntervalTreeImpl
.mergingOverlappingIterator(myRangeMarkers, interval, myPersistentRangeMarkers, interval, RangeMarker.BY_START_OFFSET);
try {
return ContainerUtil.process(iterator, processor);
@@ -15,7 +15,7 @@
*/
package com.intellij.openapi.editor.impl;
import com.intellij.openapi.editor.ex.DisposableIterator;
import com.intellij.openapi.editor.ex.MarkupIterator;
import com.intellij.openapi.util.Getter;
import com.intellij.util.IncorrectOperationException;
import com.intellij.util.Processor;
@@ -564,7 +564,7 @@ abstract class IntervalTreeImpl<T extends MutableInterval> extends RedBlackTree<
}
@NotNull
private DisposableIterator<T> overlappingIterator(@NotNull final TextRangeInterval rangeInterval) {
private MarkupIterator<T> overlappingIterator(@NotNull final TextRangeInterval rangeInterval) {
l.readLock().lock();
try {
@@ -574,13 +574,13 @@ abstract class IntervalTreeImpl<T extends MutableInterval> extends RedBlackTree<
if (firstOverlap == null) {
l.readLock().unlock();
//noinspection unchecked
return DisposableIterator.EMPTY;
return MarkupIterator.EMPTY;
}
final int firstOverlapDelta = firstOverlap.computeDeltaUpToRoot();
final int firstOverlapStart = firstOverlap.intervalStart() + firstOverlapDelta;
final int modCountBefore = modCount;
return new DisposableIterator<T>() {
return new MarkupIterator<T>() {
private IntervalNode<T> currentNode = firstOverlap;
private int deltaUpToRootExclusive = firstOverlapDelta-firstOverlap.delta;
private int indexInCurrentList;
@@ -1365,21 +1365,21 @@ abstract class IntervalTreeImpl<T extends MutableInterval> extends RedBlackTree<
// combines iterators for two trees in one using specified comparator
@NotNull
static <T extends MutableInterval> DisposableIterator<T> mergingOverlappingIterator(@NotNull IntervalTreeImpl<T> tree1,
@NotNull TextRangeInterval tree1Range,
@NotNull IntervalTreeImpl<T> tree2,
@NotNull TextRangeInterval tree2Range,
@NotNull Comparator<? super T> comparator) {
DisposableIterator<T> exact = tree1.overlappingIterator(tree1Range);
DisposableIterator<T> lines = tree2.overlappingIterator(tree2Range);
static <T extends MutableInterval> MarkupIterator<T> mergingOverlappingIterator(@NotNull IntervalTreeImpl<T> tree1,
@NotNull TextRangeInterval tree1Range,
@NotNull IntervalTreeImpl<T> tree2,
@NotNull TextRangeInterval tree2Range,
@NotNull Comparator<? super T> comparator) {
MarkupIterator<T> exact = tree1.overlappingIterator(tree1Range);
MarkupIterator<T> lines = tree2.overlappingIterator(tree2Range);
return mergeIterators(exact, lines, comparator);
}
@NotNull
static <T extends MutableInterval> DisposableIterator<T> mergeIterators(@NotNull final DisposableIterator<T> iterator1,
@NotNull final DisposableIterator<T> iterator2,
@NotNull final Comparator<? super T> comparator) {
return new DisposableIterator<T>() {
static <T extends MutableInterval> MarkupIterator<T> mergeIterators(@NotNull final MarkupIterator<T> iterator1,
@NotNull final MarkupIterator<T> iterator2,
@NotNull final Comparator<? super T> comparator) {
return new MarkupIterator<T>() {
@Override
public void dispose() {
iterator1.dispose();
@@ -1397,7 +1397,7 @@ abstract class IntervalTreeImpl<T extends MutableInterval> extends RedBlackTree<
}
@NotNull
private DisposableIterator<T> choose() {
private MarkupIterator<T> choose() {
T t1 = iterator1.hasNext() ? iterator1.peek() : null;
T t2 = iterator2.hasNext() ? iterator2.peek() : null;
if (t1 == null) {
@@ -18,7 +18,7 @@ package com.intellij.injected.editor;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.editor.ex.DisposableIterator;
import com.intellij.openapi.editor.ex.MarkupIterator;
import com.intellij.openapi.editor.ex.MarkupModelEx;
import com.intellij.openapi.editor.ex.RangeHighlighterEx;
import com.intellij.openapi.editor.impl.event.MarkupModelListener;
@@ -145,7 +145,7 @@ public class MarkupModelWindow extends UserDataHolderBase implements MarkupModel
@NotNull
@Override
public DisposableIterator<RangeHighlighterEx> overlappingIterator(int startOffset, int endOffset) {
public MarkupIterator<RangeHighlighterEx> overlappingIterator(int startOffset, int endOffset) {
// todo convert
return myHostModel.overlappingIterator(startOffset, endOffset);
}
@@ -58,7 +58,7 @@ public interface MarkupModelEx extends MarkupModel {
boolean processRangeHighlightersOutside(int start, int end, @NotNull Processor<? super RangeHighlighterEx> processor);
@NotNull
DisposableIterator<RangeHighlighterEx> overlappingIterator(int startOffset, int endOffset);
MarkupIterator<RangeHighlighterEx> overlappingIterator(int startOffset, int endOffset);
// optimization: creates highlighter and fires only one event: highlighterCreated
@NotNull
@@ -17,7 +17,7 @@ package com.intellij.openapi.editor.impl;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.editor.ex.DisposableIterator;
import com.intellij.openapi.editor.ex.MarkupIterator;
import com.intellij.openapi.editor.ex.MarkupModelEx;
import com.intellij.openapi.editor.ex.RangeHighlighterEx;
import com.intellij.openapi.editor.impl.event.MarkupModelListener;
@@ -139,8 +139,8 @@ public class EmptyMarkupModel implements MarkupModelEx {
@NotNull
@Override
public DisposableIterator<RangeHighlighterEx> overlappingIterator(int startOffset, int endOffset) {
return DisposableIterator.EMPTY;
public MarkupIterator<RangeHighlighterEx> overlappingIterator(int startOffset, int endOffset) {
return MarkupIterator.EMPTY;
}
@Override
@@ -29,7 +29,7 @@ import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.editor.ex.DocumentEx;
import com.intellij.openapi.editor.ex.DisposableIterator;
import com.intellij.openapi.editor.ex.MarkupIterator;
import com.intellij.openapi.editor.ex.MarkupModelEx;
import com.intellij.openapi.editor.ex.RangeHighlighterEx;
import com.intellij.openapi.editor.impl.event.MarkupModelListener;
@@ -259,7 +259,7 @@ public class MarkupModelImpl extends UserDataHolderBase implements MarkupModelEx
@Override
public boolean processRangeHighlightersOverlappingWith(int start, int end, @NotNull Processor<? super RangeHighlighterEx> processor) {
DisposableIterator<RangeHighlighterEx> iterator = overlappingIterator(start, end);
MarkupIterator<RangeHighlighterEx> iterator = overlappingIterator(start, end);
try {
while (iterator.hasNext()) {
if (!processor.process(iterator.next())) {
@@ -281,7 +281,7 @@ public class MarkupModelImpl extends UserDataHolderBase implements MarkupModelEx
@Override
@NotNull
public DisposableIterator<RangeHighlighterEx> overlappingIterator(int startOffset, int endOffset) {
public MarkupIterator<RangeHighlighterEx> overlappingIterator(int startOffset, int endOffset) {
startOffset = Math.max(0,startOffset);
endOffset = Math.max(startOffset, endOffset);
return IntervalTreeImpl
@@ -26,7 +26,7 @@ import com.intellij.openapi.editor.*;
import com.intellij.openapi.editor.colors.EditorColorsScheme;
import com.intellij.openapi.editor.colors.FontPreferences;
import com.intellij.openapi.editor.colors.TextAttributesKey;
import com.intellij.openapi.editor.ex.DisposableIterator;
import com.intellij.openapi.editor.ex.MarkupIterator;
import com.intellij.openapi.editor.ex.MarkupModelEx;
import com.intellij.openapi.editor.ex.RangeHighlighterEx;
import com.intellij.openapi.editor.ex.util.EditorUtil;
@@ -126,11 +126,11 @@ public class TextWithMarkupProcessor extends CopyPastePostProcessor<RawTextWithM
if (endOffset <= startOffsetToUse) {
continue;
}
MarkupIterator markupIterator = new MarkupIterator(text,
new CompositeRangeIterator(schemeToUse,
new HighlighterRangeIterator(highlighter, startOffsetToUse, endOffset),
new MarkupModelRangeIterator(markupModel, schemeToUse, startOffsetToUse, endOffset)),
schemeToUse);
MyMarkupIterator markupIterator = new MyMarkupIterator(text,
new CompositeRangeIterator(schemeToUse,
new HighlighterRangeIterator(highlighter, startOffsetToUse, endOffset),
new MarkupModelRangeIterator(markupModel, schemeToUse, startOffsetToUse, endOffset)),
schemeToUse);
try {
context.iterate(markupIterator, endOffset);
}
@@ -294,7 +294,7 @@ public class TextWithMarkupProcessor extends CopyPastePostProcessor<RawTextWithM
myIndentSymbolsToStripAtCurrentLine = 0;
}
public void iterate(MarkupIterator iterator, int endOffset) {
public void iterate(MyMarkupIterator iterator, int endOffset) {
while (!iterator.atEnd()) {
iterator.advance();
int startOffset = iterator.getStartOffset();
@@ -418,14 +418,14 @@ public class TextWithMarkupProcessor extends CopyPastePostProcessor<RawTextWithM
}
}
private static class MarkupIterator {
private static class MyMarkupIterator {
private final SegmentIterator mySegmentIterator;
private final RangeIterator myRangeIterator;
private int myCurrentFontStyle;
private Color myCurrentForegroundColor;
private Color myCurrentBackgroundColor;
private MarkupIterator(@NotNull CharSequence charSequence, @NotNull RangeIterator rangeIterator, @NotNull EditorColorsScheme colorsScheme) {
private MyMarkupIterator(@NotNull CharSequence charSequence, @NotNull RangeIterator rangeIterator, @NotNull EditorColorsScheme colorsScheme) {
myRangeIterator = rangeIterator;
mySegmentIterator = new SegmentIterator(charSequence, colorsScheme.getFontPreferences());
}
@@ -638,7 +638,7 @@ public class TextWithMarkupProcessor extends CopyPastePostProcessor<RawTextWithM
private final EditorColorsScheme myColorsScheme;
private final Color myDefaultForeground;
private final Color myDefaultBackground;
private final DisposableIterator<RangeHighlighterEx> myIterator;
private final MarkupIterator<RangeHighlighterEx> myIterator;
private int myCurrentStart;
private int myCurrentEnd;
@@ -17,7 +17,7 @@ package com.intellij.openapi.editor.impl;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.editor.ex.DisposableIterator;
import com.intellij.openapi.editor.ex.MarkupIterator;
import com.intellij.openapi.editor.ex.EditorEx;
import com.intellij.openapi.editor.ex.MarkupModelEx;
import com.intellij.openapi.editor.ex.RangeHighlighterEx;
@@ -78,7 +78,7 @@ public class EditorFilteringMarkupModelEx implements MarkupModelEx {
@Override
@NotNull
public DisposableIterator<RangeHighlighterEx> overlappingIterator(int startOffset, int endOffset) {
public MarkupIterator<RangeHighlighterEx> overlappingIterator(int startOffset, int endOffset) {
return new MyFilteringIterator(myDelegate.overlappingIterator(startOffset, endOffset));
}
@@ -94,10 +94,10 @@ public class EditorFilteringMarkupModelEx implements MarkupModelEx {
}
private class MyFilteringIterator extends FilteringIterator<RangeHighlighterEx, RangeHighlighterEx>
implements DisposableIterator<RangeHighlighterEx> {
private DisposableIterator<RangeHighlighterEx> myDelegate;
implements MarkupIterator<RangeHighlighterEx> {
private MarkupIterator<RangeHighlighterEx> myDelegate;
public MyFilteringIterator(@NotNull DisposableIterator<RangeHighlighterEx> delegate) {
public MyFilteringIterator(@NotNull MarkupIterator<RangeHighlighterEx> delegate) {
super(delegate, IS_AVAILABLE);
myDelegate = delegate;
}
@@ -562,8 +562,8 @@ class EditorGutterComponentImpl extends EditorGutterComponentEx implements Mouse
private void processRangeHighlighters(int startOffset, int endOffset, @NotNull RangeHighlighterProcessor processor) {
Document document = myEditor.getDocument();
// we limit highlighters to process to between line starting at startOffset and line ending at endOffset
DisposableIterator<RangeHighlighterEx> docHighlighters = myEditor.getFilteredDocumentMarkupModel().overlappingIterator(startOffset, endOffset);
DisposableIterator<RangeHighlighterEx> editorHighlighters = myEditor.getMarkupModel().overlappingIterator(startOffset, endOffset);
MarkupIterator<RangeHighlighterEx>docHighlighters = myEditor.getFilteredDocumentMarkupModel().overlappingIterator(startOffset, endOffset);
MarkupIterator<RangeHighlighterEx> editorHighlighters = myEditor.getMarkupModel().overlappingIterator(startOffset, endOffset);
try {
RangeHighlighterEx lastDocHighlighter = null;
@@ -735,9 +735,9 @@ public class EditorMarkupModelImpl extends MarkupModelImpl implements EditorMark
final int[] thinYStart = new int[1]; // in range 0..yStart all spots are drawn
final int[] wideYStart = new int[1]; // in range 0..yStart all spots are drawn
DisposableIterator<RangeHighlighterEx> iterator1 = markup1.overlappingIterator(startOffset, endOffset);
DisposableIterator<RangeHighlighterEx> iterator2 = markup2.overlappingIterator(startOffset, endOffset);
DisposableIterator<RangeHighlighterEx> iterator =
MarkupIterator<RangeHighlighterEx> iterator1 = markup1.overlappingIterator(startOffset, endOffset);
MarkupIterator<RangeHighlighterEx> iterator2 = markup2.overlappingIterator(startOffset, endOffset);
MarkupIterator<RangeHighlighterEx> iterator =
IntervalTreeImpl.mergeIterators(iterator1, iterator2, RangeHighlighterEx.BY_AFFECTED_START_OFFSET);
try {
ContainerUtil.process(iterator, new Processor<RangeHighlighterEx>() {