// WITH_STDLIB
// IGNORE_K1
package a_

class `$-$` {
    @JvmInline
    value class `$-`(val `$-`: UInt) {
        context(_: Int, _: UInt, `$$-`: Int, `$$--`: UInt)
        fun `$-`.foo(x: Int, y: UInt) {
            val arg0 = 42
        }
    }
}

// METHOD : a_/$-$$$-.foo-sMXUCbs(IIIIIIII)V
// VARIABLE : NAME=$$- TYPE=I
// VARIABLE : NAME=$$-- TYPE=I
// VARIABLE : NAME=$context-Int TYPE=I
// VARIABLE : NAME=$context-UInt TYPE=I
// VARIABLE : NAME=$this$foo TYPE=I
// VARIABLE : NAME=arg0 TYPE=I
// VARIABLE : NAME=arg0 TYPE=I
// VARIABLE : NAME=x TYPE=I
// VARIABLE : NAME=y TYPE=I
