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|
            }
            )
        }
        )
    }
    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|
            }
            )
        }
        )
    }
    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|
            }
            )
        }
        )
    }
    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|
            }
            )
        }
        )
    }
    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>(): <ERROR TYPE REF: Unresolved name: plusAssign> <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|
            }
            )
        }
        )
    }
    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)
        }
        )
    }
    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|
                    }
                    ))
                }

            }
            ))
        }

    }
    public final fun someCallInsideLambda(): R|kotlin/Unit| {
    }
