Files
kotlin-fork/idea/testData/psi/examples/collections/List.jet
T
2011-01-02 21:26:50 +03:00

27 lines
520 B
Plaintext

enum class List<out T>(theSize : Int) : IList<T> {
Nil : List<Nothing>(0)
Cons<T>(val value : T, val tail : List<T>) : List<T>(1 + tail.size)
override val size : Int
get() = theSize
override val isEmpty : Boolean
get() = this == Nil
override fun iterator() = new IIterator() {
private var current = List.this
override val hasNext {
get() = current == Nil
}
override fun next() {
val result = current.value
current = current.tail
return result
}
}
}