// CHECK: // Mangled name: A // Public signature: /A|null[0] class A : Java1 { // CHECK: // Mangled name: A#(){} // Public signature: /A.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK JVM_IR: // Mangled name: A#bar(){}kotlin.collections.MutableList? // Public signature: /A.bar|-1979132587545372662[0] // Public signature debug description: bar(){}kotlin.collections.MutableList? /* fake */ override fun bar(): MutableList? // CHECK JVM_IR: // Mangled name: A#bar2(){}kotlin.collections.MutableList? // Public signature: /A.bar2|-522329858505142422[0] // Public signature debug description: bar2(){}kotlin.collections.MutableList? /* fake */ override fun bar2(): MutableList? // CHECK JVM_IR: // Mangled name: A#bar3(){}kotlin.collections.MutableList<*>? // Public signature: /A.bar3|-2809894317317056685[0] // Public signature debug description: bar3(){}kotlin.collections.MutableList<*>? /* fake */ override fun bar3(): MutableList<*>? // CHECK: // Mangled name: A#foo(kotlin.collections.MutableList?){} // Public signature: /A.foo|8895686115223778012[0] // Public signature debug description: foo(kotlin.collections.MutableList?){} /* fake */ override fun foo(a: MutableList?): Unit // CHECK: // Mangled name: A#foo2(kotlin.collections.MutableList?){} // Public signature: /A.foo2|-3601545727248628174[0] // Public signature debug description: foo2(kotlin.collections.MutableList?){} /* fake */ override fun foo2(a: MutableList?): Unit // CHECK: // Mangled name: A#foo3(kotlin.collections.MutableList<*>?){} // Public signature: /A.foo3|4448794496598723802[0] // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} /* fake */ override fun foo3(a: MutableList<*>?): Unit } // CHECK: // Mangled name: B // Public signature: /B|null[0] class B : Java1 { // CHECK: // Mangled name: B#(){} // Public signature: /B.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK JVM_IR: // Mangled name: B#bar(){}kotlin.collections.MutableList // Public signature: /B.bar|-6846894645280055353[0] // Public signature debug description: bar(){}kotlin.collections.MutableList override fun bar(): MutableList // CHECK JVM_IR: // Mangled name: B#bar2(){}kotlin.collections.MutableList // Public signature: /B.bar2|-1184869326883952177[0] // Public signature debug description: bar2(){}kotlin.collections.MutableList override fun bar2(): MutableList // CHECK JVM_IR: // Mangled name: B#bar3(){}kotlin.collections.MutableList<*> // Public signature: /B.bar3|6150215183582372563[0] // Public signature debug description: bar3(){}kotlin.collections.MutableList<*> override fun bar3(): MutableList<*> // CHECK: // Mangled name: B#foo(kotlin.collections.MutableList?){} // Public signature: /B.foo|-2620750387552673463[0] // Public signature debug description: foo(kotlin.collections.MutableList?){} override fun foo(a: MutableList?): Unit // CHECK: // Mangled name: B#foo2(kotlin.collections.MutableList?){} // Public signature: /B.foo2|9211158728843324018[0] // Public signature debug description: foo2(kotlin.collections.MutableList?){} override fun foo2(a: MutableList?): Unit // CHECK: // Mangled name: B#foo3(kotlin.collections.MutableList<*>?){} // Public signature: /B.foo3|4448794496598723802[0] // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} override fun foo3(a: MutableList<*>?): Unit } // CHECK: // Mangled name: #test(A;B){} // Public signature: /test|-2533013708701322011[0] // Public signature debug description: test(A;B){} fun test(a: A, b: B): Unit