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| {
    }
