diff --git a/platform/core-impl/src/com/intellij/openapi/editor/ex/MarkupIterator.java b/platform/core-impl/src/com/intellij/openapi/editor/ex/MarkupIterator.java index 7cc45d70c57d..990b92e97b9a 100644 --- a/platform/core-impl/src/com/intellij/openapi/editor/ex/MarkupIterator.java +++ b/platform/core-impl/src/com/intellij/openapi/editor/ex/MarkupIterator.java @@ -23,7 +23,7 @@ import java.util.Comparator; import java.util.NoSuchElementException; /** - * An iterator you must to {@link #dispose()} after use + * An iterator you must {@link #dispose()} after use */ public interface MarkupIterator extends PeekableIterator { void dispose(); @@ -35,7 +35,7 @@ public interface MarkupIterator extends PeekableIterator { @Override public Object peek() { - return null; + throw new NoSuchElementException(); } @Override diff --git a/platform/core-impl/src/com/intellij/openapi/editor/impl/RangeMarkerImpl.java b/platform/core-impl/src/com/intellij/openapi/editor/impl/RangeMarkerImpl.java index 5bc66cc47e0e..d41f3552ea89 100644 --- a/platform/core-impl/src/com/intellij/openapi/editor/impl/RangeMarkerImpl.java +++ b/platform/core-impl/src/com/intellij/openapi/editor/impl/RangeMarkerImpl.java @@ -22,12 +22,11 @@ import com.intellij.openapi.editor.ex.DocumentEx; import com.intellij.openapi.editor.ex.RangeMarkerEx; import com.intellij.openapi.editor.impl.event.DocumentEventImpl; import com.intellij.openapi.util.*; -import com.intellij.util.Processor; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -public class RangeMarkerImpl extends UserDataHolderBase implements RangeMarkerEx, MutableInterval { +public class RangeMarkerImpl extends UserDataHolderBase implements RangeMarkerEx { private static final Logger LOG = Logger.getInstance("#com.intellij.openapi.editor.impl.RangeMarkerImpl"); private final DocumentEx myDocument; @@ -36,7 +35,7 @@ public class RangeMarkerImpl extends UserDataHolderBase implements RangeMarkerEx private final long myId; private static final StripedIDGenerator counter = new StripedIDGenerator(); - protected RangeMarkerImpl(@NotNull DocumentEx document, int start, int end, boolean register) { + RangeMarkerImpl(@NotNull DocumentEx document, int start, int end, boolean register) { this(document, start, end, register, false, false); } private RangeMarkerImpl(@NotNull DocumentEx document, int start, int end, boolean register, boolean greedyToLeft, boolean greedyToRight) { diff --git a/platform/editor-ui-ex/src/com/intellij/openapi/editor/impl/PersistentRangeHighlighterImpl.java b/platform/editor-ui-ex/src/com/intellij/openapi/editor/impl/PersistentRangeHighlighterImpl.java index 4cde8efbcf51..8ec499d14c14 100644 --- a/platform/editor-ui-ex/src/com/intellij/openapi/editor/impl/PersistentRangeHighlighterImpl.java +++ b/platform/editor-ui-ex/src/com/intellij/openapi/editor/impl/PersistentRangeHighlighterImpl.java @@ -17,7 +17,6 @@ package com.intellij.openapi.editor.impl; import com.intellij.openapi.editor.event.DocumentEvent; import com.intellij.openapi.editor.ex.DocumentEx; -import com.intellij.openapi.editor.ex.RangeHighlighterEx; import com.intellij.openapi.editor.impl.event.DocumentEventImpl; import com.intellij.openapi.editor.markup.HighlighterTargetArea; import com.intellij.openapi.editor.markup.MarkupModel; @@ -31,7 +30,7 @@ import org.jetbrains.annotations.Nullable; * Implementation of the markup element for the editor and document. * @author max */ -class PersistentRangeHighlighterImpl extends RangeHighlighterImpl implements RangeHighlighterEx { +class PersistentRangeHighlighterImpl extends RangeHighlighterImpl { private int myLine; // for PersistentRangeHighlighterImpl only static PersistentRangeHighlighterImpl create(@NotNull MarkupModel model, int offset, diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorFilteringMarkupModelEx.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorFilteringMarkupModelEx.java index d4751bfd18a2..b19f586b9992 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorFilteringMarkupModelEx.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorFilteringMarkupModelEx.java @@ -40,9 +40,9 @@ public class EditorFilteringMarkupModelEx implements MarkupModelEx { @NotNull private final EditorImpl myEditor; @NotNull private final MarkupModelEx myDelegate; - private final Condition IS_AVAILABLE = highlighter -> isAvailable(highlighter); + private final Condition IS_AVAILABLE = this::isAvailable; - public EditorFilteringMarkupModelEx(@NotNull EditorImpl editor, @NotNull MarkupModelEx delegate) { + EditorFilteringMarkupModelEx(@NotNull EditorImpl editor, @NotNull MarkupModelEx delegate) { myEditor = editor; myDelegate = delegate; } @@ -94,9 +94,9 @@ public class EditorFilteringMarkupModelEx implements MarkupModelEx { private class MyFilteringIterator extends FilteringIterator implements MarkupIterator { - private MarkupIterator myDelegate; + private final MarkupIterator myDelegate; - public MyFilteringIterator(@NotNull MarkupIterator delegate) { + MyFilteringIterator(@NotNull MarkupIterator delegate) { super(delegate, IS_AVAILABLE); myDelegate = delegate; } diff --git a/platform/usageView/src/com/intellij/usages/UsageView.java b/platform/usageView/src/com/intellij/usages/UsageView.java index e0a3761c6db0..82fa8851feb7 100644 --- a/platform/usageView/src/com/intellij/usages/UsageView.java +++ b/platform/usageView/src/com/intellij/usages/UsageView.java @@ -32,13 +32,13 @@ import java.util.Set; */ public interface UsageView extends Disposable { /** - * Returns {@link com.intellij.usages.UsageTarget} to look usages for + * Returns {@link UsageTarget} to look usages for */ DataKey USAGE_TARGETS_KEY = DataKey.create("usageTarget"); @Deprecated String USAGE_TARGETS = USAGE_TARGETS_KEY.getName(); /** - * Returns {@link com.intellij.usages.Usage} which are selected in usage view + * Returns {@link Usage} which are selected in usage view */ DataKey USAGES_KEY = DataKey.create("usages"); @Deprecated String USAGES = USAGES_KEY.getName(); diff --git a/platform/util/src/com/intellij/util/containers/FilteringIterator.java b/platform/util/src/com/intellij/util/containers/FilteringIterator.java index ca23a0c5243f..5ec5de63142e 100644 --- a/platform/util/src/com/intellij/util/containers/FilteringIterator.java +++ b/platform/util/src/com/intellij/util/containers/FilteringIterator.java @@ -34,12 +34,6 @@ public class FilteringIterator implements PeekableIterator delegate, @NotNull Condition condition) { myDelegate = delegate; @@ -76,7 +70,7 @@ public class FilteringIterator implements PeekableIterator implements PeekableIterator Iterator skipNulls(Iterator iterator) { - return create(iterator, NOT_NULL); + return create(iterator, Conditions.notNull()); } public static Iterator create(Iterator iterator, Condition condition) { diff --git a/platform/util/src/com/intellij/util/containers/PeekableIterator.java b/platform/util/src/com/intellij/util/containers/PeekableIterator.java index 19cc218491b0..563d4ce643e3 100644 --- a/platform/util/src/com/intellij/util/containers/PeekableIterator.java +++ b/platform/util/src/com/intellij/util/containers/PeekableIterator.java @@ -16,14 +16,19 @@ package com.intellij.util.containers; import java.util.Iterator; +import java.util.NoSuchElementException; +/** + * An iterator with additional ability to {@link #peek()} the current element without moving the cursor. + * Upon creation, {@link #peek()} returns the first element, after {@link #hasNext()} returns false might throw {@link NoSuchElementException}. + */ public interface PeekableIterator extends Iterator { - T peek(); + T peek() throws NoSuchElementException; PeekableIterator EMPTY = new PeekableIterator() { @Override public Object peek() { - return null; + throw new NoSuchElementException(); } @Override