From fb149790515e5cd9e000277cfeab788e8bea15aa Mon Sep 17 00:00:00 2001 From: Stanislav Erokhin Date: Fri, 4 Sep 2015 22:38:08 +0300 Subject: [PATCH] Created object java.util.Collections as workaround for js-stdlib. --- .../src/core/javautilCollections.kt | 26 ++++++++++++++++--- .../src/core/javautilCollectionsCode.kt | 14 ---------- .../testData/webDemoExamples2/cases/life.kt | 4 +-- 3 files changed, 24 insertions(+), 20 deletions(-) delete mode 100644 js/js.libraries/src/core/javautilCollectionsCode.kt diff --git a/js/js.libraries/src/core/javautilCollections.kt b/js/js.libraries/src/core/javautilCollections.kt index e62545f522c..16b25408148 100644 --- a/js/js.libraries/src/core/javautilCollections.kt +++ b/js/js.libraries/src/core/javautilCollections.kt @@ -1,13 +1,31 @@ -package java.util.Collections +package java.util import java.lang.* import java.util.* +public object Collections { + public fun max(col: Collection, comp: Comparator): T = java.util.max(col, comp) + + public fun sort(list: MutableList): Unit = java.util.sort(list) + + public fun sort(list: MutableList, comparator: java.util.Comparator): Unit = java.util.sort(list, comparator) + + public fun reverse(list: MutableList): Unit { + val size = list.size() + for (i in 0..(size / 2) - 1) { + val i2 = size - i - 1 + val tmp = list[i] + list[i] = list[i2] + list[i2] = tmp + } + } +} + @library("collectionsMax") -public fun max(col : Collection, comp : Comparator) : T = noImpl +internal fun max(col: Collection, comp: Comparator): T = noImpl @library("collectionsSort") -public fun sort(list: MutableList): Unit = noImpl +internal fun sort(list: MutableList): Unit = noImpl @library("collectionsSort") -public fun sort(list: MutableList, comparator: java.util.Comparator): Unit = noImpl +internal fun sort(list: MutableList, comparator: java.util.Comparator): Unit = noImpl diff --git a/js/js.libraries/src/core/javautilCollectionsCode.kt b/js/js.libraries/src/core/javautilCollectionsCode.kt deleted file mode 100644 index f52858c4cca..00000000000 --- a/js/js.libraries/src/core/javautilCollectionsCode.kt +++ /dev/null @@ -1,14 +0,0 @@ -package java.util.Collections - -import java.lang.* -import java.util.* - -public fun reverse(list: MutableList): Unit { - val size = list.size() - for (i in 0..(size / 2) - 1) { - val i2 = size - i - 1 - val tmp = list[i] - list[i] = list[i2] - list[i2] = tmp - } -} \ No newline at end of file diff --git a/js/js.translator/testData/webDemoExamples2/cases/life.kt b/js/js.translator/testData/webDemoExamples2/cases/life.kt index fb16d9d13bd..ccbe125bd4b 100644 --- a/js/js.translator/testData/webDemoExamples2/cases/life.kt +++ b/js/js.translator/testData/webDemoExamples2/cases/life.kt @@ -4,7 +4,7 @@ */ import java.util.* -import java.util.Collections.max +import java.util.Collections /* * A field where cells live. Effectively immutable @@ -132,7 +132,7 @@ fun > Array.to(result: C): C { fun makeField(s: String): Field { val lines: List = s.splitBy("\n") - val w = max(lines.toList(), comparator { o1, o2 -> + val w = Collections.max(lines.toList(), comparator { o1, o2 -> val l1: Int = o1.size val l2 = o2.size l1 - l2