| // FILE: util.kt |
| const val FLAG = true |
| const val OTHER_FLAG = false |
| |
| fun doStuff1() {} |
| fun doStuff2() {} |
| fun doStuff3() {} |
| |
| inline fun doStuff1IfTrue(flag: Boolean) { |
| if (flag) doStuff1() |
| } |
| |
| inline fun doStuff2IfFalse(flag: Boolean) { |
| if (!flag) doStuff2() |
| } |
| |
| inline fun doStuff3IfComplex(flag: Boolean) { |
| if (flag && !OTHER_FLAG) doStuff3() |
| } |
| |
| // FILE: test.kt |
| fun test() { |
| doStuff1IfTrue(FLAG) |
| doStuff2IfFalse(FLAG) |
| doStuff3IfComplex(FLAG) |
| } |
| |
| // @TestKt.class: |
| // 0 FLAG |
| // 1 INVOKESTATIC UtilKt.doStuff1 |
| // 0 INVOKESTATIC UtilKt.doStuff2 |
| // 1 INVOKESTATIC UtilKt.doStuff3 |
| // 0 ILOAD 0 |
| // 0 IFEQ |
| // 0 IFNE |