From 33ca415a45a5a55e4e0aa42dce46dc1de490f0fb Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Mon, 23 Jun 2014 19:44:32 +0200 Subject: [PATCH] platform: folding assertions relaxed to allow regions of length 1 --- .../com/intellij/lang/folding/FoldingDescriptor.java | 6 ++---- .../intellij/openapi/editor/impl/FoldRegionImpl.java | 2 +- .../openapi/editor/impl/FoldingModelImpl.java | 12 +++++------- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/platform/core-api/src/com/intellij/lang/folding/FoldingDescriptor.java b/platform/core-api/src/com/intellij/lang/folding/FoldingDescriptor.java index b0ad393bec35..21c866325dcf 100644 --- a/platform/core-api/src/com/intellij/lang/folding/FoldingDescriptor.java +++ b/platform/core-api/src/com/intellij/lang/folding/FoldingDescriptor.java @@ -18,7 +18,6 @@ package com.intellij.lang.folding; import com.intellij.lang.ASTNode; import com.intellij.lang.Language; import com.intellij.openapi.editor.FoldingGroup; -import com.intellij.openapi.util.ProperTextRange; import com.intellij.openapi.util.TextRange; import com.intellij.psi.PsiElement; import com.intellij.util.ObjectUtils; @@ -94,12 +93,11 @@ public class FoldingDescriptor { @Nullable FoldingGroup group, Set dependencies, boolean neverExpands) { - assert range.getStartOffset() + 1 < range.getEndOffset() : range + ", text: " + node.getText() + ", language = " + node.getPsi().getLanguage(); + assert range.getLength() > 0 : range + ", text: " + node.getText() + ", language = " + node.getPsi().getLanguage(); myElement = node; - ProperTextRange.assertProperRange(range); + TextRange.assertProperRange(range); myRange = range; myGroup = group; - assert getRange().getLength() >= 2 : "range:" + getRange(); myDependencies = dependencies; assert !myDependencies.contains(null); myNeverExpands = neverExpands; diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/FoldRegionImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/FoldRegionImpl.java index 680ed70bc405..46db15c333dc 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/FoldRegionImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/FoldRegionImpl.java @@ -91,7 +91,7 @@ public class FoldRegionImpl extends RangeMarkerImpl implements FoldRegion { @Override public boolean isValid() { - return super.isValid() && intervalStart() + 1 < intervalEnd(); + return super.isValid() && intervalStart() < intervalEnd(); } public void setExpandedInternal(boolean toExpand) { diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/FoldingModelImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/FoldingModelImpl.java index 0621ff4afb76..694bc75a5751 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/FoldingModelImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/FoldingModelImpl.java @@ -529,12 +529,11 @@ public class FoldingModelImpl implements FoldingModelEx, PrioritizedDocumentList } @Override - public FoldRegion createFoldRegion(int startOffset, int endOffset, @NotNull String placeholder, @Nullable FoldingGroup group, - boolean neverExpands) - { - if (startOffset + 1 >= endOffset) { - LOG.error("Invalid offsets: ("+startOffset+", "+endOffset+")"); - } + public FoldRegion createFoldRegion(int startOffset, + int endOffset, + @NotNull String placeholder, + @Nullable FoldingGroup group, + boolean neverExpands) { FoldRegionImpl region = new FoldRegionImpl(myEditor, startOffset, endOffset, placeholder, group, neverExpands); LOG.assertTrue(region.isValid()); return region; @@ -551,7 +550,6 @@ public class FoldingModelImpl implements FoldingModelEx, PrioritizedDocumentList }); } - private void notifyListenersOnFoldRegionStateChange(@NotNull FoldRegion foldRegion) { for (FoldingListener listener : myListeners) { listener.onFoldRegionStateChange(foldRegion);