package foo // CHECK: // Mangled name: foo.A // Public signature: foo/A|null[0] open external class A { // CHECK: // Mangled name: foo.A#(){} // Public signature: foo/A.|-5645683436151566731[0] // Public signature debug description: (){} external constructor() /* primary */ // CHECK JS_IR NATIVE: // Mangled name: foo.A#foo(){} // Public signature: foo/A.foo|-1041209573719867811[0] // Public signature debug description: foo(){} external fun foo(): String } // CHECK: // Mangled name: foo.B // Public signature: foo/B|null[0] open external class B : A { // CHECK: // Mangled name: foo.B#(){} // Public signature: foo/B.|-5645683436151566731[0] // Public signature debug description: (){} external constructor() /* primary */ // CHECK JS_IR NATIVE: // Mangled name: foo.B#foo(){} // Public signature: foo/B.foo|-1041209573719867811[0] // Public signature debug description: foo(){} external /* fake */ override fun foo(): String // CHECK JS_IR NATIVE: // Mangled name: foo.B#bar(){} // Public signature: foo/B.bar|496682602797471549[0] // Public signature debug description: bar(){} external fun bar(): String } // CHECK: // Mangled name: foo.C // Public signature: foo/C|null[0] class C : B { // CHECK: // Mangled name: foo.C#(){} // Public signature: foo/C.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK JS_IR NATIVE: // Mangled name: foo.C#bar(){} // Public signature: foo/C.bar|496682602797471549[0] // Public signature debug description: bar(){} /* fake */ override fun bar(): String // CHECK JS_IR NATIVE: // Mangled name: foo.C#foo(){} // Public signature: foo/C.foo|-1041209573719867811[0] // Public signature debug description: foo(){} /* fake */ override fun foo(): String } // CHECK JS_IR NATIVE: // Mangled name: foo#box(){} // Public signature: foo/box|2173511048851971368[0] // Public signature debug description: box(){} fun box(): String