FIR: Fix resolution for invokes on class qualifiers

This commit is contained in:
Denis Zharkov
2020-03-30 13:04:00 +03:00
parent 10531d2874
commit 9abe669443
24 changed files with 173 additions and 104 deletions
@@ -1,4 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
// KJS_WITH_FULL_RUNTIME
// !LANGUAGE: +NewInference
// WITH_RUNTIME
@@ -35,4 +34,4 @@ fun box(): String {
if (!test2()) return "fail2"
return "OK"
}
}
@@ -1,4 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
class A {
companion object {
operator fun invoke(i: Int) = i
@@ -1,4 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
interface B
operator fun B.invoke(i: Int) = i
@@ -1,4 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
class A {
class Nested {
companion object {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
import A.Nested
class A {
@@ -1,6 +1,5 @@
// IGNORE_BACKEND_FIR: JVM_IR
object A
operator fun A.invoke(i: Int) = i
fun box() = if (A(42) == 42) "OK" else "fail"
fun box() = if (A(42) == 42) "OK" else "fail"
@@ -1,6 +1,5 @@
// IGNORE_BACKEND_FIR: JVM_IR
object A {
operator fun invoke(i: Int) = i
}
fun box() = if (A(42) == 42) "OK" else "fail"
fun box() = if (A(42) == 42) "OK" else "fail"
@@ -1,4 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
class TestClass {
companion object {
inline operator fun <T> invoke(task: () -> T) = task()
@@ -12,4 +11,4 @@ fun box(): String {
val ok = "OK"
val x = TestClass { return ok }
}
}