diff --git a/js/js.libraries/src/core/javautilCode.kt b/js/js.libraries/src/core/javautilCode.kt index aca1078f143..3e4a935a5b6 100644 --- a/js/js.libraries/src/core/javautilCode.kt +++ b/js/js.libraries/src/core/javautilCode.kt @@ -36,7 +36,7 @@ public object Collections { } library - public fun reverse(list: List): Unit { + public fun reverse(list: MutableList): Unit { val size = list.size() for (i in 0.rangeTo(size / 2)) { val i2 = size - i diff --git a/js/js.libraries/src/core/string.kt b/js/js.libraries/src/core/string.kt index e96ed924991..6e803d81eca 100644 --- a/js/js.libraries/src/core/string.kt +++ b/js/js.libraries/src/core/string.kt @@ -1,7 +1,5 @@ package js -import java.util.List - native public fun String.toUpperCase() : String = js.noImpl native public fun String.toLowerCase() : String = js.noImpl diff --git a/js/js.libraries/src/stdlib/JUMapsCode.kt b/js/js.libraries/src/stdlib/JUMapsCode.kt index 5cb0940e21c..e7dc84675fe 100644 --- a/js/js.libraries/src/stdlib/JUMapsCode.kt +++ b/js/js.libraries/src/stdlib/JUMapsCode.kt @@ -1,10 +1,9 @@ package kotlin -import java.util.Map import java.util.HashMap /** Provides [] access to maps */ -public fun Map.set(key : K, value : V): Unit { +public fun MutableMap.set(key : K, value : V): Unit { this.put(key, value) } diff --git a/js/js.libraries/src/stdlib/jutilCode.kt b/js/js.libraries/src/stdlib/jutilCode.kt index a62e5f17834..0b35aa32888 100644 --- a/js/js.libraries/src/stdlib/jutilCode.kt +++ b/js/js.libraries/src/stdlib/jutilCode.kt @@ -6,7 +6,7 @@ public inline fun Iterable.toString(): String { return makeString(", ", "[", "]") } -public inline fun java.util.List.equals(that: List): Boolean { +public inline fun List.equals(that: List): Boolean { val s1 = this.size() val s2 = that.size() if (s1 == s2) { @@ -45,7 +45,7 @@ public inline fun hashSet(vararg values: T) : HashSet { * * @includeFunctionBody ../../test/CollectionTest.kt map */ -public inline fun java.util.Map.map(transform: (java.util.Map.Entry) -> R) : java.util.List { +public inline fun Map.map(transform: (Map.Entry) -> R) : List { return mapTo(java.util.ArrayList(), transform) } @@ -55,8 +55,8 @@ public inline fun java.util.Map.map(transform: (java.util.Map.Entry * * @includeFunctionBody ../../test/MapTest.kt mapValues */ -public inline fun java.util.Map.mapValues(transform : (java.util.Map.Entry) -> R): java.util.Map { - return mapValuesTo(java.util.HashMap(), transform) +public inline fun MutableMap.mapValues(transform : (Map.Entry) -> R): Map { + return mapValuesTo(HashMap(), transform) } @@ -65,6 +65,6 @@ public inline fun java.util.Map.mapValues(transform : (java.util.Ma * * @includeFunctionBody ../../test/CollectionTest.kt map */ -public inline fun java.util.Collection.map(transform : (T) -> R) : java.util.List { +public inline fun Collection.map(transform : (T) -> R) : List { return mapTo(java.util.ArrayList(), transform) } diff --git a/js/js.translator/testFiles/expression/misc/cases/iterableExtension.kt b/js/js.translator/testFiles/expression/misc/cases/iterableExtension.kt index 24e7c12027e..eabf122231e 100644 --- a/js/js.translator/testFiles/expression/misc/cases/iterableExtension.kt +++ b/js/js.translator/testFiles/expression/misc/cases/iterableExtension.kt @@ -3,7 +3,7 @@ package foo import java.util.* import java.lang.* -public inline fun > Iterator.takeWhileTo(result: C, predicate: (T) -> Boolean) : C { +public inline fun > Iterator.takeWhileTo(result: C, predicate: (T) -> Boolean) : C { for (element in this) if (predicate(element)) result.add(element) else break return result } diff --git a/js/js.translator/testFiles/webDemoCanvasExamples/cases/Creatures.kt b/js/js.translator/testFiles/webDemoCanvasExamples/cases/Creatures.kt index 3ee7c64d49d..c91e2484624 100644 --- a/js/js.translator/testFiles/webDemoCanvasExamples/cases/Creatures.kt +++ b/js/js.translator/testFiles/webDemoCanvasExamples/cases/Creatures.kt @@ -9,7 +9,6 @@ import js.jquery.* import js.dom.html5.CanvasGradient import js.dom.html5.HTMLCanvasElement import java.util.ArrayList -import java.util.List import js.dom.html.window import js.dom.html.HTMLElement import js.dom.html.HTMLImageElement diff --git a/js/js.translator/testFiles/webDemoExamples2/cases/life.kt b/js/js.translator/testFiles/webDemoExamples2/cases/life.kt index ac398d54a55..a525dc79193 100644 --- a/js/js.translator/testFiles/webDemoExamples2/cases/life.kt +++ b/js/js.translator/testFiles/webDemoExamples2/cases/life.kt @@ -126,7 +126,7 @@ fun Array.toList() : List = this.to(ArrayList()) val String?.size : Int get() = if (this != null) this.length else 0; -fun > Array.to(result: C) : C { +fun > Array.to(result: C) : C { for (elem in this) result.add(elem) return result @@ -162,6 +162,6 @@ fun makeField(s : String) : Field { // An excerpt from the Standard Library val String?.indices : IntRange get() = IntRange(0, this.sure().size) -fun Map.set(k : K, v : V) { put(k, v) } +fun MutableMap.set(k : K, v : V) { put(k, v) } val Array.isEmpty : Boolean get() = size == 0