[FIR IDE] Resolve explicit invoke calls more correctly

Also, enable some muted tests

^KTIJ-21343 Fixed
This commit is contained in:
Roman Golyshev
2022-03-15 11:36:54 +04:00
committed by teamcity
parent 0c4f2711d6
commit 7bcd67068c
11 changed files with 77 additions and 30 deletions
@@ -1,5 +1,3 @@
// IGNORE_FIR
package test
object Conflict {
@@ -0,0 +1,12 @@
package test
object Conflict
operator fun Conflict.invoke() {}
fun test() {
class Conflict(i: Int)
<caret>Conflict()
}
@@ -0,0 +1,2 @@
Resolved to:
0: (in test) operator fun test.Conflict.invoke()
@@ -0,0 +1,9 @@
fun interface A {
operator fun invoke()
}
val globalA: A = A {}
fun foo() {
globalA.invo<caret>ke()
}
@@ -0,0 +1,2 @@
Resolved to:
0: (in A) operator fun invoke()
@@ -0,0 +1,7 @@
fun interface A {
operator fun invoke()
}
fun foo(param: A) {
param.invo<caret>ke()
}
@@ -0,0 +1,2 @@
Resolved to:
0: (in A) operator fun invoke()