Files
kotlin-fork/compiler/fir/analysis-tests/testData/resolve/callResolution/arraySetWithPlusAssign.fir.txt
T

215 lines
7.2 KiB
Plaintext
Vendored

FILE: arraySetWithPlusAssign.kt
public final class A : R|kotlin/Any| {
public constructor(): R|A| {
super<R|kotlin/Any|>()
}
public final operator fun get(i: R|kotlin/Int|): R|A| {
^get this@R|/A|
}
public final operator fun plusAssign(v: R|() -> kotlin/Unit|): R|kotlin/Unit| {
}
}
public final fun test_1(x: R|A|): R|kotlin/Unit| {
R|<local>/x|.R|/A.get|(Int(1)).R|/A.plusAssign|(fun <anonymous>(): R|kotlin/Unit| <inline=NoInline> {
R|/someCallInsideLambda|()
R|<local>/x|.R|/A.get|(Int(1)).R|/A.plusAssign|(fun <anonymous>(): R|kotlin/Unit| <inline=NoInline> {
R|/someCallInsideLambda|()
Q|kotlin/Unit|
}
)
Unit
}
)
Unit
}
public final class B : R|kotlin/Any| {
public constructor(): R|B| {
super<R|kotlin/Any|>()
}
public final operator fun get(i: R|kotlin/Int|): R|B| {
^get this@R|/B|
}
public final operator fun plusAssign(a: R|() -> kotlin/Unit|): R|kotlin/Unit| {
}
public final operator fun plus(x: R|kotlin/String|): R|kotlin/Unit| {
}
}
public final fun test_2(x: R|B|): R|kotlin/Unit| {
R|<local>/x|.R|/B.get|(Int(1)).R|/B.plusAssign|(fun <anonymous>(): R|kotlin/Unit| <inline=NoInline> {
R|/someCallInsideLambda|()
R|<local>/x|.R|/B.get|(Int(1)).R|/B.plusAssign|(fun <anonymous>(): R|kotlin/Unit| <inline=NoInline> {
R|/someCallInsideLambda|()
Q|kotlin/Unit|
}
)
Unit
}
)
Unit
}
public final class C : R|kotlin/Any| {
public constructor(): R|C| {
super<R|kotlin/Any|>()
}
public final operator fun get(i: R|kotlin/Int|): R|C| {
^get this@R|/C|
}
public final operator fun set(i: R|kotlin/Int|, v: R|kotlin/String|): R|kotlin/Unit| {
}
public final operator fun plusAssign(a: R|() -> kotlin/Unit|): R|kotlin/Unit| {
}
public final operator fun plus(v: R|() -> kotlin/Unit|): R|kotlin/Unit| {
}
}
public final fun test_3(x: R|C|): R|kotlin/Unit| {
R|<local>/x|.R|/C.get|(Int(1)).R|/C.plusAssign|(fun <anonymous>(): R|kotlin/Unit| <inline=NoInline> {
R|/someCallInsideLambda|()
R|<local>/x|.R|/C.get|(Int(1)).R|/C.plusAssign|(fun <anonymous>(): R|kotlin/Unit| <inline=NoInline> {
R|/someCallInsideLambda|()
Q|kotlin/Unit|
}
)
Unit
}
)
Unit
}
public final class D : R|kotlin/Any| {
public constructor(): R|D| {
super<R|kotlin/Any|>()
}
public final operator fun set(i: R|kotlin/Int|, x: R|D|): R|kotlin/Unit| {
}
public final operator fun get(i: R|kotlin/Int|): R|D| {
^get this@R|/D|
}
public final operator fun plusAssign(x: R|() -> kotlin/Unit|): R|kotlin/Unit| {
}
public final operator fun plus(v: R|() -> kotlin/Unit|): R|D| {
^plus this@R|/D|
}
}
public final fun test_4(x: R|D|): R|kotlin/Unit| {
R|<local>/x|.R|/D.get|(Int(1)).<Operator overload ambiguity. Compatible candidates: [/D.plusAssign, /D.set]>#(fun <anonymous>(): R|kotlin/Unit| <inline=NoInline> {
R|/someCallInsideLambda|()
R|<local>/x|.R|/D.get|(Int(1)).<Operator overload ambiguity. Compatible candidates: [/D.plusAssign, /D.set]>#(fun <anonymous>(): R|kotlin/Unit| <inline=NoInline> {
R|/someCallInsideLambda|()
Q|kotlin/Unit|
}
)
Unit
}
)
Unit
}
public final class E : R|kotlin/Any| {
public constructor(): R|E| {
super<R|kotlin/Any|>()
}
}
public final fun test_5(x: R|E|): R|kotlin/Unit| {
R|<local>/x|.<Unresolved name: get>#(Int(1)).<Unresolved name: +=>#(fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
R|/someCallInsideLambda|()
R|<local>/x|.<Unresolved name: get>#(Int(1)).<Unresolved name: +=>#(fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
R|/someCallInsideLambda|()
Q|kotlin/Unit|
}
)
Unit
}
)
Unit
}
public final class F : R|kotlin/Any| {
public constructor(): R|F| {
super<R|kotlin/Any|>()
}
public final operator fun set(i: R|kotlin/Int|, x: R|F|): R|kotlin/Unit| {
}
public final operator fun get(i: R|kotlin/Int|): R|F| {
^get this@R|/F|
}
public final operator fun plusAssign(x: R|() -> kotlin/String|): R|kotlin/Unit| {
}
public final operator fun plus(v: R|() -> kotlin/Int|): R|F| {
^plus this@R|/F|
}
}
public final fun test_6(x: R|F|): R|kotlin/Unit| {
R|<local>/x|.R|/F.get|(Int(1)).<Operator overload ambiguity. Compatible candidates: [/F.plusAssign, /F.set]>#(fun <anonymous>(): R|kotlin/String| <inline=NoInline> {
R|/someCallInsideLambda|()
^ String(please choose String)
}
)
Unit
}
public final class G : R|kotlin/Any| {
public constructor(): R|G| {
super<R|kotlin/Any|>()
}
public final operator fun get(i: R|kotlin/Int|, j: R|kotlin/Int|, k: R|kotlin/Int|): R|G| {
^get this@R|/G|
}
public final operator fun set(i: R|kotlin/Int|, j: R|kotlin/Int|, k: R|kotlin/Int|, x: R|G|): R|kotlin/Unit| {
}
public final operator fun plus(v: R|() -> kotlin/Unit|): R|G| {
^plus this@R|/G|
}
}
public final fun test_7(x: R|G|): R|kotlin/Unit| {
{
lval <array>: R|G| = R|<local>/x|
lval <index_0>: R|kotlin/Int| = Int(1)
lval <index_1>: R|kotlin/Int| = Int(2)
lval <index_2>: R|kotlin/Int| = Int(3)
R|<local>/<array>|.R|/G.set|(R|<local>/<index_0>|, R|<local>/<index_1>|, R|<local>/<index_2>|, R|<local>/<array>|.R|/G.get|(R|<local>/<index_0>|, R|<local>/<index_1>|, R|<local>/<index_2>|).R|/G.plus|(fun <anonymous>(): R|kotlin/Unit| <inline=NoInline> {
R|/someCallInsideLambda|()
{
lval <array>: R|G| = R|<local>/x|
lval <index_0>: R|kotlin/Int| = Int(1)
lval <index_1>: R|kotlin/Int| = Int(2)
lval <index_2>: R|kotlin/Int| = Int(3)
R|<local>/<array>|.R|/G.set|(R|<local>/<index_0>|, R|<local>/<index_1>|, R|<local>/<index_2>|, R|<local>/<array>|.R|/G.get|(R|<local>/<index_0>|, R|<local>/<index_1>|, R|<local>/<index_2>|).R|/G.plus|(fun <anonymous>(): R|kotlin/Unit| <inline=NoInline> {
R|/someCallInsideLambda|()
Q|kotlin/Unit|
}
))
}
Unit
}
))
}
Unit
}
public final fun someCallInsideLambda(): R|kotlin/Unit| {
}