JVM_IR wrap function into a proxy if indy SAM-conversion becomes valid
This commit is contained in:
committed by
teamcityserver
parent
9ad62eb1fd
commit
40fe67880b
@@ -6,22 +6,13 @@
|
||||
|
||||
// CHECK_BYTECODE_TEXT
|
||||
// JVM_IR_TEMPLATES
|
||||
// 0 java/lang/invoke/LambdaMetafactory
|
||||
// 1 java/lang/invoke/LambdaMetafactory
|
||||
|
||||
// FILE: inlineOnly.kt
|
||||
|
||||
inline fun <reified T> f(x: T) =
|
||||
println("${T::class.simpleName}($x)")
|
||||
|
||||
private inline fun g(x: String) = println(x)
|
||||
|
||||
fun call(c: Consumer<String>) = c.accept("")
|
||||
|
||||
fun box(): String {
|
||||
call(::println) // `println` is `@InlineOnly`
|
||||
call(::f) // `f` has a reified type parameter and thus isn't callable directly
|
||||
val obj = { call(::g) } // `g` is inaccessible in this scope
|
||||
obj()
|
||||
call(::println) // 'println' is @InlineOnly
|
||||
return "OK"
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user