Files
kotlin-fork/compiler/testData/psi/examples/util/Comparison.kt
T
2016-01-19 19:31:44 +03:00

16 lines
468 B
Kotlin
Vendored

fun naturalOrder<in T : Comparable<T>>(a : T, b : T) : Int = a.compareTo(b)
fun castingNaturalOrder(a : Object, b : Object) : Int = (a as Comparable<Object>).compareTo(b as Comparable<Object>)
enum class ComparisonResult {
LS, EQ, GR;
}
fun <T> asMatchableComparison(cmp : Comparison<T>) : MatchableComparison<T> = {a, b ->
val res = cmp(a, b)
if (res == 0) return ComparisonResult.EQ
if (res < 0) return ComparisonResult.LS
return ComparisonResult.GR
}