| // FILE: list.kt |
| |
| val intList = listOf(1, 2, 3) |
| val longList = listOf(1L, 2L, 3L) |
| |
| // FILE: box.kt |
| |
| fun box(): String { |
| val intListMin = intList.minByOrNull { it } ?: -1 |
| if (intListMin != 1) return "Fail intListMin=$intListMin" |
| |
| val intListMax = intList.maxByOrNull { it } ?: -1 |
| if (intListMax != 3) return "Fail intListMax=$intListMax" |
| |
| val longListMin = longList.minByOrNull { it } ?: -1 |
| if (longListMin != 1L) return "Fail longListMin=$longListMin" |
| |
| val longListMax = longList.maxByOrNull { it } ?: -1 |
| if (longListMax != 3L) return "Fail longListMax=$longListMax" |
| |
| return "OK" |
| } |
| |
| // @BoxKt.class: |
| // -- no compareTo |
| // 0 compareTo |
| // -- comparisons are properly fused with conditional jumps |
| // comparisons: 0 + fake inline variables: 12 |
| // 12 ICONST_0 |
| // 1 IF_ICMPGE |
| // 1 IF_ICMPLE |
| // 4 LCMP |
| // 1 IFGE |
| // 1 IFLE |
| |
| // 0 valueOf |
| // 0 Intrinsics.stringPlus |
| // 4 StringBuilder.<init> |
| // 8 StringBuilder.append |
| // 4 StringBuilder.toString |