[FIR TEST] Extend test on invoke priorities

This commit is contained in:
Mikhail Glukhikh
2020-02-12 17:39:45 +03:00
parent 79060e7f40
commit a8a696c7e1
2 changed files with 48 additions and 0 deletions
@@ -17,4 +17,18 @@ class B {
foo() // resolves to (2) foo() // resolves to (2)
} }
} }
}
class E {
object f {
operator fun invoke() = Unit // (1)
}
companion object {
val f: () -> Unit = {} // (2)
}
}
fun main() {
E.f() // Resolves to (2)
E.f.invoke() // Resolves to (1)
} }
@@ -43,3 +43,37 @@ FILE: invokePriority.kt
} }
} }
public final class E : R|kotlin/Any| {
public constructor(): R|E| {
super<R|kotlin/Any|>()
}
public final object f : R|kotlin/Any| {
private constructor(): R|E.f| {
super<R|kotlin/Any|>()
}
public final operator fun invoke(): R|kotlin/Unit| {
^invoke Q|kotlin/Unit|
}
}
public final companion object Companion : R|kotlin/Any| {
private constructor(): R|E.Companion| {
super<R|kotlin/Any|>()
}
public final val f: R|() -> kotlin/Unit| = fun <anonymous>(): R|kotlin/Unit| {
Unit
}
public get(): R|() -> kotlin/Unit|
}
}
public final fun main(): R|kotlin/Unit| {
Q|E|.R|/E.Companion.f|.R|FakeOverride<kotlin/Function0.invoke: R|kotlin/Unit|>|()
Q|E.f|.R|/E.f.invoke|()
}