[JS IR BE] Refactor equals and compareTo lowering
This commit is contained in:
@@ -20,10 +20,13 @@ fun compareTo(a: dynamic, b: dynamic): Int {
|
||||
return primitiveCompareTo(a, b)
|
||||
}
|
||||
|
||||
// TODO: Replace to a.unsafeCast<Comparable<*>>().compareTo(b) when bridge is implemented
|
||||
return js("a.compareTo(b)").unsafeCast<Int>()
|
||||
return compareToDoNotIntrinsicify(a, b)
|
||||
}
|
||||
|
||||
// TODO: Use @DoNotIntrincify annotation
|
||||
private fun <T : Comparable<T>> compareToDoNotIntrinsicify(a: Comparable<T>, b: T) =
|
||||
a.compareTo(b)
|
||||
|
||||
fun primitiveCompareTo(a: dynamic, b: dynamic): Int =
|
||||
js("a < b ? -1 : a > b ? 1 : 0").unsafeCast<Int>()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user