Stdlib: Move classes out of class object in FunctionalList
This commit is contained in:
@@ -38,16 +38,16 @@ public abstract class FunctionalList<T>(public val size: Int) {
|
|||||||
override fun hasNext(): Boolean = !cur.empty
|
override fun hasNext(): Boolean = !cur.empty
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private class Empty<T>() : FunctionalList<T>(0) {
|
||||||
|
override val head: T
|
||||||
|
get() = throw java.util.NoSuchElementException()
|
||||||
|
override val tail: FunctionalList<T>
|
||||||
|
get() = throw java.util.NoSuchElementException()
|
||||||
|
}
|
||||||
|
|
||||||
|
private class Standard<T>(override val head: T, override val tail: FunctionalList<T>) : FunctionalList<T>(tail.size + 1)
|
||||||
|
|
||||||
class object {
|
class object {
|
||||||
private class Empty<T>() : FunctionalList<T>(0) {
|
|
||||||
override val head: T
|
|
||||||
get() = throw java.util.NoSuchElementException()
|
|
||||||
override val tail: FunctionalList<T>
|
|
||||||
get() = throw java.util.NoSuchElementException()
|
|
||||||
}
|
|
||||||
|
|
||||||
private class Standard<T>(override val head: T, override val tail: FunctionalList<T>) : FunctionalList<T>(tail.size + 1)
|
|
||||||
|
|
||||||
public fun <T> emptyList(): FunctionalList<T> = Empty<T>()
|
public fun <T> emptyList(): FunctionalList<T> = Empty<T>()
|
||||||
|
|
||||||
public fun <T> of(element: T): FunctionalList<T> = FunctionalList.Standard<T>(element, emptyList())
|
public fun <T> of(element: T): FunctionalList<T> = FunctionalList.Standard<T>(element, emptyList())
|
||||||
|
|||||||
Reference in New Issue
Block a user