// CHECK: // Mangled name: Outer // Public signature: /Outer|null[0] class Outer { // CHECK: // Mangled name: Outer{}x // Public signature: /Outer.x|-8060530855978347579[0] // Public signature debug description: {}x val x: T // CHECK JVM_IR: // Mangled name: Outer#(){}1:0 // Public signature: /Outer.x.|-8893883356128097563[0] // Public signature debug description: (){}1:0 // CHECK JS_IR NATIVE: // Mangled name: Outer#(){} // Public signature: /Outer.x.|1482705010654679335[0] // Public signature debug description: (){} get // CHECK: // Mangled name: Outer.Inner // Public signature: /Outer.Inner|null[0] open inner class Inner { // CHECK: // Mangled name: Outer.Inner{}y // Public signature: /Outer.Inner.y|3625903257357557171[0] // Public signature debug description: {}y val y: Int // CHECK JVM_IR: // Mangled name: Outer.Inner#(){}kotlin.Int // Public signature: /Outer.Inner.y.|-6745575372101973707[0] // Public signature debug description: (){}kotlin.Int // CHECK JS_IR NATIVE: // Mangled name: Outer.Inner#(){} // Public signature: /Outer.Inner.y.|-7902422373892128922[0] // Public signature debug description: (){} get // CHECK: // Mangled name: Outer.Inner#(kotlin.Int){} // Public signature: /Outer.Inner.|-5182794243525578284[0] // Public signature debug description: (kotlin.Int){} constructor(y: Int) /* primary */ } // CHECK: // Mangled name: Outer#(1:0){} // Public signature: /Outer.|-8731461708390519279[0] // Public signature debug description: (1:0){} constructor(x: T) /* primary */ } // CHECK JVM_IR: // Mangled name: #test@Outer(){}Outer.Inner // Public signature: /test|7679810293855475963[0] // Public signature debug description: test@Outer(){}Outer.Inner // CHECK JS_IR NATIVE: // Mangled name: #test@Outer(){} // Public signature: /test|6770853626275071541[0] // Public signature debug description: test@Outer(){} fun Outer.test(): Inner