blob: cd85fac3b3e007d0d28d42d711202e4c3eb45125 [file] [log] [blame]
// FILE: 1.kt
package test
interface InlineTrait {
private inline fun privateInline(s: () -> String): String {
return s()
}
fun testPrivateInline(): String {
return privateInline { "private" }
}
fun testPrivateInline2(): String {
return privateInline { "private2" }
}
companion object {
inline final fun finalInline(s: () -> String): String {
return s()
}
}
}
class Z : InlineTrait {
}
// FILE: 2.kt
import test.*
fun testClassObject(): String {
return InlineTrait.finalInline({ "classobject" })
}
fun box(): String {
if (Z().testPrivateInline() != "private") return "test1: ${Z().testPrivateInline()}"
if (Z().testPrivateInline2() != "private2") return "test2: ${Z().testPrivateInline2()}"
if (testClassObject() != "classobject") return "test3: ${testClassObject()}"
return "OK"
}