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.
26 lines
408 B
Kotlin
Vendored
26 lines
408 B
Kotlin
Vendored
// !JVM_DEFAULT_MODE: enable
|
|
// TARGET_BACKEND: JVM
|
|
// JVM_TARGET: 1.8
|
|
// WITH_RUNTIME
|
|
|
|
interface Test {
|
|
fun test(): String {
|
|
return privateFun() + privateProp
|
|
}
|
|
|
|
@JvmDefault
|
|
private fun privateFun(): String {
|
|
return "O"
|
|
}
|
|
|
|
@JvmDefault
|
|
private val privateProp: String
|
|
get() = "K"
|
|
}
|
|
|
|
class TestImpl: Test
|
|
|
|
fun box(): String {
|
|
return TestImpl().test()
|
|
}
|