| // FILE: 1.kt | |
| package test | |
| public class Z(public val value: Int = 0) { | |
| inline public fun run(p1: String? = null): String? { | |
| return p1 + value | |
| } | |
| inline public fun run(p1: String = "", lambda: (a: String, b: Int) -> String, p2: Int = 0): String { | |
| return lambda(p1, p2) | |
| } | |
| } | |
| // FILE: 2.kt | |
| import test.* | |
| fun box(): String { | |
| if (Z().run() != "null0") return "fail 1: ${Z().run()}" | |
| if (Z().run("OK") != "OK0") return "fail 2" | |
| if (Z().run("OK", { a, b -> a + b }, 1) != "OK1") return "fail 3" | |
| if (Z().run(lambda = { a: String, b: Int -> a + b }) != "0") return "fail 4" | |
| return "OK" | |
| } |