diff --git a/build.xml b/build.xml index 7faf973a7e6..7202ef4a165 100644 --- a/build.xml +++ b/build.xml @@ -221,6 +221,21 @@ + + + + + + + + + + + + + + + @@ -234,6 +249,11 @@ + + + + + @@ -265,7 +285,7 @@ - + diff --git a/compiler/frontend/src/jet/Library.jet b/compiler/frontend/src/jet/Library.jet index c9fbdded821..b83a98caf2f 100644 --- a/compiler/frontend/src/jet/Library.jet +++ b/compiler/frontend/src/jet/Library.jet @@ -36,6 +36,8 @@ class Boolean : Comparable { fun xor(other : Boolean) : Boolean fun equals(other : Any?) : Boolean + + override fun compareTo(that : Boolean) : Int } trait CharSequence { @@ -50,10 +52,15 @@ class String() : Comparable, CharSequence { fun plus(other : Any?) : String fun equals(other : Any?) : Boolean + + override fun compareTo(that : String) : Int + override fun get(index : Int) : Char + override fun toString() : String + override val length: Int } open class Throwable(message : String? = null, cause: Throwable? = null) { fun getMessage() : String? fun getCause() : Throwable? fun printStackTrace() : Unit -} \ No newline at end of file +} diff --git a/compiler/frontend/src/jet/Numbers.jet b/compiler/frontend/src/jet/Numbers.jet index e58f3d23ba5..ddfb911754c 100644 --- a/compiler/frontend/src/jet/Numbers.jet +++ b/compiler/frontend/src/jet/Numbers.jet @@ -93,6 +93,17 @@ class Double : Number, Comparable { fun dec() : Double fun plus() : Double fun minus() : Double + + override fun toDouble() : Double + override fun toFloat() : Float + override fun toLong() : Long + override fun toInt() : Int + override fun toChar() : Char + override fun toShort() : Short + override fun toByte() : Byte + + override fun hashCode() : Int + override fun equals(val other : Any?) : Boolean } class Float : Number, Comparable { @@ -172,6 +183,17 @@ class Float : Number, Comparable { fun dec() : Float fun plus() : Float fun minus() : Float + + override fun toDouble() : Double + override fun toFloat() : Float + override fun toLong() : Long + override fun toInt() : Int + override fun toChar() : Char + override fun toShort() : Short + override fun toByte() : Byte + + override fun hashCode() : Int + override fun equals(val other : Any?) : Boolean } class Long : Number, Comparable { @@ -259,6 +281,17 @@ class Long : Number, Comparable { fun or(other : Long) : Long fun xor(other : Long) : Long fun inv() : Long + + override fun toDouble() : Double + override fun toFloat() : Float + override fun toLong() : Long + override fun toInt() : Int + override fun toChar() : Char + override fun toShort() : Short + override fun toByte() : Byte + + override fun hashCode() : Int + override fun equals(val other : Any?) : Boolean } class Int : Number, Comparable { @@ -346,6 +379,17 @@ class Int : Number, Comparable { fun or(other : Int) : Int fun xor(other : Int) : Int fun inv() : Int + + override fun toDouble() : Double + override fun toFloat() : Float + override fun toLong() : Long + override fun toInt() : Int + override fun toChar() : Char + override fun toShort() : Short + override fun toByte() : Byte + + override fun hashCode() : Int + override fun equals(val other : Any?) : Boolean } class Char : Number, Comparable { @@ -425,6 +469,17 @@ class Char : Number, Comparable { fun dec() : Char fun plus() : Int fun minus() : Int + + override fun toDouble() : Double + override fun toFloat() : Float + override fun toLong() : Long + override fun toInt() : Int + override fun toChar() : Char + override fun toShort() : Short + override fun toByte() : Byte + + override fun hashCode() : Int + override fun equals(val other : Any?) : Boolean } class Short : Number, Comparable { @@ -504,6 +559,17 @@ class Short : Number, Comparable { fun dec() : Short fun plus() : Short fun minus() : Short + + override fun toDouble() : Double + override fun toFloat() : Float + override fun toLong() : Long + override fun toInt() : Int + override fun toChar() : Char + override fun toShort() : Short + override fun toByte() : Byte + + override fun hashCode() : Int + override fun equals(val other : Any?) : Boolean } class Byte : Number, Comparable { @@ -583,4 +649,15 @@ class Byte : Number, Comparable { fun dec() : Byte fun plus() : Byte fun minus() : Byte -} \ No newline at end of file + + override fun toDouble() : Double + override fun toFloat() : Float + override fun toLong() : Long + override fun toInt() : Int + override fun toChar() : Char + override fun toShort() : Short + override fun toByte() : Byte + + override fun hashCode() : Int + override fun equals(val other : Any?) : Boolean +} diff --git a/compiler/frontend/src/jet/Ranges.jet b/compiler/frontend/src/jet/Ranges.jet index 2426900bf78..ae0f08b5b51 100644 --- a/compiler/frontend/src/jet/Ranges.jet +++ b/compiler/frontend/src/jet/Ranges.jet @@ -5,9 +5,9 @@ trait Range> { } class IntRange(val start : Int, val size : Int) : Range, IntIterable { - fun iterator () : IntIterator + override fun iterator () : IntIterator - fun contains (elem: Int) : Boolean + override fun contains (elem: Int) : Boolean val end : Int @@ -21,9 +21,9 @@ class IntRange(val start : Int, val size : Int) : Range, IntIterable { } class LongRange(val start : Long, val size : Long) : Range, LongIterable { - fun iterator () : LongIterator + override fun iterator () : LongIterator - fun contains (elem: Long) : Boolean + override fun contains (elem: Long) : Boolean val iteratorStart : Long @@ -37,9 +37,9 @@ class LongRange(val start : Long, val size : Long) : Range, LongIterable { } class ByteRange(val start : Byte, val size : Int) : Range, ByteIterable { - fun iterator () : ByteIterator + override fun iterator () : ByteIterator - fun contains (elem: Byte) : Boolean + override fun contains (elem: Byte) : Boolean val end : Byte @@ -53,9 +53,9 @@ class ByteRange(val start : Byte, val size : Int) : Range, ByteIterable { } class ShortRange(val start : Short, val size : Int) : Range, ShortIterable { - fun iterator () : ShortIterator + override fun iterator () : ShortIterator - fun contains (elem: Byte) : Boolean + override fun contains (elem: Short) : Boolean val iteratorStart : Short @@ -69,9 +69,9 @@ class ShortRange(val start : Short, val size : Int) : Range, ShortIterabl } class CharRange(val start : Char, val size : Int) : Range, CharIterable { - fun iterator () : CharIterator + override fun iterator () : CharIterator - fun contains (elem: Char) : Boolean + override fun contains (elem: Char) : Boolean val iteratorStart : Char @@ -85,7 +85,7 @@ class CharRange(val start : Char, val size : Int) : Range, CharIterable { } class FloatRange(val start : Float, val size : Float) : Range { - fun contains (elem: Float) : Boolean + override fun contains (elem: Float) : Boolean val end : Float @@ -97,7 +97,7 @@ class FloatRange(val start : Float, val size : Float) : Range { } class DoubleRange(val start : Double, val size : Double) : Range { - fun contains (elem: Double) : Boolean + override fun contains (elem: Double) : Boolean val end : Double