FILE: unary.kt
    public? final? fun test(): R|kotlin/Unit| {
        lvar x: <implicit> = IntegerLiteral(0)
        lval x1: <implicit> = x#++
        lval x2: <implicit> = ++x#
        lval x3: <implicit> = --x#
        lval x4: <implicit> = x#--
        when () {
            ==(x#, IntegerLiteral(0)).not#() ->  {
                println#(String(000))
            }
        }

    }
    public final? class X : R|kotlin/Any| {
        public? [ContainingClassKey=X] constructor([CorrespondingProperty=/X.i] i: Int): R|X| {
            super<R|kotlin/Any|>()
        }

        public? final? [IsFromPrimaryConstructor=true] val i: Int = R|<local>/i|
            public? [ContainingClassKey=X] get(): Int

    }
    public? final? fun test2(x: X): R|kotlin/Unit| {
        lval x1: <implicit> = x#.i#++
        lval x2: <implicit> = ++x#.i#
    }
    public? final? fun test3(arr: Array<Int>): R|kotlin/Unit| {
        lval x1: <implicit> =  {
            lval <array>: <implicit> = arr#
            lval <index_0>: <implicit> = IntegerLiteral(0)
            lval <unary>: <implicit> = R|<local>/<array>|.get#(R|<local>/<index_0>|)
            R|<local>/<array>|.set#(R|<local>/<index_0>|, R|<local>/<unary>|.inc#())
            R|<local>/<unary>|
        }

        lval x2: <implicit> =  {
            lval <array>: <implicit> = arr#
            lval <index_0>: <implicit> = IntegerLiteral(1)
            R|<local>/<array>|.set#(R|<local>/<index_0>|, R|<local>/<array>|.get#(R|<local>/<index_0>|).inc#())
            R|<local>/<array>|.get#(R|<local>/<index_0>|)
        }

    }
    public final? class Y : R|kotlin/Any| {
        public? [ContainingClassKey=Y] constructor([CorrespondingProperty=/Y.arr] arr: Array<Int>): R|Y| {
            super<R|kotlin/Any|>()
        }

        public? final? [IsFromPrimaryConstructor=true] val arr: Array<Int> = R|<local>/arr|
            public? [ContainingClassKey=Y] get(): Array<Int>

    }
    public? final? fun test4(y: Y): R|kotlin/Unit| {
        lval x1: <implicit> =  {
            lval <array>: <implicit> = y#.arr#
            lval <index_0>: <implicit> = IntegerLiteral(0)
            lval <unary>: <implicit> = R|<local>/<array>|.get#(R|<local>/<index_0>|)
            R|<local>/<array>|.set#(R|<local>/<index_0>|, R|<local>/<unary>|.inc#())
            R|<local>/<unary>|
        }

        lval x2: <implicit> =  {
            lval <array>: <implicit> = y#.arr#
            lval <index_0>: <implicit> = IntegerLiteral(1)
            R|<local>/<array>|.set#(R|<local>/<index_0>|, R|<local>/<array>|.get#(R|<local>/<index_0>|).inc#())
            R|<local>/<array>|.get#(R|<local>/<index_0>|)
        }

    }
