diff --git a/js/js.translator/testData/stdlib/cases/Filter.kt b/js/js.translator/testData/stdlib/cases/Filter.kt deleted file mode 100644 index d041e8447d8..00000000000 --- a/js/js.translator/testData/stdlib/cases/Filter.kt +++ /dev/null @@ -1,60 +0,0 @@ -package kotlin - -import java.util.* -import java.lang.Iterable // WTF? - -/* -Filters given iterator -*/ -fun java.util.Iterator.filter(f: (T) -> Boolean): java.util.Iterator = FilterIterator(this, f) - -/* -Adds filtered elements in to given container -*/ -fun > java.lang.Iterable.filterTo(var container: U, filter: (T) -> Boolean): U { - for (element in this) { - if (filter(element)) - container.add(element) - } - return container -} - -/* -Create iterator filtering given java.lang.Iterable -*/ -/* -fun java.lang.Iterable.filter(f: (T)->Boolean) : java.util.Iterator = (iterator() as java.util.Iterator).filter(f) -*/ - -private class FilterIterator(val original: java.util.Iterator, val filter: (T) -> Boolean) : java.util.Iterator { - var state = 0 - var nextElement: T? = null - - override fun hasNext(): Boolean = - when(state) { - 1 -> true // checked and next present - 2 -> false // checked and next not present - else -> { - while (original.hasNext()) { - val candidate = original.next() - if ((filter)(candidate)) { - nextElement = candidate - state = 1 - true - } - } - state = 2 - false - } - } - - override fun next(): T = - if (state != 1) - throw java.util.NoSuchElementException() - else { - val res = nextElement as T - nextElement = null - state = 0 - res - } -}