diff --git a/platform/core-impl/src/com/intellij/openapi/editor/impl/IntervalTreeImpl.java b/platform/core-impl/src/com/intellij/openapi/editor/impl/IntervalTreeImpl.java index 54ab504d2a94..bdf9b68045fc 100644 --- a/platform/core-impl/src/com/intellij/openapi/editor/impl/IntervalTreeImpl.java +++ b/platform/core-impl/src/com/intellij/openapi/editor/impl/IntervalTreeImpl.java @@ -65,7 +65,7 @@ public abstract class IntervalTreeImpl extends RedBla private final IntervalTreeImpl myIntervalTree; - public IntervalNode(IntervalTreeImpl intervalTree, @NotNull E key, int start, int end) { + public IntervalNode(@NotNull IntervalTreeImpl intervalTree, @NotNull E key, int start, int end) { // maxEnd == 0 so to not disrupt existing maxes myIntervalTree = intervalTree; myStart = start; 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 72180cd2ec84..7d1343e5ad70 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 @@ -28,7 +28,7 @@ public class RangeMarkerImpl extends UserDataHolderBase implements RangeMarkerEx private static final Logger LOG = Logger.getInstance("#com.intellij.openapi.editor.impl.RangeMarkerImpl"); protected final DocumentEx myDocument; - protected RangeMarkerTree.RMNode myNode; + protected RangeMarkerTree.RMNode myNode; private final long myId; private static final StripedIDGenerator counter = new StripedIDGenerator(); @@ -91,7 +91,7 @@ public class RangeMarkerImpl extends UserDataHolderBase implements RangeMarkerEx public void invalidate(final DocumentEvent e) { setValid(false); - RangeMarkerTree.RMNode node = myNode; + RangeMarkerTree.RMNode node = myNode; if (node != null) { node.processAliveKeys(new Processor() { diff --git a/platform/core-impl/src/com/intellij/openapi/editor/impl/RangeMarkerTree.java b/platform/core-impl/src/com/intellij/openapi/editor/impl/RangeMarkerTree.java index bd320dfc7462..6fc5bb1d8830 100644 --- a/platform/core-impl/src/com/intellij/openapi/editor/impl/RangeMarkerTree.java +++ b/platform/core-impl/src/com/intellij/openapi/editor/impl/RangeMarkerTree.java @@ -88,10 +88,10 @@ public class RangeMarkerTree extends IntervalTreeImpl.RMNode addInterval(@NotNull T interval, int start, int end, boolean greedyToLeft, boolean greedyToRight, int layer) { + public RMNode addInterval(@NotNull T interval, int start, int end, boolean greedyToLeft, boolean greedyToRight, int layer) { RangeMarkerImpl marker = (RangeMarkerImpl)interval; marker.setValid(true); - RangeMarkerTree.RMNode node = (RMNode)super.addInterval(interval, start, end, greedyToLeft, greedyToRight, layer); + RMNode node = (RMNode)super.addInterval(interval, start, end, greedyToLeft, greedyToRight, layer); if (DEBUG && node.intervals.size() > DUPLICATE_LIMIT) { l.readLock().lock(); @@ -113,7 +113,7 @@ public class RangeMarkerTree extends IntervalTreeImpl node) { @NonNls final StringBuilder msg = new StringBuilder(); final AtomicInteger alive = new AtomicInteger(); node.processAliveKeys(new Processor() { @@ -135,8 +135,8 @@ public class RangeMarkerTree extends IntervalTreeImpl createNewNode(@NotNull T key, int start, int end, boolean greedyToLeft, boolean greedyToRight, int layer) { + return new RMNode(this, key, start, end, greedyToLeft, greedyToRight); } @Override @@ -146,21 +146,26 @@ public class RangeMarkerTree extends IntervalTreeImpl.RMNode lookupNode(@NotNull T key) { - return (RMNode)((RangeMarkerImpl)key).myNode; + protected RMNode lookupNode(@NotNull T key) { + return (RMNode)((RangeMarkerImpl)key).myNode; } @Override protected void setNode(@NotNull T key, IntervalNode intervalNode) { - ((RangeMarkerImpl)key).myNode = (RangeMarkerTree.RMNode)intervalNode; + ((RangeMarkerImpl)key).myNode = (RMNode)intervalNode; } - public class RMNode extends IntervalTreeImpl.IntervalNode { + static class RMNode extends IntervalTreeImpl.IntervalNode { private final boolean isExpandToLeft; private final boolean isExpandToRight; - public RMNode(@NotNull T key, int start, int end, boolean greedyToLeft, boolean greedyToRight) { - super(RangeMarkerTree.this, key, start, end); + public RMNode(@NotNull RangeMarkerTree rangeMarkerTree, + @NotNull T key, + int start, + int end, + boolean greedyToLeft, + boolean greedyToRight) { + super(rangeMarkerTree, key, start, end); isExpandToLeft = greedyToLeft; isExpandToRight = greedyToRight; } @@ -227,7 +232,7 @@ public class RangeMarkerTree extends IntervalTreeImpl insertedNode = (RMNode)findOrInsert(node); // can change if two range become the one if (insertedNode != node) { // merge happened diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/RangeHighlighterTree.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/RangeHighlighterTree.java index 8a191e1b86bd..cd0947bc871f 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/RangeHighlighterTree.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/RangeHighlighterTree.java @@ -44,19 +44,20 @@ public class RangeHighlighterTree extends RangeMarkerTree { @NotNull @Override protected RHNode createNewNode(@NotNull RangeHighlighterEx key, int start, int end, boolean greedyToLeft, boolean greedyToRight, int layer) { - return new RHNode(key, start, end, greedyToLeft, greedyToRight,layer); + return new RHNode(this, key, start, end, greedyToLeft, greedyToRight,layer); } - class RHNode extends RangeMarkerTree.RMNode { + static class RHNode extends RMNode { final int myLayer; - public RHNode(@NotNull final RangeHighlighterEx key, + public RHNode(@NotNull RangeHighlighterTree rangeMarkerTree, + @NotNull final RangeHighlighterEx key, int start, int end, boolean greedyToLeft, boolean greedyToRight, int layer) { - super(key, start, end, greedyToLeft, greedyToRight); + super(rangeMarkerTree, key, start, end, greedyToLeft, greedyToRight); myLayer = layer; }