IDEA-CR-19534 default implementation of createRangeMarker / getLineSeparatorLength

remove isWritable from BaseDocumentAdapter
This commit is contained in:
Vladimir Krivosheev
2017-04-28 18:41:55 +02:00
parent ba2c92ea1d
commit 0354993fb1
6 changed files with 16 additions and 27 deletions
@@ -339,8 +339,12 @@ public interface Document extends UserDataHolder {
void setText(@NotNull final CharSequence text);
@NotNull
RangeMarker createRangeMarker(@NotNull TextRange textRange);
default RangeMarker createRangeMarker(@NotNull TextRange textRange) {
return createRangeMarker(textRange.getStartOffset(), textRange.getEndOffset());
}
@Contract(pure=true)
int getLineSeparatorLength(int line);
default int getLineSeparatorLength(int line) {
return 0;
}
}
@@ -979,12 +979,6 @@ public class DocumentImpl extends UserDataHolderBase implements DocumentEx {
clearLineModificationFlags();
}
@Override
@NotNull
public RangeMarker createRangeMarker(@NotNull final TextRange textRange) {
return createRangeMarker(textRange.getStartOffset(), textRange.getEndOffset());
}
@Override
public final boolean isInBulkUpdate() {
return myDoingBulkUpdate;
@@ -251,12 +251,6 @@ public class FrozenDocument implements DocumentEx {
throw new UnsupportedOperationException();
}
@NotNull
@Override
public RangeMarker createRangeMarker(@NotNull TextRange textRange) {
throw new UnsupportedOperationException();
}
@Override
public int getLineSeparatorLength(int line) {
return getLineSet().getSeparatorLength(line);
@@ -15,12 +15,9 @@
*/
package com.intellij.openapi.editor
import com.intellij.openapi.util.TextRange
import com.intellij.openapi.util.UserDataHolderBase
abstract class BaseDocumentAdapter : UserDataHolderBase(), Document {
override fun getLineSeparatorLength(line: Int) = 0
override fun getModificationStamp() = 0L
override fun insertString(offset: Int, s: CharSequence) {
@@ -39,8 +36,6 @@ abstract class BaseDocumentAdapter : UserDataHolderBase(), Document {
throw UnsupportedOperationException("Not implemented")
}
override fun isWritable() = false
override fun createRangeMarker(startOffset: Int, endOffset: Int): RangeMarker = throw UnsupportedOperationException("Not implemented")
override fun createRangeMarker(startOffset: Int, endOffset: Int, surviveOnExternalChange: Boolean): RangeMarker {
@@ -56,6 +51,4 @@ abstract class BaseDocumentAdapter : UserDataHolderBase(), Document {
override fun getOffsetGuard(offset: Int): RangeMarker? = null
override fun getRangeGuard(start: Int, end: Int): RangeMarker? = null
override fun createRangeMarker(textRange: TextRange): RangeMarker = throw UnsupportedOperationException("Not implemented")
}
@@ -436,5 +436,10 @@ public abstract class EditorTextFieldCellRenderer implements TableCellRenderer,
@Override
public int getLineEndOffset(int line) { return myChars.length == 0 ? 0 : myLineSet.getLineEnd(line); }
@Override
public boolean isWritable() {
return false;
}
}
}
@@ -107,6 +107,11 @@ public class MockDocument extends BaseDocumentAdapter implements DocumentEx {
myModStamp = LocalTimeCounter.currentTime();
}
@Override
public boolean isWritable() {
return false;
}
@Override
public long getModificationStamp() {
return myModStamp;
@@ -133,12 +138,6 @@ public class MockDocument extends BaseDocumentAdapter implements DocumentEx {
return null;
}
@Override
@NotNull
public RangeMarker createRangeMarker(@NotNull final TextRange textRange) {
return createRangeMarker(textRange.getStartOffset(), textRange.getEndOffset());
}
@Override
public void registerRangeMarker(@NotNull RangeMarkerEx rangeMarker, int start, int end, boolean greedyToLeft, boolean greedyToRight, int layer) {
}