// MODULE: m1 // FILE: genericClassInDifferentModule_m1.kt // CHECK: // Mangled name: Base // Public signature: /Base|null[0] abstract class Base { // CHECK: // Mangled name: Base{}x // Public signature: /Base.x|-8060530855978347579[0] // Public signature debug description: {}x val x: T // CHECK JVM_IR: // Mangled name: Base#(){}1:0 // Public signature: /Base.x.|-8893883356128097563[0] // Public signature debug description: (){}1:0 // CHECK JS_IR NATIVE: // Mangled name: Base#(){} // Public signature: /Base.x.|1482705010654679335[0] // Public signature debug description: (){} get // CHECK: // Mangled name: Base#(1:0){} // Public signature: /Base.|-8731461708390519279[0] // Public signature debug description: (1:0){} constructor(x: T) /* primary */ // CHECK JVM_IR: // Mangled name: Base#foo(0:0){0§}1:0 // Public signature: /Base.foo|8673945311830780726[0] // Public signature debug description: foo(0:0){0§}1:0 // CHECK JS_IR NATIVE: // Mangled name: Base#foo(0:0){0§} // Public signature: /Base.foo|-6838606926256314363[0] // Public signature debug description: foo(0:0){0§} abstract fun foo(y: Y): T // CHECK: // Mangled name: Base{}bar // Public signature: /Base.bar|-7864284097863469857[0] // Public signature debug description: {}bar abstract var bar: T // CHECK JVM_IR: // Mangled name: Base#(){}1:0 // Public signature: /Base.bar.|7899956589744407340[0] // Public signature debug description: (){}1:0 // CHECK JS_IR NATIVE: // Mangled name: Base#(){} // Public signature: /Base.bar.|6880642144337645699[0] // Public signature debug description: (){} abstract get // CHECK: // Mangled name: Base#(1:0){} // Public signature: /Base.bar.|3083825024913650500[0] // Public signature debug description: (1:0){} abstract set // CHECK: // Mangled name: Base@0:0{0§}exn // Public signature: /Base.exn|2371047114698435273[0] // Public signature debug description: @0:0{0§}exn abstract var Z.exn: T // CHECK JVM_IR: // Mangled name: Base#@0:0(){0§}1:0 // Public signature: /Base.exn.|6217753676739394662[0] // Public signature debug description: @0:0(){0§}1:0 // CHECK JS_IR NATIVE: // Mangled name: Base#@0:0(){0§} // Public signature: /Base.exn.|-202876889853335253[0] // Public signature debug description: @0:0(){0§} abstract get // CHECK: // Mangled name: Base#@0:0(1:0){0§} // Public signature: /Base.exn.|5747714515092438414[0] // Public signature debug description: @0:0(1:0){0§} abstract set } // MODULE: m2 // FILE: genericClassInDifferentModule_m2.kt // CHECK: // Mangled name: Derived1 // Public signature: /Derived1|null[0] class Derived1 : Base { // CHECK: // Mangled name: Derived1{}bar // Public signature: /Derived1.bar|-7864284097863469857[0] // Public signature debug description: {}bar override var bar: T // CHECK JVM_IR: // Mangled name: Derived1#(){}1:0 // Public signature: /Derived1.bar.|7899956589744407340[0] // Public signature debug description: (){}1:0 // CHECK JS_IR NATIVE: // Mangled name: Derived1#(){} // Public signature: /Derived1.bar.|6880642144337645699[0] // Public signature debug description: (){} override get // CHECK: // Mangled name: Derived1#(1:0){} // Public signature: /Derived1.bar.|3083825024913650500[0] // Public signature debug description: (1:0){} override set // CHECK: // Mangled name: Derived1#(1:0){} // Public signature: /Derived1.|-8731461708390519279[0] // Public signature debug description: (1:0){} constructor(x: T) /* primary */ // CHECK JVM_IR: // Mangled name: Derived1#foo(0:0){0§}1:0 // Public signature: /Derived1.foo|8673945311830780726[0] // Public signature debug description: foo(0:0){0§}1:0 // CHECK JS_IR NATIVE: // Mangled name: Derived1#foo(0:0){0§} // Public signature: /Derived1.foo|-6838606926256314363[0] // Public signature debug description: foo(0:0){0§} override fun foo(y: Y): T // CHECK: // Mangled name: Derived1{}x // Public signature: /Derived1.x|-8060530855978347579[0] // Public signature debug description: {}x /* fake */ override val x: T // CHECK JVM_IR: // Mangled name: Derived1#(){}1:0 // Public signature: /Derived1.x.|-8893883356128097563[0] // Public signature debug description: (){}1:0 // CHECK JS_IR NATIVE: // Mangled name: Derived1#(){} // Public signature: /Derived1.x.|1482705010654679335[0] // Public signature debug description: (){} /* fake */ override get(): T // CHECK: // Mangled name: Derived1@0:0{0§}exn // Public signature: /Derived1.exn|2371047114698435273[0] // Public signature debug description: @0:0{0§}exn override var Z.exn: T // CHECK JVM_IR: // Mangled name: Derived1#@0:0(){0§}1:0 // Public signature: /Derived1.exn.|6217753676739394662[0] // Public signature debug description: @0:0(){0§}1:0 // CHECK JS_IR NATIVE: // Mangled name: Derived1#@0:0(){0§} // Public signature: /Derived1.exn.|-202876889853335253[0] // Public signature debug description: @0:0(){0§} override get(): T // CHECK: // Mangled name: Derived1#@0:0(1:0){0§} // Public signature: /Derived1.exn.|5747714515092438414[0] // Public signature debug description: @0:0(1:0){0§} override set(value: T): Unit }