// CHECK: // Mangled name: C // Public signature: /C|null[0] class C : IFooBar { // CHECK: // Mangled name: C#(){} // Public signature: /C.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: C#foo(){} // Public signature: /C.foo|-1041209573719867811[0] // Public signature debug description: foo(){} override fun foo(): Unit // CHECK: // Mangled name: C#bar(){} // Public signature: /C.bar|496682602797471549[0] // Public signature debug description: bar(){} override fun bar(): Unit } // CHECK: // Mangled name: IFooBar // Public signature: /IFooBar|null[0] interface IFooBar { // CHECK: // Mangled name: IFooBar#bar(){} // Public signature: /IFooBar.bar|496682602797471549[0] // Public signature debug description: bar(){} abstract fun bar(): Unit // CHECK: // Mangled name: IFooBar#foo(){} // Public signature: /IFooBar.foo|-1041209573719867811[0] // Public signature debug description: foo(){} abstract fun foo(): Unit } // CHECK: // Mangled name: FooBarImpl // Public signature: /FooBarImpl|null[0] object FooBarImpl : IFooBar { // CHECK: // Mangled name: FooBarImpl#(){} // Public signature: /FooBarImpl.|-5645683436151566731[0] // Public signature debug description: (){} private constructor() /* primary */ // CHECK: // Mangled name: FooBarImpl#bar(){} // Public signature: /FooBarImpl.bar|496682602797471549[0] // Public signature debug description: bar(){} override fun bar(): Unit // CHECK: // Mangled name: FooBarImpl#foo(){} // Public signature: /FooBarImpl.foo|-1041209573719867811[0] // Public signature debug description: foo(){} override fun foo(): Unit }