// 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: // Mangled name: B // Public signature: /B|null[0] class B : Java2 { // CHECK: // Mangled name: B#(){} // Public signature: /B.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ } // CHECK: // Mangled name: C // Public signature: /C|null[0] class C : Java3 { // CHECK: // Mangled name: C#(){} // Public signature: /C.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ } // CHECK: // Mangled name: D // Public signature: /D|null[0] class D : Java1, Java4 { // CHECK: // Mangled name: D#(){} // Public signature: /D.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ } // CHECK: // Mangled name: E // Public signature: /E|null[0] abstract class E : Java1, KotlinInterface { // CHECK: // Mangled name: E#(){} // Public signature: /E.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: E{}a // Public signature: /E.a|-1200697420457237799[0] // Public signature debug description: {}a abstract /* fake */ override val a: Int // CHECK JVM_IR: // Mangled name: E#(){}kotlin.Int // Public signature: /E.a.|4232747788241509192[0] // Public signature debug description: (){}kotlin.Int abstract /* fake */ override get(): Int // CHECK: // Mangled name: E{}b // Public signature: /E.b|772347207915745207[0] // Public signature debug description: {}b abstract /* fake */ override val b: Int // CHECK JVM_IR: // Mangled name: E#(){}kotlin.Int // Public signature: /E.b.|-2902143276921469679[0] // Public signature debug description: (){}kotlin.Int abstract /* fake */ override get(): Int // CHECK: // Mangled name: E{}c // Public signature: /E.c|-4416962153448040627[0] // Public signature debug description: {}c abstract /* fake */ override val c: Int // CHECK JVM_IR: // Mangled name: E#(){}kotlin.Int // Public signature: /E.c.|-2440337234483931882[0] // Public signature debug description: (){}kotlin.Int abstract /* fake */ override get(): Int // CHECK: // Mangled name: E{}d // Public signature: /E.d|5174763769109925331[0] // Public signature debug description: {}d abstract /* fake */ override val d: Int // CHECK JVM_IR: // Mangled name: E#(){}kotlin.Int // Public signature: /E.d.|-3703416348690628760[0] // Public signature debug description: (){}kotlin.Int abstract /* fake */ override get(): Int } // CHECK: // Mangled name: F // Public signature: /F|null[0] class F : Java1, KotlinInterface { // CHECK: // Mangled name: F{}a // Public signature: /F.a|-1200697420457237799[0] // Public signature debug description: {}a override val a: Int // CHECK JVM_IR: // Mangled name: F#(){}kotlin.Int // Public signature: /F.a.|4232747788241509192[0] // Public signature debug description: (){}kotlin.Int override get // CHECK: // Mangled name: F{}b // Public signature: /F.b|772347207915745207[0] // Public signature debug description: {}b override val b: Int // CHECK JVM_IR: // Mangled name: F#(){}kotlin.Int // Public signature: /F.b.|-2902143276921469679[0] // Public signature debug description: (){}kotlin.Int override get // CHECK: // Mangled name: F{}c // Public signature: /F.c|-4416962153448040627[0] // Public signature debug description: {}c override val c: Int // CHECK JVM_IR: // Mangled name: F#(){}kotlin.Int // Public signature: /F.c.|-2440337234483931882[0] // Public signature debug description: (){}kotlin.Int override get // CHECK: // Mangled name: F{}d // Public signature: /F.d|5174763769109925331[0] // Public signature debug description: {}d override val d: Int // CHECK JVM_IR: // Mangled name: F#(){}kotlin.Int // Public signature: /F.d.|-3703416348690628760[0] // Public signature debug description: (){}kotlin.Int override get // CHECK: // Mangled name: F#(kotlin.Int;kotlin.Int;kotlin.Int;kotlin.Int){} // Public signature: /F.|-8848599841094497990[0] // Public signature debug description: (kotlin.Int;kotlin.Int;kotlin.Int;kotlin.Int){} constructor(a: Int, b: Int, c: Int, d: Int) /* primary */ } // CHECK: // Mangled name: KotlinClass // Public signature: /KotlinClass|null[0] open class KotlinClass : Java1 { // CHECK: // Mangled name: KotlinClass#(){} // Public signature: /KotlinClass.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ } // CHECK: // Mangled name: KotlinInterface // Public signature: /KotlinInterface|null[0] interface KotlinInterface { // CHECK: // Mangled name: KotlinInterface{}a // Public signature: /KotlinInterface.a|-1200697420457237799[0] // Public signature debug description: {}a abstract val a: Int // CHECK JVM_IR: // Mangled name: KotlinInterface#(){}kotlin.Int // Public signature: /KotlinInterface.a.|4232747788241509192[0] // Public signature debug description: (){}kotlin.Int abstract get // CHECK: // Mangled name: KotlinInterface{}b // Public signature: /KotlinInterface.b|772347207915745207[0] // Public signature debug description: {}b abstract val b: Int // CHECK JVM_IR: // Mangled name: KotlinInterface#(){}kotlin.Int // Public signature: /KotlinInterface.b.|-2902143276921469679[0] // Public signature debug description: (){}kotlin.Int abstract get // CHECK: // Mangled name: KotlinInterface{}c // Public signature: /KotlinInterface.c|-4416962153448040627[0] // Public signature debug description: {}c abstract val c: Int // CHECK JVM_IR: // Mangled name: KotlinInterface#(){}kotlin.Int // Public signature: /KotlinInterface.c.|-2440337234483931882[0] // Public signature debug description: (){}kotlin.Int abstract get // CHECK: // Mangled name: KotlinInterface{}d // Public signature: /KotlinInterface.d|5174763769109925331[0] // Public signature debug description: {}d abstract val d: Int // CHECK JVM_IR: // Mangled name: KotlinInterface#(){}kotlin.Int // Public signature: /KotlinInterface.d.|-3703416348690628760[0] // Public signature debug description: (){}kotlin.Int abstract get } // CHECK: // Mangled name: #test(A;B;C;D;E;F){} // Public signature: /test|-4390352378432875580[0] // Public signature debug description: test(A;B;C;D;E;F){} fun test(a: A, b: B, c: C, d: D, e: E, f: F): Unit