Files
kotlin/compiler/testData/codegen/boxInline/defaultValues/defaultMethodInClass.kt
2018-06-28 12:26:41 +02:00

34 lines
691 B
Kotlin
Vendored

// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND: JS_IR
// 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"
}