1abdf0561a
re-ordering the lowering phases. The changes in InterfaceLowering are necessary so that IrElements that target the removed functions are re-targeted to the new functions in DefaultImpls. This affects local functions in interface functions since now LocalDeclarationsLowering comes before InterfaceLowering.
28 lines
392 B
Kotlin
Vendored
28 lines
392 B
Kotlin
Vendored
// !JVM_DEFAULT_MODE: enable
|
|
// TARGET_BACKEND: JVM
|
|
// JVM_TARGET: 1.8
|
|
// WITH_RUNTIME
|
|
|
|
interface Test {
|
|
@JvmDefault
|
|
private val foo: String
|
|
get() = "O"
|
|
|
|
@JvmDefault
|
|
private fun bar(): String {
|
|
return "K"
|
|
}
|
|
|
|
fun call(): String {
|
|
return { foo + bar()} ()
|
|
}
|
|
}
|
|
|
|
class TestClass : Test {
|
|
|
|
}
|
|
|
|
fun box(): String {
|
|
return TestClass().call()
|
|
}
|