PSI2IR: capture adapted reference receiver to a local val if required

This commit is contained in:
Dmitry Petrov
2020-01-21 14:26:49 +03:00
parent 38b90b7fbd
commit 57bbfbbfcc
9 changed files with 488 additions and 10 deletions
@@ -0,0 +1,29 @@
// !LANGUAGE: +NewInference, +FunctionReferenceWithDefaultValueAsOtherType
fun use(fn: (Int) -> Unit) { fn(1) }
class Host {
fun withVararg(vararg xs: Int) = ""
fun testImplicitThis() {
use(::withVararg)
}
fun testBoundReceiverLocalVal() {
val h = Host()
use(h::withVararg)
}
fun testBoundReceiverLocalVar() {
var h = Host()
use(h::withVararg)
}
fun testBoundReceiverParameter(h: Host) {
use(h::withVararg)
}
fun testBoundReceiverExpression() {
use(Host()::withVararg)
}
}