diff --git a/libraries/kdoc/src/main/kotlin/org/jetbrains/kotlin/doc/KDocConfig.kt b/libraries/kdoc/src/main/kotlin/org/jetbrains/kotlin/doc/KDocConfig.kt index be27a10e646..8940de717b6 100644 --- a/libraries/kdoc/src/main/kotlin/org/jetbrains/kotlin/doc/KDocConfig.kt +++ b/libraries/kdoc/src/main/kotlin/org/jetbrains/kotlin/doc/KDocConfig.kt @@ -95,7 +95,7 @@ class KDocConfig() { protected class LongestFirstStringComparator() : Comparator { override fun compare(s1: String?, s2: String?): Int { - return compareBy(s1, s2, { (s: String) -> s.length() }) + return compareBy(s1, s2, { (s: String) -> s.length() }, { (s: String) -> s }) } override fun equals(obj : Any?) : Boolean { diff --git a/libraries/stdlib/src/Ordering.kt b/libraries/stdlib/src/Ordering.kt index 5bb5ca62603..137e8e6d581 100644 --- a/libraries/stdlib/src/Ordering.kt +++ b/libraries/stdlib/src/Ordering.kt @@ -1,14 +1,13 @@ package kotlin -import java.lang.Iterable -import java.util.Comparator import java.util.Comparator /** - * Helper method for implementing [[Comparable]] methods using a list of functions - * to calculate the values to compare - */ -inline fun compareBy(a: T?, b: T?, vararg functions: Function1): Int { +* Helper method for implementing [[Comparable]] methods using a list of functions +* to calculate the values to compare +*/ +inline fun compareBy(a: T?, b: T?, vararg functions: Function1): Int { + require(functions.size > 0) if (a === b) return 0 if (a == null) return - 1 if (b == null) return 1 @@ -18,7 +17,7 @@ inline fun compareBy(a: T?, b: T?, vararg functions: Function1): Int val diff = compareValues(v1, v2) if (diff != null) return diff } - return compareValues(a, b) + return 0 } /**