| // WITH_RUNTIME |
| // FILE: list.kt |
| val intList = listOf(1, 2, 3) |
| val longList = listOf(1L, 2L, 3L) |
| |
| // FILE: box.kt |
| fun box(): String { |
| val intListMin = intList.minBy { it } ?: -1 |
| if (intListMin != 1) return "Fail intListMin=$intListMin" |
| |
| val intListMax = intList.maxBy { it } ?: -1 |
| if (intListMax != 3) return "Fail intListMax=$intListMax" |
| |
| val longListMin = longList.minBy { it } ?: -1 |
| if (longListMin != 1L) return "Fail longListMin=$longListMin" |
| |
| val longListMax = longList.maxBy { it } ?: -1 |
| if (longListMax != 3L) return "Fail longListMax=$longListMax" |
| |
| return "OK" |
| } |
| |
| // @BoxKt.class: |
| // -- no boxing |
| // 0 valueOf |
| // -- no compareTo |
| // 0 compareTo |
| // -- comparisons are properly fused with conditional jumps |
| // 0 ICONST_0 |
| // 1 IF_ICMPGE |
| // 1 IF_ICMPLE |
| // 4 LCMP |
| // 1 IFGE |
| // 1 IFLE |