// CHECK: // Mangled name: Inv // Public signature: /Inv|null[0] class Inv { // CHECK: // Mangled name: Inv{}x // Public signature: /Inv.x|-8060530855978347579[0] // Public signature debug description: {}x val x: T // CHECK JVM_IR: // Mangled name: Inv#(){}1:0 // Public signature: /Inv.x.|-8893883356128097563[0] // Public signature debug description: (){}1:0 get // CHECK: // Mangled name: Inv#(1:0){} // Public signature: /Inv.|-8731461708390519279[0] // Public signature debug description: (1:0){} constructor(x: T) /* primary */ } // CHECK: // Mangled name: Test_1 // Public signature: /Test_1|null[0] class Test_1 : JavaClass1 { // CHECK: // Mangled name: Test_1{}x // Public signature: /Test_1.x|-8060530855978347579[0] // Public signature debug description: {}x val x: TT // CHECK JVM_IR: // Mangled name: Test_1#(){}1:0 // Public signature: /Test_1.x.|-8893883356128097563[0] // Public signature debug description: (){}1:0 get // CHECK: // Mangled name: Test_1#(1:0){} // Public signature: /Test_1.|-8731461708390519279[0] // Public signature debug description: (1:0){} constructor(x: TT) /* primary */ // CHECK: // Mangled name: Test_1#test(JavaClass1.B<1:0>){} // Public signature: /Test_1.test|-4347685660863074857[0] // Public signature debug description: test(JavaClass1.B<1:0>){} fun test(b: B): Unit } // CHECK: // Mangled name: Test_2 // Public signature: /Test_2|null[0] class Test_2 : JavaClass2> { // CHECK: // Mangled name: Test_2#(){} // Public signature: /Test_2.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: Test_2#process(JavaClass2.B<1:0,Inv<1:0>>){} // Public signature: /Test_2.process|4196267472785317094[0] // Public signature debug description: process(JavaClass2.B<1:0,Inv<1:0>>){} fun process(b: B>): Unit } // CHECK: // Mangled name: #test_3(JavaClass1.B<0:0>;0:0){0§} // Public signature: /test_3|8017402258673595148[0] // Public signature debug description: test_3(JavaClass1.B<0:0>;0:0){0§} fun test_3(jb: B, r: R): Unit