Stdlib: Move classes out of class object in FunctionalList

This commit is contained in:
Pavel V. Talanov
2015-02-19 12:10:39 +03:00
parent ffabe19229
commit b012b9d8a3
@@ -38,7 +38,6 @@ public abstract class FunctionalList<T>(public val size: Int) {
override fun hasNext(): Boolean = !cur.empty override fun hasNext(): Boolean = !cur.empty
} }
class object {
private class Empty<T>() : FunctionalList<T>(0) { private class Empty<T>() : FunctionalList<T>(0) {
override val head: T override val head: T
get() = throw java.util.NoSuchElementException() get() = throw java.util.NoSuchElementException()
@@ -48,6 +47,7 @@ public abstract class FunctionalList<T>(public val size: Int) {
private class Standard<T>(override val head: T, override val tail: FunctionalList<T>) : FunctionalList<T>(tail.size + 1) private class Standard<T>(override val head: T, override val tail: FunctionalList<T>) : FunctionalList<T>(tail.size + 1)
class object {
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())