// CHECK: // Mangled name: A // Public signature: /A|null[0] open class A { // CHECK: // Mangled name: A{}b // Public signature: /A.b|772347207915745207[0] // Public signature debug description: {}b lateinit var b: Number // CHECK JVM_IR: // Mangled name: A#(){}kotlin.Number // Public signature: /A.b.|2675477957877241625[0] // Public signature debug description: (){}kotlin.Number get // CHECK: // Mangled name: A#(kotlin.Number){} // Public signature: /A.b.|-4740975933989306688[0] // Public signature debug description: (kotlin.Number){} set // CHECK: // Mangled name: A.Companion // Public signature: /A.Companion|null[0] companion object Companion { // CHECK: // Mangled name: A.Companion#(){} // Public signature: /A.Companion.|-5645683436151566731[0] // Public signature debug description: (){} private constructor() /* primary */ // CHECK: // Mangled name: A.Companion{}a // Public signature: /A.Companion.a|-1200697420457237799[0] // Public signature debug description: {}a const val a: Int // CHECK JVM_IR: // Mangled name: A.Companion#(){}kotlin.Int // Public signature: /A.Companion.a.|4232747788241509192[0] // Public signature debug description: (){}kotlin.Int get } // 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 : Java1 { // CHECK: // Mangled name: B#(){} // Public signature: /B.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: B{}b // Public signature: /B.b|772347207915745207[0] // Public signature debug description: {}b /* fake */ override lateinit var b: Number // CHECK JVM_IR: // Mangled name: B#(){}kotlin.Number // Public signature: /B.b.|2675477957877241625[0] // Public signature debug description: (){}kotlin.Number /* fake */ override get(): Number // CHECK: // Mangled name: B#(kotlin.Number){} // Public signature: /B.b.|-4740975933989306688[0] // Public signature debug description: (kotlin.Number){} /* fake */ override set(: Number): Unit } // CHECK: // Mangled name: C // Public signature: /C|null[0] class C : A, Java2 { // CHECK: // Mangled name: C#(){} // Public signature: /C.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: C{}b // Public signature: /C.b|772347207915745207[0] // Public signature debug description: {}b /* fake */ override lateinit var b: Number // CHECK JVM_IR: // Mangled name: C#(){}kotlin.Number // Public signature: /C.b.|2675477957877241625[0] // Public signature debug description: (){}kotlin.Number /* fake */ override get(): Number // CHECK: // Mangled name: C#(kotlin.Number){} // Public signature: /C.b.|-4740975933989306688[0] // Public signature debug description: (kotlin.Number){} /* fake */ override set(: Number): Unit } // CHECK: // Mangled name: D // Public signature: /D|null[0] abstract class D : A, Java3 { // CHECK: // Mangled name: D#(){} // Public signature: /D.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: D{}a // Public signature: /D.a|-1200697420457237799[0] // Public signature debug description: {}a abstract /* fake */ override var a: Int // CHECK JVM_IR: // Mangled name: D#(){}kotlin.Int // Public signature: /D.a.|4232747788241509192[0] // Public signature debug description: (){}kotlin.Int abstract /* fake */ override get(): Int // CHECK: // Mangled name: D#(kotlin.Int){} // Public signature: /D.a.|-6358787123203981221[0] // Public signature debug description: (kotlin.Int){} abstract /* fake */ override set(: Int): Unit // CHECK: // Mangled name: D{}b // Public signature: /D.b|772347207915745207[0] // Public signature debug description: {}b /* fake */ override lateinit var b: Number // CHECK JVM_IR: // Mangled name: D#(){}kotlin.Number // Public signature: /D.b.|2675477957877241625[0] // Public signature debug description: (){}kotlin.Number /* fake */ override get(): Number // CHECK: // Mangled name: D#(kotlin.Number){} // Public signature: /D.b.|-4740975933989306688[0] // Public signature debug description: (kotlin.Number){} /* fake */ override set(: Number): Unit } // 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 var 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#(kotlin.Int){} // Public signature: /KotlinInterface.a.|-6358787123203981221[0] // Public signature debug description: (kotlin.Int){} abstract set // CHECK: // Mangled name: KotlinInterface{}b // Public signature: /KotlinInterface.b|772347207915745207[0] // Public signature debug description: {}b abstract var b: Number // CHECK JVM_IR: // Mangled name: KotlinInterface#(){}kotlin.Number // Public signature: /KotlinInterface.b.|2675477957877241625[0] // Public signature debug description: (){}kotlin.Number abstract get // CHECK: // Mangled name: KotlinInterface#(kotlin.Number){} // Public signature: /KotlinInterface.b.|-4740975933989306688[0] // Public signature debug description: (kotlin.Number){} abstract set } // CHECK: // Mangled name: #test(B;C;D){} // Public signature: /test|-8823403443617116000[0] // Public signature debug description: test(B;C;D){} fun test(b: B, c: C, d: D): Unit