6cc6b9efcb
Namely, it's about the cases when there are multiple variable candidates with the same priority and all of them should be collected and compared
80 lines
2.4 KiB
Plaintext
Vendored
80 lines
2.4 KiB
Plaintext
Vendored
FILE: invokePriority.kt
|
|
public final class A : R|kotlin/Any| {
|
|
public constructor(): R|A| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
public final fun bar(): R|kotlin/Unit| {
|
|
lval foo: R|kotlin/String.() -> kotlin/Unit| = fun R|kotlin/String|.<anonymous>(): R|kotlin/Unit| {
|
|
Unit
|
|
}
|
|
|
|
local final fun R|kotlin/String|.foo(): R|kotlin/Unit| {
|
|
}
|
|
|
|
String(1).R|<local>/foo|()
|
|
R|kotlin/with|<R|kotlin/String|, R|kotlin/Unit|>(String(2), <L> = with@fun R|kotlin/String|.<anonymous>(): R|kotlin/Unit| <kind=EXACTLY_ONCE> {
|
|
this@R|special/anonymous|.R|<local>/foo|()
|
|
}
|
|
)
|
|
}
|
|
|
|
}
|
|
public final class B : R|kotlin/Any| {
|
|
public constructor(): R|B| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
public final val foo: R|kotlin/String.() -> kotlin/Unit| = fun R|kotlin/String|.<anonymous>(): R|kotlin/Unit| {
|
|
Unit
|
|
}
|
|
|
|
public get(): R|kotlin/String.() -> kotlin/Unit|
|
|
|
|
public final fun R|kotlin/String|.foo(): R|kotlin/Unit| {
|
|
}
|
|
|
|
public final fun bar(): R|kotlin/Unit| {
|
|
(this@R|/B|, String(1)).R|/B.foo|()
|
|
R|kotlin/with|<R|kotlin/String|, R|kotlin/Unit|>(String(2), <L> = with@fun R|kotlin/String|.<anonymous>(): R|kotlin/Unit| <kind=EXACTLY_ONCE> {
|
|
(this@R|/B|, this@R|special/anonymous|).R|/B.foo|()
|
|
}
|
|
)
|
|
}
|
|
|
|
}
|
|
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|.<Ambiguity: f, [/E.f.invoke, kotlin/Function0.invoke]>#()
|
|
Q|E.f|.R|/E.f.invoke|()
|
|
}
|