mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
editor: use less general name for iterator
This commit is contained in:
+2
-2
@@ -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
|
||||
|
||||
+10
-10
@@ -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;
|
||||
|
||||
+5
-5
@@ -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;
|
||||
}
|
||||
|
||||
+2
-2
@@ -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;
|
||||
|
||||
+3
-3
@@ -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>() {
|
||||
|
||||
Reference in New Issue
Block a user