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