Subclassed ranges from sequence.
This commit is contained in:
@@ -19,7 +19,7 @@ package jet;
|
||||
import org.jetbrains.jet.rt.annotation.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 end;
|
||||
|
||||
@@ -74,6 +74,11 @@ public final class ByteRange implements Range<Byte>, ByteIterable {
|
||||
return end;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getIncrement() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ByteIterator iterator() {
|
||||
return new ByteSequenceIterator(getStart(), getEnd(), 1);
|
||||
|
||||
@@ -19,7 +19,7 @@ package jet;
|
||||
import org.jetbrains.jet.rt.annotation.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 end;
|
||||
|
||||
@@ -74,6 +74,11 @@ public final class CharRange implements Range<Character>, CharIterable {
|
||||
return end;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getIncrement() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CharIterator iterator() {
|
||||
return new CharacterSequenceIterator(getStart(), getEnd(), 1);
|
||||
|
||||
@@ -19,7 +19,7 @@ package jet;
|
||||
import org.jetbrains.jet.rt.annotation.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 end;
|
||||
|
||||
@@ -75,6 +75,11 @@ public final class DoubleRange implements Range<Double>, DoubleIterable {
|
||||
return end;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Double getIncrement() {
|
||||
return 1.0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DoubleIterator iterator() {
|
||||
return new DoubleSequenceIterator(getStart(), getEnd(), 1);
|
||||
|
||||
@@ -19,7 +19,7 @@ package jet;
|
||||
import org.jetbrains.jet.rt.annotation.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 end;
|
||||
|
||||
@@ -71,6 +71,11 @@ public final class FloatRange implements Range<Float>, FloatIterable {
|
||||
return end;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Float getIncrement() {
|
||||
return 1.0f;
|
||||
}
|
||||
|
||||
@Override
|
||||
public FloatIterator iterator() {
|
||||
return new FloatSequenceIterator(getStart(), getEnd(), 1);
|
||||
|
||||
@@ -19,7 +19,7 @@ package jet;
|
||||
import org.jetbrains.jet.rt.annotation.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 end;
|
||||
|
||||
@@ -74,6 +74,11 @@ public final class IntRange implements Range<Integer>, IntIterable {
|
||||
return end;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getIncrement() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IntIterator iterator() {
|
||||
return new IntSequenceIterator(getStart(), getEnd(), 1);
|
||||
|
||||
@@ -19,7 +19,7 @@ package jet;
|
||||
import org.jetbrains.jet.rt.annotation.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 end;
|
||||
|
||||
@@ -74,6 +74,11 @@ public final class LongRange implements Range<Long>, LongIterable {
|
||||
return end;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long getIncrement() {
|
||||
return 1L;
|
||||
}
|
||||
|
||||
@Override
|
||||
public LongIterator iterator() {
|
||||
return new LongSequenceIterator(getStart(), getEnd(), 1);
|
||||
|
||||
@@ -19,7 +19,7 @@ package jet;
|
||||
import org.jetbrains.jet.rt.annotation.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 end;
|
||||
|
||||
@@ -74,6 +74,11 @@ public final class ShortRange implements Range<Short>, ShortIterable {
|
||||
return end;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getIncrement() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ShortIterator iterator() {
|
||||
return new ShortSequenceIterator(getStart(), getEnd(), 1);
|
||||
|
||||
Reference in New Issue
Block a user