diff --git a/js/js.translator/testData/closure/cases/closureFunctionByInnerFunction.kt b/js/js.translator/testData/closure/cases/closureFunctionByInnerFunction.kt index 8d835fcc16a..8f0623f09fe 100644 --- a/js/js.translator/testData/closure/cases/closureFunctionByInnerFunction.kt +++ b/js/js.translator/testData/closure/cases/closureFunctionByInnerFunction.kt @@ -1,7 +1,5 @@ package foo -fun run(f: () -> T) = f() - val r = "OK" fun simple(s: String? = null): String { diff --git a/js/js.translator/testData/closure/cases/closureInNestedFunctions.kt b/js/js.translator/testData/closure/cases/closureInNestedFunctions.kt index 18f50dee099..2e08626540e 100644 --- a/js/js.translator/testData/closure/cases/closureInNestedFunctions.kt +++ b/js/js.translator/testData/closure/cases/closureInNestedFunctions.kt @@ -1,7 +1,5 @@ package foo -fun run(f: () -> T) = f() - fun funfun(): Boolean { val result = true diff --git a/js/js.translator/testData/closure/cases/closureInNestedFunctionsInMethod.kt b/js/js.translator/testData/closure/cases/closureInNestedFunctionsInMethod.kt index 2e5cb5ab6b2..c3f4476274d 100644 --- a/js/js.translator/testData/closure/cases/closureInNestedFunctionsInMethod.kt +++ b/js/js.translator/testData/closure/cases/closureInNestedFunctionsInMethod.kt @@ -1,7 +1,5 @@ package foo -fun run(f: () -> T) = f() - class A { val a = 12 var b = 1 diff --git a/js/js.translator/testData/closure/cases/closureInNestedFunctionsWhichMixedWithObject.kt b/js/js.translator/testData/closure/cases/closureInNestedFunctionsWhichMixedWithObject.kt index 96747e834bc..6ecb93199cd 100644 --- a/js/js.translator/testData/closure/cases/closureInNestedFunctionsWhichMixedWithObject.kt +++ b/js/js.translator/testData/closure/cases/closureInNestedFunctionsWhichMixedWithObject.kt @@ -1,7 +1,5 @@ package foo -fun run(f: () -> T) = f() - fun box(): Boolean { val t = run { object { diff --git a/js/js.translator/testData/closure/cases/closureLocalFunctionByInnerFunction.kt b/js/js.translator/testData/closure/cases/closureLocalFunctionByInnerFunction.kt index 45b137825b1..fe6ec55e599 100644 --- a/js/js.translator/testData/closure/cases/closureLocalFunctionByInnerFunction.kt +++ b/js/js.translator/testData/closure/cases/closureLocalFunctionByInnerFunction.kt @@ -1,7 +1,5 @@ package foo -fun run(f: () -> T) = f() - fun box(): String { fun simple(s: String? = null): String { if (s != null) return s diff --git a/js/js.translator/testData/closure/cases/closureLocalFunctionByInnerFunctionInConstructor.kt b/js/js.translator/testData/closure/cases/closureLocalFunctionByInnerFunctionInConstructor.kt index b03de123a4e..eb83c4dcde5 100644 --- a/js/js.translator/testData/closure/cases/closureLocalFunctionByInnerFunctionInConstructor.kt +++ b/js/js.translator/testData/closure/cases/closureLocalFunctionByInnerFunctionInConstructor.kt @@ -1,7 +1,5 @@ package foo -fun run(f: () -> T) = f() - class Foo { val OK = "OK"; var result: String = "" diff --git a/js/js.translator/testData/closure/cases/closureThisInExtLambdaInsideMethod.kt b/js/js.translator/testData/closure/cases/closureThisInExtLambdaInsideMethod.kt index 22fa1762c78..70e6393dfcf 100644 --- a/js/js.translator/testData/closure/cases/closureThisInExtLambdaInsideMethod.kt +++ b/js/js.translator/testData/closure/cases/closureThisInExtLambdaInsideMethod.kt @@ -2,8 +2,6 @@ package foo -fun run(f: Int.() -> T) = 1.f() - public class Foo(val trigger: () -> Any) { fun test() = run {trigger()}; } diff --git a/js/js.translator/testData/closure/cases/withManyClosuresInNestedFunctionsAndObjects.kt b/js/js.translator/testData/closure/cases/withManyClosuresInNestedFunctionsAndObjects.kt index 75975c3d6d8..48da444fd55 100644 --- a/js/js.translator/testData/closure/cases/withManyClosuresInNestedFunctionsAndObjects.kt +++ b/js/js.translator/testData/closure/cases/withManyClosuresInNestedFunctionsAndObjects.kt @@ -1,7 +1,5 @@ package foo -fun run(f: ()->T) = f() - fun box(): String { val t = run { object { diff --git a/js/js.translator/testData/dataClass/cases/hashcode.kt b/js/js.translator/testData/dataClass/cases/hashcode.kt index 3cd444a5dde..0483105b300 100644 --- a/js/js.translator/testData/dataClass/cases/hashcode.kt +++ b/js/js.translator/testData/dataClass/cases/hashcode.kt @@ -38,46 +38,30 @@ fun box(): String { // Check that same Dat's have the same hashcode. val sameDs = listOf(Dat("a", "b"), Dat("a", "b")) - assertAllEqual(map(sameDs, hashCoder)) + assertAllEqual(sameDs.map(hashCoder)) // Check that different Dat's have different hashcodes (at least some of them). val differentDs = listOf(Dat("a", "b"), Dat("a", "c"), Dat("a", "d")) - assertSomeNotEqual(map(differentDs, hashCoder)) + assertSomeNotEqual(differentDs.map(hashCoder)) // Check the same on Obj's, which should be always different and with different hashcodes. val sameOs = listOf(Obj("a", "b"), Obj("a", "b"), Obj("a", "b")) val differentOs = listOf(Obj("a", "b"), Obj("a", "b"), Obj("a", "b")) // Obj's are always different. - assertSomeNotEqual(map(sameOs, hashCoder)) - assertSomeNotEqual(map(differentOs, hashCoder)) + assertSomeNotEqual(sameOs.map(hashCoder)) + assertSomeNotEqual(differentOs.map(hashCoder)) // Both Dat's and Obj's wrapped as Holder should retain their hashcode relations. - val sameHDs = map(sameDs, wrapInH) - assertAllEqual(map(sameHDs, hashCoder)) - val differentHDs = map(differentDs, wrapInH) - assertSomeNotEqual(map(differentHDs, hashCoder)) + val sameHDs = sameDs.map(wrapInH) + assertAllEqual(sameHDs.map(hashCoder)) + val differentHDs = differentDs.map(wrapInH) + assertSomeNotEqual(differentHDs.map(hashCoder)) - val sameHOs = map(sameOs, wrapInH) - assertSomeNotEqual(map(sameHOs, hashCoder)) - val differentHOs = map(differentOs, wrapInH) - assertSomeNotEqual(map(differentHOs, hashCoder)) + val sameHOs = sameOs.map(wrapInH) + assertSomeNotEqual(sameHOs.map(hashCoder)) + val differentHOs = differentOs.map(wrapInH) + assertSomeNotEqual(differentHOs.map(hashCoder)) return "OK" } - -fun listOf(vararg a: T): List { - val list = ArrayList() - for (e in a) { - list.add(e) - } - return list -} - -fun map(c : Iterable, transform : (T) -> S) : List { - val list = ArrayList() - for (t in c) { - list.add(transform(t)) - } - return list -} diff --git a/js/js.translator/testData/expression/misc/cases/KT-2314.kt b/js/js.translator/testData/expression/misc/cases/KT-2314.kt index b84258b1dc7..dd5277482bc 100644 --- a/js/js.translator/testData/expression/misc/cases/KT-2314.kt +++ b/js/js.translator/testData/expression/misc/cases/KT-2314.kt @@ -3,15 +3,15 @@ package foo import java.util.* fun box(): Boolean { - val data = arrayList("foo", "bar") - if (data.head != "foo") { + val data = myArrayList("foo", "bar") + if (data.myHead != "foo") { return false } return true } -public fun arrayList(vararg values: T): ArrayList { +inline public fun myArrayList(vararg values: T): ArrayList { val c = ArrayList() for (v in values) { c.add(v) @@ -19,7 +19,7 @@ public fun arrayList(vararg values: T): ArrayList { return c } -public val ArrayList.head: T +inline public val ArrayList.myHead: T get() { return get(0) } diff --git a/js/js.translator/testData/expression/string/cases/stringSplit.kt b/js/js.translator/testData/expression/string/cases/stringSplit.kt index 9362587f4a5..d3ea0ecb1a6 100644 --- a/js/js.translator/testData/expression/string/cases/stringSplit.kt +++ b/js/js.translator/testData/expression/string/cases/stringSplit.kt @@ -1,9 +1,5 @@ package foo -// todo drop -class Pair(val first: F, val second: S) -fun F.to(second: S): Pair = Pair(this, second) - fun box(): String { val testInput = "test data\t1foo 2 bar" val tests = array( diff --git a/js/js.translator/testData/inline/cases/extension.kt b/js/js.translator/testData/inline/cases/extension.kt index 9e9b19d25d1..00d7ce36eb7 100644 --- a/js/js.translator/testData/inline/cases/extension.kt +++ b/js/js.translator/testData/inline/cases/extension.kt @@ -5,8 +5,6 @@ package foo -inline fun with(receiver: T, f: T.() -> R): R = receiver.f() - inline fun Inline.calcExt(s: (Int) -> Int, p: Int) : Int { return s(p) } diff --git a/js/js.translator/testData/inlineMultiFile/cases/with/with.2.kt b/js/js.translator/testData/inlineMultiFile/cases/with/with.2.kt index f70ef2700fd..67c32c70e78 100644 --- a/js/js.translator/testData/inlineMultiFile/cases/with/with.2.kt +++ b/js/js.translator/testData/inlineMultiFile/cases/with/with.2.kt @@ -33,6 +33,4 @@ public fun Input.copyTo(output: Output, size: Int): Int { return output.doOutput(this.data()) } -public inline fun with(receiver: T, f: T.() -> R): R = receiver.f() - public inline fun with2(receiver : T, inlineOptions(ONLY_LOCAL_RETURN) body : T.() -> Unit) : Unit = {receiver.body()}() diff --git a/js/js.translator/testData/java/arrayList/cases/containsAll.kt b/js/js.translator/testData/java/arrayList/cases/containsAll.kt index 99f8f475269..3932f6e4ee7 100644 --- a/js/js.translator/testData/java/arrayList/cases/containsAll.kt +++ b/js/js.translator/testData/java/arrayList/cases/containsAll.kt @@ -2,18 +2,6 @@ package foo import java.util.ArrayList; - -// TODO: drop when arrayListOf will be available here. -fun arrayListOf(vararg a: T): ArrayList { - val list = ArrayList(); - - for (e in a) { - list.add(e) - } - - return list -} - fun box(): String { val list = arrayListOf(3, "2", -1, null, 0, 8, 5, "3", 77, -15) val subset = arrayListOf(3, "2", -1, null) diff --git a/js/js.translator/testData/java/arrayList/cases/indexOf.kt b/js/js.translator/testData/java/arrayList/cases/indexOf.kt index 0ee14825c89..2816a3f5a5a 100644 --- a/js/js.translator/testData/java/arrayList/cases/indexOf.kt +++ b/js/js.translator/testData/java/arrayList/cases/indexOf.kt @@ -2,17 +2,6 @@ package foo import java.util.ArrayList; -// TODO: drop when listOf will be available here. -fun listOf(vararg a: T): List { - val list = ArrayList(); - - for (e in a) { - list.add(e) - } - - return list -} - fun test(list: List, elements: List, expected: List, method: List.(T) -> Int, methodName: String): String? { for (i in 0..elements.size() - 1) { val actual = list.method(elements[i]) diff --git a/js/js.translator/testData/java/arrayList/cases/removeAll.kt b/js/js.translator/testData/java/arrayList/cases/removeAll.kt index d60a09b8bef..90f7c44e120 100644 --- a/js/js.translator/testData/java/arrayList/cases/removeAll.kt +++ b/js/js.translator/testData/java/arrayList/cases/removeAll.kt @@ -3,17 +3,6 @@ package foo import java.util.ArrayList; -// TODO: drop when listOf will be available here. -fun listOf(vararg a: T): List { - val list = ArrayList(); - - for (e in a) { - list.add(e) - } - - return list -} - fun test(a: List, b: List, removed: Boolean, expected: List): String? { val t = ArrayList(a.size()) t.addAll(a) diff --git a/js/js.translator/testData/java/arrayList/cases/retainAll.kt b/js/js.translator/testData/java/arrayList/cases/retainAll.kt index 57454603d7e..76990dbb6e9 100644 --- a/js/js.translator/testData/java/arrayList/cases/retainAll.kt +++ b/js/js.translator/testData/java/arrayList/cases/retainAll.kt @@ -2,18 +2,6 @@ package foo import java.util.ArrayList; - -// TODO: drop when listOf will be available here. -fun listOf(vararg a: T): List { - val list = ArrayList(); - - for (e in a) { - list.add(e) - } - - return list -} - fun test(a: List, b: List, removed: Boolean, expected: List): String? { val t = ArrayList(a.size()) t.addAll(a) diff --git a/js/js.translator/testData/operatorOverloading/cases/overloadPlusAssignViaExtensionFunction.kt b/js/js.translator/testData/operatorOverloading/cases/overloadPlusAssignViaExtensionFunction.kt index 2720b4c31fc..0ca71493344 100644 --- a/js/js.translator/testData/operatorOverloading/cases/overloadPlusAssignViaExtensionFunction.kt +++ b/js/js.translator/testData/operatorOverloading/cases/overloadPlusAssignViaExtensionFunction.kt @@ -2,15 +2,22 @@ package foo import java.util.* -fun ArrayList.plusAssign(other: Collection) { +class A(val list: MutableList) { + fun addAll(c: Collection) { + list.addAll(c) + } +} + +fun A.plusAssign(other: Collection) { addAll(other) } fun box(): Boolean { - var v1 = ArrayList() - val v2 = ArrayList() - v1.add("foo") - v2.add("bar") - v1 += v2 + var v1 = arrayListOf("foo") + val v2 = listOf("bar") + + val a = A(v1) + a += v2 + return (v1.size() == 2 && v1[0] == "foo" && v1[1] == "bar") }