Files
kotlin-fork/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/compareTo.kt
T
Sergej Jaskiewicz 1a29b9efff [FIR, IR] Fix name mangling for functions with context receivers
- Mangled names of property accessors now include context receiver
  types of the corresponding property when computed from FIR.
- Context receivers are now supported when computing mangled names
  from IR
- IrBasedDescriptors now account for context receivers

^KT-57435 Fixed
2023-05-23 08:55:50 +00:00

23 lines
564 B
Kotlin
Vendored

// !LANGUAGE: +ContextReceivers
// IGNORE_BACKEND: JS_IR
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57429
data class Pair<A, B>(val first: A, val second: B)
context(Comparator<T>)
infix operator fun <T> T.compareTo(other: T) = compare(this, other)
context(Comparator<T>)
val <T> Pair<T, T>.min get() = if (first < second) first else second
fun box(): String {
val comparator = Comparator<String> { a, b ->
if (a == null || b == null) 0 else a.length.compareTo(b.length)
}
return with(comparator) {
Pair("OK", "fail").min
}
}