// CHECK: // Mangled name: A // Public signature: /A|null[0] open class A { // CHECK: // Mangled name: A#(){} // Public signature: /A.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK JVM_IR: // Mangled name: A#foo(kotlin.IntArray...){}kotlin.Int // Public signature: /A.foo|-3529930544137592433[0] // Public signature debug description: foo(kotlin.IntArray...){}kotlin.Int // CHECK JS_IR NATIVE: // Mangled name: A#foo(kotlin.IntArray...){} // Public signature: /A.foo|112986931506401688[0] // Public signature debug description: foo(kotlin.IntArray...){} open fun foo(vararg xs: Int): Int } // CHECK: // Mangled name: Obj // Public signature: /Obj|null[0] object Obj : A { // CHECK: // Mangled name: Obj#(){} // Public signature: /Obj.|-5645683436151566731[0] // Public signature debug description: (){} private constructor() /* primary */ // CHECK JVM_IR: // Mangled name: Obj#foo(kotlin.IntArray...){}kotlin.Int // Public signature: /Obj.foo|-3529930544137592433[0] // Public signature debug description: foo(kotlin.IntArray...){}kotlin.Int // CHECK JS_IR NATIVE: // Mangled name: Obj#foo(kotlin.IntArray...){} // Public signature: /Obj.foo|112986931506401688[0] // Public signature debug description: foo(kotlin.IntArray...){} override fun foo(vararg xs: Int): Int } // CHECK: // Mangled name: #testBound(A){} // Public signature: /testBound|1636169933869733015[0] // Public signature debug description: testBound(A){} fun testBound(a: A): Unit // CHECK: // Mangled name: #testObject(){} // Public signature: /testObject|-3988286999538388748[0] // Public signature debug description: testObject(){} fun testObject(): Unit // CHECK: // Mangled name: #testUnbound(){} // Public signature: /testUnbound|-7514176206479207862[0] // Public signature debug description: testUnbound(){} fun testUnbound(): Unit // CHECK: // Mangled name: #use1(kotlin.Function2){} // Public signature: /use1|-4462422680581088517[0] // Public signature debug description: use1(kotlin.Function2){} fun use1(fn: Function2): Unit // CHECK: // Mangled name: #use2(kotlin.Function1){} // Public signature: /use2|-4849598794733123366[0] // Public signature debug description: use2(kotlin.Function1){} fun use2(fn: Function1): Unit