| // FILE: test.kt | |
| fun test1() { | |
| val n = null | |
| val u1 = n.elvis { "X1" } | |
| val u2 = "X2".elvis { "X3" } | |
| } | |
| // @TestKt.class: | |
| // 0 IFNULL | |
| // 0 IFNONNULL | |
| // 1 X1 | |
| // 1 X2 | |
| // 0 X3 | |
| // FILE: inline.kt | |
| inline fun <T : Any> T?.elvis(rhs: () -> T): T = this ?: rhs() |