package test // CHECK: // Mangled name: test.Foo // Public signature: test/Foo|null[0] class Foo { // CHECK: // Mangled name: test.Foo.Inner // Public signature: test/Foo.Inner|null[0] inner class Inner

{ // CHECK: // Mangled name: test.Foo.Inner{}a // Public signature: test/Foo.Inner.a|-1200697420457237799[0] // Public signature debug description: {}a val a: T // CHECK JVM_IR: // Mangled name: test.Foo.Inner#(){}2:0 // Public signature: test/Foo.Inner.a.|6634660852321063487[0] // Public signature debug description: (){}2:0 // CHECK JS_IR NATIVE: // Mangled name: test.Foo.Inner#(){} // Public signature: test/Foo.Inner.a.|6785176174175479410[0] // Public signature debug description: (){} get // CHECK: // Mangled name: test.Foo.Inner{}b // Public signature: test/Foo.Inner.b|772347207915745207[0] // Public signature debug description: {}b val b: P // CHECK JVM_IR: // Mangled name: test.Foo.Inner#(){}1:0 // Public signature: test/Foo.Inner.b.|-8930371436958509614[0] // Public signature debug description: (){}1:0 // CHECK JS_IR NATIVE: // Mangled name: test.Foo.Inner#(){} // Public signature: test/Foo.Inner.b.|812004636995167743[0] // Public signature debug description: (){} get // CHECK: // Mangled name: test.Foo.Inner#(2:0;1:0){} // Public signature: test/Foo.Inner.|-2512702059187080850[0] // Public signature debug description: (2:0;1:0){} constructor(a: T, b: P) /* primary */ } // CHECK: // Mangled name: test.Foo#(){} // Public signature: test/Foo.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ } // CHECK JVM_IR: // Mangled name: test#box(){}kotlin.String // Public signature: test/box|-9347091776561469[0] // Public signature debug description: box(){}kotlin.String // CHECK JS_IR NATIVE: // Mangled name: test#box(){} // Public signature: test/box|2173511048851971368[0] // Public signature debug description: box(){} fun box(): String // CHECK JVM_IR: // Mangled name: test#foo(0:0;0:1;kotlin.Function2<0:0,0:1,test.Foo.Inner<0:1,0:0>>){0§;1§}test.Foo.Inner<0:1,0:0> // Public signature: test/foo|-4791591590952018519[0] // Public signature debug description: foo(0:0;0:1;kotlin.Function2<0:0,0:1,test.Foo.Inner<0:1,0:0>>){0§;1§}test.Foo.Inner<0:1,0:0> // CHECK JS_IR NATIVE: // Mangled name: test#foo(0:0;0:1;kotlin.Function2<0:0,0:1,test.Foo.Inner<0:1,0:0>>){0§;1§} // Public signature: test/foo|-2625863985883503743[0] // Public signature debug description: foo(0:0;0:1;kotlin.Function2<0:0,0:1,test.Foo.Inner<0:1,0:0>>){0§;1§} inline fun foo(a: A, b: B, x: Function2>): Inner