Use the new type inference for top-level callable reference resolution

^KT-47797 Fixed
^KT-47987 Fixed
^KT-45034 Fixed
^KT-48446 Fixed
^KT-13934 Fixed
This commit is contained in:
Victor Petukhov
2021-09-20 17:13:17 +03:00
parent ca13aea26a
commit ee728b6902
115 changed files with 1239 additions and 1325 deletions
@@ -7,7 +7,6 @@ fun test() {
Resolved call:
Candidate descriptor: fun foo(f: (Int) -> String): Unit defined in root package
Resulting descriptor: fun foo(f: (Int) -> String): Unit defined in root package
Explicit receiver kind = NO_EXPLICIT_RECEIVER
@@ -5,7 +5,6 @@ annotation class MyA(val i: Int)
Resolved call:
Candidate descriptor: constructor MyA(i: Int) defined in MyA
Resulting descriptor: constructor MyA(i: Int) defined in MyA
Explicit receiver kind = NO_EXPLICIT_RECEIVER
@@ -5,7 +5,6 @@ class B: <caret>A() {}
Resolved call:
Candidate descriptor: constructor A() defined in A
Resulting descriptor: constructor A() defined in A
Explicit receiver kind = NO_EXPLICIT_RECEIVER
@@ -5,7 +5,6 @@ fun foo(array: Array<Int>) {
Resolved call:
Candidate descriptor: operator fun get(index: Int): Int defined in kotlin.Array
Resulting descriptor: operator fun get(index: Int): Int defined in kotlin.Array
Explicit receiver kind = DISPATCH_RECEIVER
@@ -6,7 +6,6 @@ fun bar(f: Int.()->Unit) {
Resolved call:
Candidate descriptor: operator fun Int.invoke(): Unit defined in kotlin.Function1
Resulting descriptor: operator fun Int.invoke(): Unit defined in kotlin.Function1
Explicit receiver kind = BOTH_RECEIVERS
@@ -6,7 +6,6 @@ fun bar(f: ()->Unit) {
Resolved call:
Candidate descriptor: operator fun invoke(): Unit defined in kotlin.Function0
Resulting descriptor: operator fun invoke(): Unit defined in kotlin.Function0
Explicit receiver kind = DISPATCH_RECEIVER
@@ -10,7 +10,6 @@ interface A {
Resolved call:
Candidate descriptor: operator fun Int.invoke(): Unit defined in kotlin.Function1
Resulting descriptor: operator fun Int.invoke(): Unit defined in kotlin.Function1
Explicit receiver kind = BOTH_RECEIVERS
@@ -9,7 +9,6 @@ fun test(a: A) {
Resolved call:
Candidate descriptor: operator fun invoke(Int): Int defined in kotlin.Function1
Resulting descriptor: operator fun invoke(Int): Int defined in kotlin.Function1
Explicit receiver kind = DISPATCH_RECEIVER
@@ -6,7 +6,6 @@ fun bar(f: Int.() -> Unit) {
Resolved call:
Candidate descriptor: operator fun Int.invoke(): Unit defined in kotlin.Function1
Resulting descriptor: operator fun Int.invoke(): Unit defined in kotlin.Function1
Explicit receiver kind = BOTH_RECEIVERS
@@ -8,7 +8,6 @@ fun bar(f: Int.() -> Unit, i: Int) {
Resolved call:
Candidate descriptor: operator fun Int.invoke(): Unit defined in kotlin.Function1
Resulting descriptor: operator fun Int.invoke(): Unit defined in kotlin.Function1
Explicit receiver kind = DISPATCH_RECEIVER
@@ -9,7 +9,6 @@ fun test() = A<caret>(1)
Resolved call:
Candidate descriptor: fun invoke(i: Int): Int defined in A.Companion
Resulting descriptor: fun invoke(i: Int): Int defined in A.Companion
Explicit receiver kind = DISPATCH_RECEIVER
@@ -10,7 +10,6 @@ fun test() = A.ONE<caret>(1)
Resolved call:
Candidate descriptor: fun invoke(i: Int): Int defined in A
Resulting descriptor: fun invoke(i: Int): Int defined in A
Explicit receiver kind = DISPATCH_RECEIVER
@@ -7,7 +7,6 @@ fun test() = A<caret>(1)
Resolved call:
Candidate descriptor: fun invoke(i: Int): Int defined in A
Resulting descriptor: fun invoke(i: Int): Int defined in A
Explicit receiver kind = DISPATCH_RECEIVER
@@ -13,7 +13,6 @@ val v = <caret>A(1.0)
Resolved call:
Candidate descriptor: constructor A(x: Double) defined in A
Resulting descriptor: constructor A(x: Double) defined in A
Explicit receiver kind = NO_EXPLICIT_RECEIVER
@@ -13,7 +13,6 @@ val v = <caret>A("abc")
Resolved call:
Candidate descriptor: constructor A(x: String) defined in A
Resulting descriptor: constructor A(x: String) defined in A
Explicit receiver kind = NO_EXPLICIT_RECEIVER
@@ -13,7 +13,6 @@ val v = <caret>A()
Resolved call:
Candidate descriptor: constructor A() defined in A
Resulting descriptor: constructor A() defined in A
Explicit receiver kind = NO_EXPLICIT_RECEIVER
@@ -6,7 +6,6 @@ val v = <caret>A()
Resolved call:
Candidate descriptor: constructor A() defined in A
Resulting descriptor: constructor A() defined in A
Explicit receiver kind = NO_EXPLICIT_RECEIVER
@@ -13,7 +13,6 @@ val v = <caret>A("abc")
Resolved call:
Candidate descriptor: constructor A(x: String) defined in A
Resulting descriptor: constructor A(x: String) defined in A
Explicit receiver kind = NO_EXPLICIT_RECEIVER
@@ -13,7 +13,6 @@ val v = <caret>A(1)
Resolved call:
Candidate descriptor: constructor A(x: Int) defined in A
Resulting descriptor: constructor A(x: Int) defined in A
Explicit receiver kind = NO_EXPLICIT_RECEIVER
@@ -13,7 +13,6 @@ val v = <caret>A(1, "abc")
Resolved call:
Candidate descriptor: constructor A(x: Int, y: String) defined in A
Resulting descriptor: constructor A(x: Int, y: String) defined in A
Explicit receiver kind = NO_EXPLICIT_RECEIVER
@@ -13,7 +13,6 @@ val v = <caret>A(1.0)
Resolved call:
Candidate descriptor: constructor A(x: Double, y: String = ...) defined in A
Resulting descriptor: constructor A(x: Double, y: String = ...) defined in A
Explicit receiver kind = NO_EXPLICIT_RECEIVER
@@ -13,7 +13,6 @@ val v = <caret>A(x=1.0)
Resolved call:
Candidate descriptor: constructor A(x: Double, y: String = ...) defined in A
Resulting descriptor: constructor A(x: Double, y: String = ...) defined in A
Explicit receiver kind = NO_EXPLICIT_RECEIVER
@@ -10,7 +10,6 @@ val v = <caret>A(1)
Resolved call:
Candidate descriptor: constructor A(x: Int) defined in A
Resulting descriptor: constructor A(x: Int) defined in A
Explicit receiver kind = NO_EXPLICIT_RECEIVER
@@ -7,7 +7,6 @@ val y = <caret>A(0, *intArrayOf(1, 2, 3), 4))
Resolved call:
Candidate descriptor: constructor A(vararg x: Int) defined in A
Resulting descriptor: constructor A(vararg x: Int) defined in A
Explicit receiver kind = NO_EXPLICIT_RECEIVER