KT-944 iterations over empty ranges
This commit is contained in:
@@ -30,6 +30,10 @@ public final class ByteRange implements Range<Byte>, ByteIterable, JetObject {
|
||||
return start;
|
||||
}
|
||||
|
||||
public byte getIteratorStart () {
|
||||
return count == 0 ? 1 : start;
|
||||
}
|
||||
|
||||
public byte getEnd() {
|
||||
return (byte) (count < 0 ? start + count + 1: count == 0 ? 0 : start+count-1);
|
||||
}
|
||||
|
||||
@@ -30,6 +30,10 @@ public final class CharRange implements Range<Character>, CharIterable, JetObjec
|
||||
return start;
|
||||
}
|
||||
|
||||
public char getIteratorStart () {
|
||||
return count == 0 ? 1 : start;
|
||||
}
|
||||
|
||||
public char getEnd() {
|
||||
return (char) (count < 0 ? start + count + 1: count == 0 ? 0 : start+count-1);
|
||||
}
|
||||
|
||||
@@ -33,6 +33,10 @@ public final class IntRange implements Range<Integer>, IntIterable, JetObject {
|
||||
return count < 0;
|
||||
}
|
||||
|
||||
public int getIteratorStart () {
|
||||
return count == 0 ? 1 : start;
|
||||
}
|
||||
|
||||
public int getStart() {
|
||||
return start;
|
||||
}
|
||||
|
||||
@@ -37,6 +37,10 @@ public final class LongRange implements Range<Long>, LongIterable, JetObject {
|
||||
return start;
|
||||
}
|
||||
|
||||
public long getIteratorStart () {
|
||||
return count == 0 ? 1 : start;
|
||||
}
|
||||
|
||||
public long getEnd() {
|
||||
return count < 0 ? start + count + 1: count == 0 ? 0 : start+count-1;
|
||||
}
|
||||
|
||||
@@ -37,6 +37,10 @@ public final class ShortRange implements Range<Short>, ShortIterable, JetObject
|
||||
return start;
|
||||
}
|
||||
|
||||
public int getIteratorStart () {
|
||||
return count == 0 ? 1 : start;
|
||||
}
|
||||
|
||||
public short getEnd() {
|
||||
return (short) (count < 0 ? start + count + 1: count == 0 ? 0 : start+count-1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user