// CHECK: // Mangled name: Outer // Public signature: /Outer|null[0] class Outer { // CHECK: // Mangled name: Outer.Inner // Public signature: /Outer.Inner|null[0] inner class Inner { // CHECK: // Mangled name: Outer.Inner.Inner2 // Public signature: /Outer.Inner.Inner2|null[0] inner class Inner2 { // CHECK: // Mangled name: Outer.Inner.Inner2#(){} // Public signature: /Outer.Inner.Inner2.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: Outer.Inner.Inner2#test2(){} // Public signature: /Outer.Inner.Inner2.test2|4279114864133353152[0] // Public signature debug description: test2(){} fun test2(): Unit // CHECK: // Mangled name: Outer.Inner.Inner2#test3@Outer(){} // Public signature: /Outer.Inner.Inner2.test3|-491537560312526926[0] // Public signature debug description: test3@Outer(){} fun Outer.test3(): Unit } // CHECK: // Mangled name: Outer.Inner#(){} // Public signature: /Outer.Inner.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: Outer.Inner#test(){} // Public signature: /Outer.Inner.test|6620506149988718649[0] // Public signature debug description: test(){} fun test(): Unit } // CHECK: // Mangled name: Outer#(){} // Public signature: /Outer.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: Outer#foo(){} // Public signature: /Outer.foo|-1041209573719867811[0] // Public signature debug description: foo(){} fun foo(): Unit }