KT-5044 intrinsify all contains calls for primitive ranges from stdlib

This commit is contained in:
Vsevolod
2016-10-10 23:13:31 +03:00
committed by Dmitry Petrov
parent d7ad27ac3b
commit bd6f83b9b7
6 changed files with 201 additions and 32 deletions
@@ -0,0 +1,25 @@
// WITH_RUNTIME
fun inInt(x: Long): Boolean {
return x in 1..2
}
fun inLong(x: Int): Boolean {
return x in 1L..2L
}
fun inFloat(x: Double): Boolean {
return x in 1.0f..2.0f
}
fun inDouble(x: Float): Boolean {
return x in 1.0..2.0
}
// 2 INVOKESPECIAL
// 2 NEW
// 2 INVOKESTATIC kotlin/ranges/RangesKt.rangeTo
// 1 longRangeContains
// 1 intRangeContains
// 1 doubleRangeContains
// 1 floatRangeContains