From 1af3b50e3d3f9aff3c5ee7946d123ce14b217f2d Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Fri, 30 Sep 2016 22:38:25 +0300 Subject: [PATCH] =?UTF-8?q?Remove=20obsolete=20testData=20(Filter.kt=20?= =?UTF-8?q?=E2=80=94=20didn't=20run=20even=20once).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../testData/stdlib/cases/Filter.kt | 60 ------------------- 1 file changed, 60 deletions(-) delete mode 100644 js/js.translator/testData/stdlib/cases/Filter.kt 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 - } -}