From 30a7790dcaaefdc71168ed6fbfafeb617dadad87 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Tue, 1 Nov 2016 16:24:42 +0300 Subject: [PATCH] Minimize references to java.util.Collections in stdlib sources Only three usages are left in platform-independent code: in reverse, sort and sortWith for mutable lists --- js/js.libraries/src/core/kotlin_special.kt | 2 -- libraries/stdlib/src/generated/_Arrays.kt | 20 +++++++++---------- .../stdlib/src/generated/_Collections.kt | 4 +--- libraries/stdlib/src/generated/_Maps.kt | 2 -- libraries/stdlib/src/generated/_Ranges.kt | 2 -- libraries/stdlib/src/generated/_Sequences.kt | 2 -- libraries/stdlib/src/generated/_Sets.kt | 2 -- libraries/stdlib/src/generated/_Strings.kt | 2 -- .../src/generators/GenerateStandardLib.kt | 2 -- .../src/templates/Ordering.kt | 4 ++-- 10 files changed, 12 insertions(+), 30 deletions(-) diff --git a/js/js.libraries/src/core/kotlin_special.kt b/js/js.libraries/src/core/kotlin_special.kt index 592f9a09606..e450ca328cd 100644 --- a/js/js.libraries/src/core/kotlin_special.kt +++ b/js/js.libraries/src/core/kotlin_special.kt @@ -7,8 +7,6 @@ package kotlin.collections import java.util.* -import java.util.Collections // TODO: it's temporary while we have java.util.Collections in js - /** * Returns a [List] that wraps the original array. */ diff --git a/libraries/stdlib/src/generated/_Arrays.kt b/libraries/stdlib/src/generated/_Arrays.kt index 59dae607550..4537990c6db 100644 --- a/libraries/stdlib/src/generated/_Arrays.kt +++ b/libraries/stdlib/src/generated/_Arrays.kt @@ -11,8 +11,6 @@ package kotlin.collections import kotlin.comparisons.* import java.util.* -import java.util.Collections // TODO: it's temporary while we have java.util.Collections in js - /** * Returns 1st *element* from the collection. */ @@ -4430,7 +4428,7 @@ public fun CharArray.reverse(): Unit { public fun Array.reversed(): List { if (isEmpty()) return emptyList() val list = toMutableList() - Collections.reverse(list) + list.reverse() return list } @@ -4440,7 +4438,7 @@ public fun Array.reversed(): List { public fun ByteArray.reversed(): List { if (isEmpty()) return emptyList() val list = toMutableList() - Collections.reverse(list) + list.reverse() return list } @@ -4450,7 +4448,7 @@ public fun ByteArray.reversed(): List { public fun ShortArray.reversed(): List { if (isEmpty()) return emptyList() val list = toMutableList() - Collections.reverse(list) + list.reverse() return list } @@ -4460,7 +4458,7 @@ public fun ShortArray.reversed(): List { public fun IntArray.reversed(): List { if (isEmpty()) return emptyList() val list = toMutableList() - Collections.reverse(list) + list.reverse() return list } @@ -4470,7 +4468,7 @@ public fun IntArray.reversed(): List { public fun LongArray.reversed(): List { if (isEmpty()) return emptyList() val list = toMutableList() - Collections.reverse(list) + list.reverse() return list } @@ -4480,7 +4478,7 @@ public fun LongArray.reversed(): List { public fun FloatArray.reversed(): List { if (isEmpty()) return emptyList() val list = toMutableList() - Collections.reverse(list) + list.reverse() return list } @@ -4490,7 +4488,7 @@ public fun FloatArray.reversed(): List { public fun DoubleArray.reversed(): List { if (isEmpty()) return emptyList() val list = toMutableList() - Collections.reverse(list) + list.reverse() return list } @@ -4500,7 +4498,7 @@ public fun DoubleArray.reversed(): List { public fun BooleanArray.reversed(): List { if (isEmpty()) return emptyList() val list = toMutableList() - Collections.reverse(list) + list.reverse() return list } @@ -4510,7 +4508,7 @@ public fun BooleanArray.reversed(): List { public fun CharArray.reversed(): List { if (isEmpty()) return emptyList() val list = toMutableList() - Collections.reverse(list) + list.reverse() return list } diff --git a/libraries/stdlib/src/generated/_Collections.kt b/libraries/stdlib/src/generated/_Collections.kt index 0ec0916bfe8..2b4b03f0bd5 100644 --- a/libraries/stdlib/src/generated/_Collections.kt +++ b/libraries/stdlib/src/generated/_Collections.kt @@ -11,8 +11,6 @@ package kotlin.collections import kotlin.comparisons.* import java.util.* -import java.util.Collections // TODO: it's temporary while we have java.util.Collections in js - /** * Returns 1st *element* from the collection. */ @@ -796,7 +794,7 @@ public fun MutableList.reverse(): Unit { public fun Iterable.reversed(): List { if (this is Collection && size <= 1) return toList() val list = toMutableList() - Collections.reverse(list) + list.reverse() return list } diff --git a/libraries/stdlib/src/generated/_Maps.kt b/libraries/stdlib/src/generated/_Maps.kt index 31465007000..7192ebccc01 100644 --- a/libraries/stdlib/src/generated/_Maps.kt +++ b/libraries/stdlib/src/generated/_Maps.kt @@ -11,8 +11,6 @@ package kotlin.collections import kotlin.comparisons.* import java.util.* -import java.util.Collections // TODO: it's temporary while we have java.util.Collections in js - /** * Returns a [List] containing all key-value pairs. */ diff --git a/libraries/stdlib/src/generated/_Ranges.kt b/libraries/stdlib/src/generated/_Ranges.kt index d40bd879b21..46edef3b720 100644 --- a/libraries/stdlib/src/generated/_Ranges.kt +++ b/libraries/stdlib/src/generated/_Ranges.kt @@ -11,8 +11,6 @@ package kotlin.ranges import kotlin.comparisons.* import java.util.* -import java.util.Collections // TODO: it's temporary while we have java.util.Collections in js - /** * Checks if the specified [value] belongs to this range. */ diff --git a/libraries/stdlib/src/generated/_Sequences.kt b/libraries/stdlib/src/generated/_Sequences.kt index 431411551a3..2e923122f5a 100644 --- a/libraries/stdlib/src/generated/_Sequences.kt +++ b/libraries/stdlib/src/generated/_Sequences.kt @@ -11,8 +11,6 @@ package kotlin.sequences import kotlin.comparisons.* import java.util.* -import java.util.Collections // TODO: it's temporary while we have java.util.Collections in js - /** * Returns `true` if [element] is found in the sequence. */ diff --git a/libraries/stdlib/src/generated/_Sets.kt b/libraries/stdlib/src/generated/_Sets.kt index 9f06995e17e..6f9f5f076b4 100644 --- a/libraries/stdlib/src/generated/_Sets.kt +++ b/libraries/stdlib/src/generated/_Sets.kt @@ -11,8 +11,6 @@ package kotlin.collections import kotlin.comparisons.* import java.util.* -import java.util.Collections // TODO: it's temporary while we have java.util.Collections in js - /** * Returns a set containing all elements of the original set except the given [element]. * diff --git a/libraries/stdlib/src/generated/_Strings.kt b/libraries/stdlib/src/generated/_Strings.kt index f71bced02e4..3abbde33eb6 100644 --- a/libraries/stdlib/src/generated/_Strings.kt +++ b/libraries/stdlib/src/generated/_Strings.kt @@ -11,8 +11,6 @@ package kotlin.text import kotlin.comparisons.* import java.util.* -import java.util.Collections // TODO: it's temporary while we have java.util.Collections in js - /** * Returns a character at the given [index] or throws an [IndexOutOfBoundsException] if the [index] is out of bounds of this char sequence. */ diff --git a/libraries/tools/kotlin-stdlib-gen/src/generators/GenerateStandardLib.kt b/libraries/tools/kotlin-stdlib-gen/src/generators/GenerateStandardLib.kt index 28f30b2bacb..c34b2f3e674 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/generators/GenerateStandardLib.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/generators/GenerateStandardLib.kt @@ -38,7 +38,6 @@ fun List.writeTo(file: File, builder: GenericFunction.() -> Str its.append("package kotlin.collections\n\n") its.append("$COMMON_AUTOGENERATED_WARNING\n\n") its.append("import java.util.*\n\n") - its.append("import java.util.Collections // TODO: it's temporary while we have java.util.Collections in js\n\n") for (t in this.sortedBy { it.signature }) { its.append(t.builder()) } @@ -59,7 +58,6 @@ fun List.writeTo(outDir: File, sourceFile: SourceFile) { its.append("$COMMON_AUTOGENERATED_WARNING\n\n") its.append("import kotlin.comparisons.*\n") its.append("import java.util.*\n\n") - its.append("import java.util.Collections // TODO: it's temporary while we have java.util.Collections in js\n\n") for (f in this) { f.textBuilder(its) diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/Ordering.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/Ordering.kt index bb65fc941bb..176872cf257 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/Ordering.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/Ordering.kt @@ -33,7 +33,7 @@ fun ordering(): List { """ if (this is Collection && size <= 1) return toList() val list = toMutableList() - Collections.reverse(list) + list.reverse() return list """ } @@ -42,7 +42,7 @@ fun ordering(): List { """ if (isEmpty()) return emptyList() val list = toMutableList() - Collections.reverse(list) + list.reverse() return list """ }