Renamed NumberSequence to Progression.

This commit is contained in:
Evgeny Gerashchenko
2013-01-29 21:54:55 +04:00
parent dd4b508213
commit 58f37f38f4
34 changed files with 326 additions and 327 deletions
@@ -157,19 +157,19 @@ public class IntrinsicMethods {
}
for (PrimitiveType type : PrimitiveType.NUMBER_TYPES) {
registerRangeOrSequenceProperty(type.getRangeClassName(), Name.identifier("start"));
registerRangeOrSequenceProperty(type.getRangeClassName(), Name.identifier("end"));
registerRangeOrProgressionProperty(type.getRangeClassName(), Name.identifier("start"));
registerRangeOrProgressionProperty(type.getRangeClassName(), Name.identifier("end"));
registerRangeOrSequenceProperty(type.getSequenceClassName(), Name.identifier("start"));
registerRangeOrSequenceProperty(type.getSequenceClassName(), Name.identifier("end"));
registerRangeOrSequenceProperty(type.getSequenceClassName(), Name.identifier("increment"));
registerRangeOrProgressionProperty(type.getProgressionClassName(), Name.identifier("start"));
registerRangeOrProgressionProperty(type.getProgressionClassName(), Name.identifier("end"));
registerRangeOrProgressionProperty(type.getProgressionClassName(), Name.identifier("increment"));
}
declareArrayMethods();
}
private void registerRangeOrSequenceProperty(@NotNull FqName ownerClass, @NotNull Name propertyName) {
intrinsicsMap.registerIntrinsic(ownerClass, propertyName, -1, new PropertyOfSequenceOrRange(ownerClass, propertyName));
private void registerRangeOrProgressionProperty(@NotNull FqName ownerClass, @NotNull Name propertyName) {
intrinsicsMap.registerIntrinsic(ownerClass, propertyName, -1, new PropertyOfProgressionOrRange(ownerClass, propertyName));
}
@NotNull
@@ -33,11 +33,11 @@ import org.jetbrains.jet.lang.resolve.name.Name;
import java.util.List;
public class PropertyOfSequenceOrRange implements IntrinsicMethod {
public class PropertyOfProgressionOrRange implements IntrinsicMethod {
private final FqName ownerClass;
private final Name propertyName;
public PropertyOfSequenceOrRange(@NotNull FqName ownerClass, @NotNull Name propertyName) {
public PropertyOfProgressionOrRange(@NotNull FqName ownerClass, @NotNull Name propertyName) {
this.ownerClass = ownerClass;
this.propertyName = propertyName;
}
+22 -22
View File
@@ -9,7 +9,7 @@ public trait Range<in T: Comparable<T>> {
public class IntRange(
public override val start: Int,
public override val end : Int
) : Range<Int>, NumberSequence<Int> {
) : Range<Int>, Progression<Int> {
public override fun iterator() : IntIterator
@@ -25,7 +25,7 @@ public class IntRange(
public class LongRange(
public override val start: Long,
public override val end: Long
) : Range<Long>, NumberSequence<Long> {
) : Range<Long>, Progression<Long> {
public override fun iterator(): LongIterator
@@ -41,7 +41,7 @@ public class LongRange(
public class ByteRange(
public override val start: Byte,
public override val end : Byte
): Range<Byte>, NumberSequence<Byte> {
): Range<Byte>, Progression<Byte> {
public override fun iterator(): ByteIterator
@@ -57,7 +57,7 @@ public class ByteRange(
public class ShortRange(
public override val start: Short,
public override val end: Short
) : Range<Short>, NumberSequence<Short> {
) : Range<Short>, Progression<Short> {
public override fun iterator(): ShortIterator
@@ -73,7 +73,7 @@ public class ShortRange(
public class CharRange(
public override val start: Char,
public override val end: Char
) : Range<Char>, NumberSequence<Char> {
) : Range<Char>, Progression<Char> {
public override fun iterator(): CharIterator
@@ -89,7 +89,7 @@ public class CharRange(
public class FloatRange(
public override val start: Float,
public override val end: Float
) : Range<Float>, NumberSequence<Float> {
) : Range<Float>, Progression<Float> {
public override fun iterator(): FloatIterator
@@ -105,7 +105,7 @@ public class FloatRange(
public class DoubleRange(
public override val start: Double,
public override val end: Double
) : Range<Double>, NumberSequence<Double> {
) : Range<Double>, Progression<Double> {
public override fun iterator() : DoubleIterator
@@ -119,71 +119,71 @@ public class DoubleRange(
}
public trait NumberSequence<N: Any>: Iterable<N> {
public trait Progression<N: Any>: Iterable<N> {
public val start: N
public val end: N
public val increment: Number
}
public class IntSequence(
public class IntProgression(
public override val start: Int,
public override val end: Int,
public override val increment: Int
): NumberSequence<Int> {
): Progression<Int> {
override fun iterator(): IntIterator
}
public class LongSequence(
public class LongProgression(
public override val start: Long,
public override val end: Long,
public override val increment: Long
): NumberSequence<Long> {
): Progression<Long> {
override fun iterator(): LongIterator
}
public class ByteSequence(
public class ByteProgression(
public override val start: Byte,
public override val end: Byte,
public override val increment: Int
): NumberSequence<Byte> {
): Progression<Byte> {
override fun iterator(): ByteIterator
}
public class ShortSequence(
public class ShortProgression(
public override val start: Short,
public override val end: Short,
public override val increment: Int
): NumberSequence<Short> {
): Progression<Short> {
override fun iterator(): ShortIterator
}
public class CharacterSequence(
public class CharProgression(
public override val start: Char,
public override val end: Char,
public override val increment: Int
): NumberSequence<Char> {
): Progression<Char> {
override fun iterator(): CharIterator
}
public class FloatSequence(
public class FloatProgression(
public override val start: Float,
public override val end: Float,
public override val increment: Float
): NumberSequence<Float> {
): Progression<Float> {
override fun iterator(): FloatIterator
}
public class DoubleSequence(
public class DoubleProgression(
public override val start: Double,
public override val end: Double,
public override val increment: Double
): NumberSequence<Double> {
): Progression<Double> {
override fun iterator(): DoubleIterator
}
@@ -41,7 +41,7 @@ public enum PrimitiveType {
private final FqName className;
private final FqName arrayClassName;
private final FqName rangeClassName;
private final FqName sequenceClassName;
private final FqName progressionClassName;
private PrimitiveType(String typeName) {
this.typeName = Name.identifier(typeName);
@@ -51,8 +51,7 @@ public enum PrimitiveType {
this.className = builtInsPackageFqName.child(this.typeName);
this.arrayClassName = builtInsPackageFqName.child(this.arrayTypeName);
this.rangeClassName = builtInsPackageFqName.child(this.rangeTypeName);
this.sequenceClassName = builtInsPackageFqName.child(
Name.identifier((typeName == "Char") ? "CharacterSequence" : typeName + "Sequence"));
this.progressionClassName = builtInsPackageFqName.child(Name.identifier(typeName + "Progression"));
}
@NotNull
@@ -86,7 +85,7 @@ public enum PrimitiveType {
}
@NotNull
public FqName getSequenceClassName() {
return sequenceClassName;
public FqName getProgressionClassName() {
return progressionClassName;
}
}
+64 -64
View File
@@ -131,7 +131,15 @@ public abstract class ByteIterator : jet.Iterator<jet.Byte> {
public abstract fun nextByte() : jet.Byte
}
public final class ByteRange : jet.Range<jet.Byte>, jet.NumberSequence<jet.Byte> {
public final class ByteProgression : jet.Progression<jet.Byte> {
public constructor ByteProgression(/*0*/ start : jet.Byte, /*1*/ end : jet.Byte, /*2*/ increment : jet.Int)
public open override /*1*/ val end : jet.Byte
public open override /*1*/ val increment : jet.Int
public open override /*1*/ val start : jet.Byte
public open override /*1*/ fun iterator() : jet.ByteIterator
}
public final class ByteRange : jet.Range<jet.Byte>, jet.Progression<jet.Byte> {
public constructor ByteRange(/*0*/ start : jet.Byte, /*1*/ end : jet.Byte)
public open override /*2*/ val end : jet.Byte
public open override /*1*/ val increment : jet.Int
@@ -145,14 +153,6 @@ public final class ByteRange : jet.Range<jet.Byte>, jet.NumberSequence<jet.Byte>
}
}
public final class ByteSequence : jet.NumberSequence<jet.Byte> {
public constructor ByteSequence(/*0*/ start : jet.Byte, /*1*/ end : jet.Byte, /*2*/ increment : jet.Int)
public open override /*1*/ val end : jet.Byte
public open override /*1*/ val increment : jet.Int
public open override /*1*/ val start : jet.Byte
public open override /*1*/ fun iterator() : jet.ByteIterator
}
public final class Char : jet.Number, jet.Comparable<jet.Char> {
public constructor Char()
public final fun compareTo(/*0*/ other : jet.Byte) : jet.Int
@@ -225,7 +225,15 @@ public abstract class CharIterator : jet.Iterator<jet.Char> {
public abstract fun nextChar() : jet.Char
}
public final class CharRange : jet.Range<jet.Char>, jet.NumberSequence<jet.Char> {
public final class CharProgression : jet.Progression<jet.Char> {
public constructor CharProgression(/*0*/ start : jet.Char, /*1*/ end : jet.Char, /*2*/ increment : jet.Int)
public open override /*1*/ val end : jet.Char
public open override /*1*/ val increment : jet.Int
public open override /*1*/ val start : jet.Char
public open override /*1*/ fun iterator() : jet.CharIterator
}
public final class CharRange : jet.Range<jet.Char>, jet.Progression<jet.Char> {
public constructor CharRange(/*0*/ start : jet.Char, /*1*/ end : jet.Char)
public open override /*2*/ val end : jet.Char
public open override /*1*/ val increment : jet.Int
@@ -245,14 +253,6 @@ public trait CharSequence {
public abstract fun toString() : jet.String
}
public final class CharacterSequence : jet.NumberSequence<jet.Char> {
public constructor CharacterSequence(/*0*/ start : jet.Char, /*1*/ end : jet.Char, /*2*/ increment : jet.Int)
public open override /*1*/ val end : jet.Char
public open override /*1*/ val increment : jet.Int
public open override /*1*/ val start : jet.Char
public open override /*1*/ fun iterator() : jet.CharIterator
}
public trait Collection</*0*/ out E> : jet.Iterable<E>, jet.Hashable {
public abstract fun contains(/*0*/ o : jet.Any?) : jet.Boolean
public abstract fun containsAll(/*0*/ c : jet.Collection<jet.Any?>) : jet.Boolean
@@ -350,7 +350,15 @@ public abstract class DoubleIterator : jet.Iterator<jet.Double> {
public abstract fun nextDouble() : jet.Double
}
public final class DoubleRange : jet.Range<jet.Double>, jet.NumberSequence<jet.Double> {
public final class DoubleProgression : jet.Progression<jet.Double> {
public constructor DoubleProgression(/*0*/ start : jet.Double, /*1*/ end : jet.Double, /*2*/ increment : jet.Double)
public open override /*1*/ val end : jet.Double
public open override /*1*/ val increment : jet.Double
public open override /*1*/ val start : jet.Double
public open override /*1*/ fun iterator() : jet.DoubleIterator
}
public final class DoubleRange : jet.Range<jet.Double>, jet.Progression<jet.Double> {
public constructor DoubleRange(/*0*/ start : jet.Double, /*1*/ end : jet.Double)
public open override /*2*/ val end : jet.Double
public open override /*1*/ val increment : jet.Double
@@ -364,14 +372,6 @@ public final class DoubleRange : jet.Range<jet.Double>, jet.NumberSequence<jet.D
}
}
public final class DoubleSequence : jet.NumberSequence<jet.Double> {
public constructor DoubleSequence(/*0*/ start : jet.Double, /*1*/ end : jet.Double, /*2*/ increment : jet.Double)
public open override /*1*/ val end : jet.Double
public open override /*1*/ val increment : jet.Double
public open override /*1*/ val start : jet.Double
public open override /*1*/ fun iterator() : jet.DoubleIterator
}
public abstract class Enum</*0*/ E : jet.Enum<E>> {
public constructor Enum</*0*/ E : jet.Enum<E>>(/*0*/ name : jet.String, /*1*/ ordinal : jet.Int)
public final fun name() : jet.String
@@ -575,7 +575,15 @@ public abstract class FloatIterator : jet.Iterator<jet.Float> {
public abstract fun nextFloat() : jet.Float
}
public final class FloatRange : jet.Range<jet.Float>, jet.NumberSequence<jet.Float> {
public final class FloatProgression : jet.Progression<jet.Float> {
public constructor FloatProgression(/*0*/ start : jet.Float, /*1*/ end : jet.Float, /*2*/ increment : jet.Float)
public open override /*1*/ val end : jet.Float
public open override /*1*/ val increment : jet.Float
public open override /*1*/ val start : jet.Float
public open override /*1*/ fun iterator() : jet.FloatIterator
}
public final class FloatRange : jet.Range<jet.Float>, jet.Progression<jet.Float> {
public constructor FloatRange(/*0*/ start : jet.Float, /*1*/ end : jet.Float)
public open override /*2*/ val end : jet.Float
public open override /*1*/ val increment : jet.Float
@@ -589,14 +597,6 @@ public final class FloatRange : jet.Range<jet.Float>, jet.NumberSequence<jet.Flo
}
}
public final class FloatSequence : jet.NumberSequence<jet.Float> {
public constructor FloatSequence(/*0*/ start : jet.Float, /*1*/ end : jet.Float, /*2*/ increment : jet.Float)
public open override /*1*/ val end : jet.Float
public open override /*1*/ val increment : jet.Float
public open override /*1*/ val start : jet.Float
public open override /*1*/ fun iterator() : jet.FloatIterator
}
public abstract class Function0</*0*/ out R> {
public constructor Function0</*0*/ out R>()
public abstract fun invoke() : R
@@ -806,7 +806,15 @@ public abstract class IntIterator : jet.Iterator<jet.Int> {
public abstract fun nextInt() : jet.Int
}
public final class IntRange : jet.Range<jet.Int>, jet.NumberSequence<jet.Int> {
public final class IntProgression : jet.Progression<jet.Int> {
public constructor IntProgression(/*0*/ start : jet.Int, /*1*/ end : jet.Int, /*2*/ increment : jet.Int)
public open override /*1*/ val end : jet.Int
public open override /*1*/ val increment : jet.Int
public open override /*1*/ val start : jet.Int
public open override /*1*/ fun iterator() : jet.IntIterator
}
public final class IntRange : jet.Range<jet.Int>, jet.Progression<jet.Int> {
public constructor IntRange(/*0*/ start : jet.Int, /*1*/ end : jet.Int)
public open override /*2*/ val end : jet.Int
public open override /*1*/ val increment : jet.Int
@@ -820,14 +828,6 @@ public final class IntRange : jet.Range<jet.Int>, jet.NumberSequence<jet.Int> {
}
}
public final class IntSequence : jet.NumberSequence<jet.Int> {
public constructor IntSequence(/*0*/ start : jet.Int, /*1*/ end : jet.Int, /*2*/ increment : jet.Int)
public open override /*1*/ val end : jet.Int
public open override /*1*/ val increment : jet.Int
public open override /*1*/ val start : jet.Int
public open override /*1*/ fun iterator() : jet.IntIterator
}
public trait Iterable</*0*/ out T> {
public abstract fun iterator() : jet.Iterator<T>
}
@@ -953,7 +953,15 @@ public abstract class LongIterator : jet.Iterator<jet.Long> {
public abstract fun nextLong() : jet.Long
}
public final class LongRange : jet.Range<jet.Long>, jet.NumberSequence<jet.Long> {
public final class LongProgression : jet.Progression<jet.Long> {
public constructor LongProgression(/*0*/ start : jet.Long, /*1*/ end : jet.Long, /*2*/ increment : jet.Long)
public open override /*1*/ val end : jet.Long
public open override /*1*/ val increment : jet.Long
public open override /*1*/ val start : jet.Long
public open override /*1*/ fun iterator() : jet.LongIterator
}
public final class LongRange : jet.Range<jet.Long>, jet.Progression<jet.Long> {
public constructor LongRange(/*0*/ start : jet.Long, /*1*/ end : jet.Long)
public open override /*2*/ val end : jet.Long
public open override /*1*/ val increment : jet.Long
@@ -967,14 +975,6 @@ public final class LongRange : jet.Range<jet.Long>, jet.NumberSequence<jet.Long>
}
}
public final class LongSequence : jet.NumberSequence<jet.Long> {
public constructor LongSequence(/*0*/ start : jet.Long, /*1*/ end : jet.Long, /*2*/ increment : jet.Long)
public open override /*1*/ val end : jet.Long
public open override /*1*/ val increment : jet.Long
public open override /*1*/ val start : jet.Long
public open override /*1*/ fun iterator() : jet.LongIterator
}
public trait Map</*0*/ K, /*1*/ out V> {
public abstract fun containsKey(/*0*/ key : jet.Any?) : jet.Boolean
public abstract fun containsValue(/*0*/ value : jet.Any?) : jet.Boolean
@@ -1119,7 +1119,7 @@ public abstract class Number : jet.Hashable {
public abstract fun toShort() : jet.Short
}
public trait NumberSequence</*0*/ N : jet.Any> : jet.Iterable<N> {
public trait Progression</*0*/ N : jet.Any> : jet.Iterable<N> {
public abstract val end : N
public abstract val increment : jet.Number
public abstract val start : N
@@ -1226,7 +1226,15 @@ public abstract class ShortIterator : jet.Iterator<jet.Short> {
public abstract fun nextShort() : jet.Short
}
public final class ShortRange : jet.Range<jet.Short>, jet.NumberSequence<jet.Short> {
public final class ShortProgression : jet.Progression<jet.Short> {
public constructor ShortProgression(/*0*/ start : jet.Short, /*1*/ end : jet.Short, /*2*/ increment : jet.Int)
public open override /*1*/ val end : jet.Short
public open override /*1*/ val increment : jet.Int
public open override /*1*/ val start : jet.Short
public open override /*1*/ fun iterator() : jet.ShortIterator
}
public final class ShortRange : jet.Range<jet.Short>, jet.Progression<jet.Short> {
public constructor ShortRange(/*0*/ start : jet.Short, /*1*/ end : jet.Short)
public open override /*2*/ val end : jet.Short
public open override /*1*/ val increment : jet.Int
@@ -1240,14 +1248,6 @@ public final class ShortRange : jet.Range<jet.Short>, jet.NumberSequence<jet.Sho
}
}
public final class ShortSequence : jet.NumberSequence<jet.Short> {
public constructor ShortSequence(/*0*/ start : jet.Short, /*1*/ end : jet.Short, /*2*/ increment : jet.Int)
public open override /*1*/ val end : jet.Short
public open override /*1*/ val increment : jet.Int
public open override /*1*/ val start : jet.Short
public open override /*1*/ fun iterator() : jet.ShortIterator
}
public final class String : jet.Comparable<jet.String>, jet.CharSequence {
public constructor String()
public open override /*1*/ val length : jet.Int