FILE: calls.kt
    public? final? infix fun Int.distance(y: Int): <implicit> {
        ^distance this#.plus#(y#)
    }
    public? final? fun test(): Int {
        ^test IntegerLiteral(3).distance#(IntegerLiteral(4))
    }
    public? final? fun testRegular(): Int {
        ^testRegular IntegerLiteral(3).distance#(IntegerLiteral(4))
    }
    public? final? class My : R|kotlin/Any| {
        public? [ContainingClassKey=My] constructor([CorrespondingProperty=/My.x] x: Int): R|My| {
            super<R|kotlin/Any|>()
        }

        public? final? [IsFromPrimaryConstructor=true] var x: Int = R|<local>/x|
            [ContainingClassKey=My] public? get(): Int
            [ContainingClassKey=My] public? set(value: Int): R|kotlin/Unit|

        public? final? operator fun invoke(): <implicit> {
            ^invoke x#
        }

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

        public? final? fun copy(): <implicit> {
            ^copy My#(x#)
        }

    }
    public? final? fun testInvoke(): Int {
        ^testInvoke My#(IntegerLiteral(13)).invoke#()
    }
    public? final? fun testQualified(first: My, second: My?): R|kotlin/Unit| {
        println#(first#.x#)
        println#(second#?.{ $subj$.x# })
        first#.foo#()
        second#?.{ $subj$.foo#() }
        first#.copy#().foo#()
        first#.x# = IntegerLiteral(42)
    }
