IR: additional callable reference adapter stuff in IR

- IrFunctionReference.reflectionTarget: IrFunctionSymbol?
- add separate declaration origin for callable reference adapters
- bump IR ABI version
This commit is contained in:
Dmitry Petrov
2020-01-21 17:01:35 +03:00
parent 57bbfbbfcc
commit c540116b71
59 changed files with 420 additions and 143 deletions
@@ -0,0 +1,25 @@
// !LANGUAGE: +NewInference +FunctionalInterfaceConversion +SamConversionPerArgument +SamConversionForKotlinFunctions
fun interface KRunnable {
fun run()
}
fun foo0() {}
fun foo1(vararg xs: Int): Int = 1
fun use(r: KRunnable) {}
fun testSamConstructor() =
KRunnable(::foo0)
// TODO should use an adapter function
fun testSamCosntructorOnAdapted() =
KRunnable(::foo1)
fun testSamConversion() {
use(::foo0)
}
// TODO should use an adapter function
fun testSamConversionOnAdapted() {
use(::foo1)
}