FIR: support adapted callable reference with vararg

This commit is contained in:
Jinseong Jeon
2020-07-31 23:34:51 -07:00
committed by Mikhail Glukhikh
parent 4332e95b8a
commit 0e54f98b79
24 changed files with 120 additions and 90 deletions
@@ -7,7 +7,7 @@ fun test(i: IntArray) {
myLet(::foo)
<!INAPPLICABLE_CANDIDATE!>myLet<!><Int>(<!UNRESOLVED_REFERENCE!>::foo<!>)
myLet<IntArray>(::foo)
<!INAPPLICABLE_CANDIDATE!>myLetExplicit1<!>(<!UNRESOLVED_REFERENCE!>::foo<!>)
myLetExplicit1(::foo)
myLetExplicit2(::foo)
}
@@ -36,7 +36,7 @@ object Test3 {
fun test() {
val result = foo(::bar)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int")!>result<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>result<!>
}
}
}
@@ -12,7 +12,7 @@ fun allOfTheAbove(f: (A) -> Unit): Any = f
fun test() {
coercionToUnit(A::foo)
<!INAPPLICABLE_CANDIDATE!>varargToElement<!>(<!UNRESOLVED_REFERENCE!>A::foo<!>)
varargToElement(A::foo)
defaultAndVararg(A::foo)
allOfTheAbove(A::foo)
}
@@ -6,5 +6,5 @@ fun foo(i: Int) {}
val fn1: (Int) -> Unit = ::foo
val fn2: (IntArray) -> Unit = ::foo
val fn3: (Int, Int) -> Unit = <!UNRESOLVED_REFERENCE!>::foo<!>
val fn3: (Int, Int) -> Unit = ::foo
val fn4: (Array<String>) -> Unit = ::foo