blob: 7e012922d06b5cf152a0a4a972f24bce444f9e00 [file]
// TARGET_BACKEND: JVM
// ^ This is no supposed to work on KLIB-backends, see KT-69681
// DISABLE_IR_VISIBILITY_CHECKS: ANY
// ^ Suppressed errors
// FILE: 1.kt
package test
private class S {
fun a(): String {
return "K"
}
}
// This function exposes S which is a private class (package-private in the byte code)
// It can be accessed outside the `test` package, which may lead to IllegalAccessError.
// This behavior may be changed later
@Suppress("IR_PRIVATE_TYPE_USED_IN_NON_PRIVATE_INLINE_FUNCTION_ERROR")
internal inline fun call(s: () -> String): String {
val s = test()
return s() + test2(s)
}
private fun test(): S {
return S()
}
private fun test2(s: S): String {
return s.a()
}
// FILE: 2.kt
import test.*
fun box(): String {
return call {
"O"
}
}