From ca565b9c191194b9d43faee925e028a7199e1d13 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Wed, 15 Jan 2014 18:19:36 +0400 Subject: [PATCH] Move toString() from primitive ranges to Range The same can't be done with progressions, because its toString() checks if an increment is greater than zero, but Progression.increment is of type Number, which is not Comparable --- .../org/jetbrains/jet/generators/runtime/ranges.kt | 2 -- libraries/stdlib/src/kotlin/Ranges.kt | 4 ---- runtime/kt/Range.kt | 2 ++ runtime/kt/Ranges.kt | 14 -------------- 4 files changed, 2 insertions(+), 20 deletions(-) diff --git a/generators/src/org/jetbrains/jet/generators/runtime/ranges.kt b/generators/src/org/jetbrains/jet/generators/runtime/ranges.kt index a85754e2cdf..86d51cd6fc0 100644 --- a/generators/src/org/jetbrains/jet/generators/runtime/ranges.kt +++ b/generators/src/org/jetbrains/jet/generators/runtime/ranges.kt @@ -71,8 +71,6 @@ class GenerateRanges(val out: PrintWriter) { fun hashCode()$hashCode - fun toString() = "${"\$start..\$end"}" - class object { public val EMPTY: $range = $range($emptyBounds) } diff --git a/libraries/stdlib/src/kotlin/Ranges.kt b/libraries/stdlib/src/kotlin/Ranges.kt index c8bcb93f2ea..6ee4e41b93b 100644 --- a/libraries/stdlib/src/kotlin/Ranges.kt +++ b/libraries/stdlib/src/kotlin/Ranges.kt @@ -7,10 +7,6 @@ public data class ComparableRange> ( public override fun contains(item: T): Boolean { return start <= item && item <= end } - - public fun toString(): String { - return "$start..$end" - } } public fun > T.rangeTo(that: T): ComparableRange { diff --git a/runtime/kt/Range.kt b/runtime/kt/Range.kt index 94b314ed103..b1d4907c6e1 100644 --- a/runtime/kt/Range.kt +++ b/runtime/kt/Range.kt @@ -22,4 +22,6 @@ public trait Range> { public val end: T public fun contains(item: T): Boolean + + public fun toString(): String = "$start..$end" } diff --git a/runtime/kt/Ranges.kt b/runtime/kt/Ranges.kt index b11aa515a84..b45b52ca43e 100644 --- a/runtime/kt/Ranges.kt +++ b/runtime/kt/Ranges.kt @@ -15,8 +15,6 @@ public class ByteRange(public override val start: Byte, public override val end: fun hashCode() = 31 * start.toInt() + end - fun toString() = "$start..$end" - class object { public val EMPTY: ByteRange = ByteRange(1, 0) } @@ -35,8 +33,6 @@ public class CharRange(public override val start: Char, public override val end: fun hashCode() = 31 * start.toInt() + end - fun toString() = "$start..$end" - class object { public val EMPTY: CharRange = CharRange(1.toChar(), 0.toChar()) } @@ -55,8 +51,6 @@ public class ShortRange(public override val start: Short, public override val en fun hashCode() = 31 * start.toInt() + end - fun toString() = "$start..$end" - class object { public val EMPTY: ShortRange = ShortRange(1, 0) } @@ -75,8 +69,6 @@ public class IntRange(public override val start: Int, public override val end: I fun hashCode() = 31 * start + end - fun toString() = "$start..$end" - class object { public val EMPTY: IntRange = IntRange(1, 0) } @@ -95,8 +87,6 @@ public class LongRange(public override val start: Long, public override val end: fun hashCode() = (31 * (start xor (start ushr 32)) + (end xor (end ushr 32))).toInt() - fun toString() = "$start..$end" - class object { public val EMPTY: LongRange = LongRange(1, 0) } @@ -115,8 +105,6 @@ public class FloatRange(public override val start: Float, public override val en fun hashCode() = 31 * java.lang.Float.floatToIntBits(start) + java.lang.Float.floatToIntBits(end) - fun toString() = "$start..$end" - class object { public val EMPTY: FloatRange = FloatRange(1.0f, 0.0f) } @@ -140,8 +128,6 @@ public class DoubleRange(public override val start: Double, public override val return (31 * result + (temp xor (temp ushr 32))).toInt() } - fun toString() = "$start..$end" - class object { public val EMPTY: DoubleRange = DoubleRange(1.0, 0.0) }