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
|
||||
}
|
||||
|
||||
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 {
|
||||
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> of(element: T): FunctionalList<T> = FunctionalList.Standard<T>(element, emptyList())
|
||||
|
||||
Reference in New Issue
Block a user