Subclassed ranges from sequence.
This commit is contained in:
@@ -6,71 +6,85 @@ public trait Range<in T : Comparable<T>> {
|
|||||||
public fun contains(item : T) : Boolean
|
public fun contains(item : T) : Boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
public class IntRange(public override val start : Int, public override val end : Int) : Range<Int>, IntIterable {
|
public class IntRange(public override val start : Int, public override val end : Int) : Range<Int>, NumberSequence<Int>, IntIterable {
|
||||||
public override fun iterator () : IntIterator
|
public override fun iterator () : IntIterator
|
||||||
|
|
||||||
public override fun contains (elem: Int) : Boolean
|
public override fun contains (elem: Int) : Boolean
|
||||||
|
|
||||||
|
public override val increment: Int
|
||||||
|
|
||||||
public class object {
|
public class object {
|
||||||
public val EMPTY: IntRange
|
public val EMPTY: IntRange
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class LongRange(public override val start : Long, public override val end : Long) : Range<Long>, LongIterable {
|
public class LongRange(public override val start : Long, public override val end : Long) : Range<Long>, NumberSequence<Long>, LongIterable {
|
||||||
public override fun iterator () : LongIterator
|
public override fun iterator () : LongIterator
|
||||||
|
|
||||||
public override fun contains (elem: Long) : Boolean
|
public override fun contains (elem: Long) : Boolean
|
||||||
|
|
||||||
|
public override val increment: Long
|
||||||
|
|
||||||
public class object {
|
public class object {
|
||||||
public val EMPTY: LongRange
|
public val EMPTY: LongRange
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ByteRange(public override val start : Byte, public override val end : Byte) : Range<Byte>, ByteIterable {
|
public class ByteRange(public override val start : Byte, public override val end : Byte) : Range<Byte>, NumberSequence<Byte>, ByteIterable {
|
||||||
public override fun iterator () : ByteIterator
|
public override fun iterator () : ByteIterator
|
||||||
|
|
||||||
public override fun contains (elem: Byte) : Boolean
|
public override fun contains (elem: Byte) : Boolean
|
||||||
|
|
||||||
|
public override val increment: Int
|
||||||
|
|
||||||
public class object {
|
public class object {
|
||||||
public val EMPTY: ByteRange
|
public val EMPTY: ByteRange
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ShortRange(public override val start : Short, public override val end : Short) : Range<Short>, ShortIterable {
|
public class ShortRange(public override val start : Short, public override val end : Short) : Range<Short>, NumberSequence<Short>, ShortIterable {
|
||||||
public override fun iterator () : ShortIterator
|
public override fun iterator () : ShortIterator
|
||||||
|
|
||||||
public override fun contains (elem: Short) : Boolean
|
public override fun contains (elem: Short) : Boolean
|
||||||
|
|
||||||
|
public override val increment: Int
|
||||||
|
|
||||||
public class object {
|
public class object {
|
||||||
public val EMPTY: ShortRange
|
public val EMPTY: ShortRange
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class CharRange(public override val start : Char, public override val end : Char) : Range<Char>, CharIterable {
|
public class CharRange(public override val start : Char, public override val end : Char) : Range<Char>, NumberSequence<Char>, CharIterable {
|
||||||
public override fun iterator () : CharIterator
|
public override fun iterator () : CharIterator
|
||||||
|
|
||||||
public override fun contains (elem: Char) : Boolean
|
public override fun contains (elem: Char) : Boolean
|
||||||
|
|
||||||
|
public override val increment: Int
|
||||||
|
|
||||||
public class object {
|
public class object {
|
||||||
public val EMPTY: CharRange
|
public val EMPTY: CharRange
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class FloatRange(public override val start : Float, public override val end : Float) : Range<Float>, FloatIterable {
|
public class FloatRange(public override val start : Float, public override val end : Float) : Range<Float>, NumberSequence<Float>, FloatIterable {
|
||||||
public override fun iterator () : FloatIterator
|
public override fun iterator () : FloatIterator
|
||||||
|
|
||||||
public override fun contains (elem: Float) : Boolean
|
public override fun contains (elem: Float) : Boolean
|
||||||
|
|
||||||
|
public override val increment: Float
|
||||||
|
|
||||||
public class object {
|
public class object {
|
||||||
public val EMPTY: FloatRange
|
public val EMPTY: FloatRange
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class DoubleRange(public override val start : Double, public override val end : Double) : Range<Double>, DoubleIterable {
|
public class DoubleRange(public override val start : Double, public override val end : Double) : Range<Double>, NumberSequence<Double>, DoubleIterable {
|
||||||
public override fun iterator () : DoubleIterator
|
public override fun iterator () : DoubleIterator
|
||||||
|
|
||||||
public override fun contains (elem: Double) : Boolean
|
public override fun contains (elem: Double) : Boolean
|
||||||
|
|
||||||
|
public override val increment: Double
|
||||||
|
|
||||||
public class object {
|
public class object {
|
||||||
public val EMPTY: DoubleRange
|
public val EMPTY: DoubleRange
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ package jet;
|
|||||||
import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver;
|
import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver;
|
||||||
|
|
||||||
@AssertInvisibleInResolver
|
@AssertInvisibleInResolver
|
||||||
public final class ByteRange implements Range<Byte>, ByteIterable {
|
public final class ByteRange implements Range<Byte>, NumberSequence<Byte>, ByteIterable {
|
||||||
private final byte start;
|
private final byte start;
|
||||||
private final byte end;
|
private final byte end;
|
||||||
|
|
||||||
@@ -74,6 +74,11 @@ public final class ByteRange implements Range<Byte>, ByteIterable {
|
|||||||
return end;
|
return end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Integer getIncrement() {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ByteIterator iterator() {
|
public ByteIterator iterator() {
|
||||||
return new ByteSequenceIterator(getStart(), getEnd(), 1);
|
return new ByteSequenceIterator(getStart(), getEnd(), 1);
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ package jet;
|
|||||||
import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver;
|
import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver;
|
||||||
|
|
||||||
@AssertInvisibleInResolver
|
@AssertInvisibleInResolver
|
||||||
public final class CharRange implements Range<Character>, CharIterable {
|
public final class CharRange implements Range<Character>, NumberSequence<Character>, CharIterable {
|
||||||
private final char start;
|
private final char start;
|
||||||
private final char end;
|
private final char end;
|
||||||
|
|
||||||
@@ -74,6 +74,11 @@ public final class CharRange implements Range<Character>, CharIterable {
|
|||||||
return end;
|
return end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Integer getIncrement() {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CharIterator iterator() {
|
public CharIterator iterator() {
|
||||||
return new CharacterSequenceIterator(getStart(), getEnd(), 1);
|
return new CharacterSequenceIterator(getStart(), getEnd(), 1);
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ package jet;
|
|||||||
import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver;
|
import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver;
|
||||||
|
|
||||||
@AssertInvisibleInResolver
|
@AssertInvisibleInResolver
|
||||||
public final class DoubleRange implements Range<Double>, DoubleIterable {
|
public final class DoubleRange implements Range<Double>, NumberSequence<Double>, DoubleIterable {
|
||||||
private final double start;
|
private final double start;
|
||||||
private final double end;
|
private final double end;
|
||||||
|
|
||||||
@@ -75,6 +75,11 @@ public final class DoubleRange implements Range<Double>, DoubleIterable {
|
|||||||
return end;
|
return end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Double getIncrement() {
|
||||||
|
return 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DoubleIterator iterator() {
|
public DoubleIterator iterator() {
|
||||||
return new DoubleSequenceIterator(getStart(), getEnd(), 1);
|
return new DoubleSequenceIterator(getStart(), getEnd(), 1);
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ package jet;
|
|||||||
import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver;
|
import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver;
|
||||||
|
|
||||||
@AssertInvisibleInResolver
|
@AssertInvisibleInResolver
|
||||||
public final class FloatRange implements Range<Float>, FloatIterable {
|
public final class FloatRange implements Range<Float>, NumberSequence<Float>, FloatIterable {
|
||||||
private final float start;
|
private final float start;
|
||||||
private final float end;
|
private final float end;
|
||||||
|
|
||||||
@@ -71,6 +71,11 @@ public final class FloatRange implements Range<Float>, FloatIterable {
|
|||||||
return end;
|
return end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Float getIncrement() {
|
||||||
|
return 1.0f;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public FloatIterator iterator() {
|
public FloatIterator iterator() {
|
||||||
return new FloatSequenceIterator(getStart(), getEnd(), 1);
|
return new FloatSequenceIterator(getStart(), getEnd(), 1);
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ package jet;
|
|||||||
import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver;
|
import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver;
|
||||||
|
|
||||||
@AssertInvisibleInResolver
|
@AssertInvisibleInResolver
|
||||||
public final class IntRange implements Range<Integer>, IntIterable {
|
public final class IntRange implements Range<Integer>, NumberSequence<Integer>, IntIterable {
|
||||||
private final int start;
|
private final int start;
|
||||||
private final int end;
|
private final int end;
|
||||||
|
|
||||||
@@ -74,6 +74,11 @@ public final class IntRange implements Range<Integer>, IntIterable {
|
|||||||
return end;
|
return end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Integer getIncrement() {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IntIterator iterator() {
|
public IntIterator iterator() {
|
||||||
return new IntSequenceIterator(getStart(), getEnd(), 1);
|
return new IntSequenceIterator(getStart(), getEnd(), 1);
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ package jet;
|
|||||||
import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver;
|
import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver;
|
||||||
|
|
||||||
@AssertInvisibleInResolver
|
@AssertInvisibleInResolver
|
||||||
public final class LongRange implements Range<Long>, LongIterable {
|
public final class LongRange implements Range<Long>, NumberSequence<Long>, LongIterable {
|
||||||
private final long start;
|
private final long start;
|
||||||
private final long end;
|
private final long end;
|
||||||
|
|
||||||
@@ -74,6 +74,11 @@ public final class LongRange implements Range<Long>, LongIterable {
|
|||||||
return end;
|
return end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Long getIncrement() {
|
||||||
|
return 1L;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public LongIterator iterator() {
|
public LongIterator iterator() {
|
||||||
return new LongSequenceIterator(getStart(), getEnd(), 1);
|
return new LongSequenceIterator(getStart(), getEnd(), 1);
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ package jet;
|
|||||||
import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver;
|
import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver;
|
||||||
|
|
||||||
@AssertInvisibleInResolver
|
@AssertInvisibleInResolver
|
||||||
public final class ShortRange implements Range<Short>, ShortIterable {
|
public final class ShortRange implements Range<Short>, NumberSequence<Short>, ShortIterable {
|
||||||
private final short start;
|
private final short start;
|
||||||
private final short end;
|
private final short end;
|
||||||
|
|
||||||
@@ -74,6 +74,11 @@ public final class ShortRange implements Range<Short>, ShortIterable {
|
|||||||
return end;
|
return end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Integer getIncrement() {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ShortIterator iterator() {
|
public ShortIterator iterator() {
|
||||||
return new ShortSequenceIterator(getStart(), getEnd(), 1);
|
return new ShortSequenceIterator(getStart(), getEnd(), 1);
|
||||||
|
|||||||
Reference in New Issue
Block a user