JVM_IR KT-45998 fix protected companion object member accessors

Also, make sure it works with indy-based SAM conversions.
This commit is contained in:
Dmitry Petrov
2021-04-16 16:53:16 +03:00
committed by TeamCityServer
parent b1fb0ba9e1
commit 9a4a39e680
10 changed files with 164 additions and 19 deletions
@@ -0,0 +1,36 @@
// TARGET_BACKEND: JVM
// IGNORE_LIGHT_ANALYSIS
// IGNORE_BACKEND: JVM
// JVM_TARGET: 1.8
// SAM_CONVERSIONS: INDY
// WITH_RUNTIME
// FULL_JDK
// CHECK_BYTECODE_TEXT
// 1 java/lang/invoke/LambdaMetafactory
// FILE: test.kt
import c2.*
fun box(): String =
C2().supplier().get()
// FILE: C1.kt
package c1
open class C1 {
companion object {
@JvmStatic
protected fun test(): String = "OK"
}
}
// FILE: C2.kt
package c2
import c1.*
import java.util.function.Supplier
class C2 : C1() {
fun supplier() = Supplier<String>(::test)
}