From ac5b270ef6e43794a359ec82109bfaadeba27ccf Mon Sep 17 00:00:00 2001 From: Danila Ponomarenko Date: Thu, 7 Jun 2012 16:44:09 +0400 Subject: [PATCH] Revert: correct fold region length assertions, allow single character folding (0e35f229a4cbcbabcb5b40a8e819dcae52574c88) --- .../src/com/intellij/lang/folding/FoldingDescriptor.java | 4 ++-- .../src/com/intellij/openapi/editor/impl/FoldRegionImpl.java | 2 +- .../com/intellij/openapi/editor/impl/FoldingModelImpl.java | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/platform/lang-api/src/com/intellij/lang/folding/FoldingDescriptor.java b/platform/lang-api/src/com/intellij/lang/folding/FoldingDescriptor.java index 5b8b49bdd718..1b2253bb7555 100644 --- a/platform/lang-api/src/com/intellij/lang/folding/FoldingDescriptor.java +++ b/platform/lang-api/src/com/intellij/lang/folding/FoldingDescriptor.java @@ -94,12 +94,12 @@ 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.getStartOffset() + 1 < range.getEndOffset() : range + ", text: " + node.getText() + ", language = " + node.getPsi().getLanguage(); myElement = node; ProperTextRange.assertProperRange(range); myRange = range; myGroup = group; - assert getRange().getLength() >= 1 : "range:" + getRange(); + assert getRange().getLength() >= 2 : "range:" + getRange(); myDependencies = dependencies; 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 390ec2d09545..680ed70bc405 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() + 1 < 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 1a2a9bce6896..611456fe84f0 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 @@ -503,7 +503,7 @@ public class FoldingModelImpl implements FoldingModelEx, PrioritizedDocumentList public FoldRegion createFoldRegion(int startOffset, int endOffset, @NotNull String placeholder, @Nullable FoldingGroup group, boolean neverExpands) { - if (startOffset + 1 > endOffset) { + if (startOffset + 1 >= endOffset) { LOG.error("Invalid offsets: ("+startOffset+", "+endOffset+")"); } FoldRegionImpl region = new FoldRegionImpl(myEditor, startOffset, endOffset, placeholder, group, neverExpands);