| // CHECK: |
| // Mangled name: C |
| // Public signature: /C|null[0] |
| abstract class C : I { |
| // CHECK: |
| // Mangled name: C#<init>(){} |
| // Public signature: /C.<init>|-5645683436151566731[0] |
| // Public signature debug description: <init>(){} |
| constructor() /* primary */ |
| |
| // CHECK: |
| // Mangled name: C#foo(){} |
| // Public signature: /C.foo|-1041209573719867811[0] |
| // Public signature debug description: foo(){} |
| abstract override fun foo(): Unit |
| |
| } |
| |
| // CHECK: |
| // Mangled name: D |
| // Public signature: /D|null[0] |
| abstract class D : C, J { |
| // CHECK: |
| // Mangled name: D#<init>(){} |
| // Public signature: /D.<init>|-5645683436151566731[0] |
| // Public signature debug description: <init>(){} |
| constructor() /* primary */ |
| |
| // CHECK: |
| // Mangled name: D#foo(){} |
| // Public signature: /D.foo|-1041209573719867811[0] |
| // Public signature debug description: foo(){} |
| abstract /* fake */ override fun foo(): Unit |
| |
| } |
| |
| // CHECK: |
| // Mangled name: E |
| // Public signature: /E|null[0] |
| class E : D { |
| // CHECK: |
| // Mangled name: E#<init>(){} |
| // Public signature: /E.<init>|-5645683436151566731[0] |
| // Public signature debug description: <init>(){} |
| constructor() /* primary */ |
| |
| // CHECK: |
| // Mangled name: E#foo(){} |
| // Public signature: /E.foo|-1041209573719867811[0] |
| // Public signature debug description: foo(){} |
| override fun foo(): Unit |
| |
| } |
| |
| // CHECK: |
| // Mangled name: I |
| // Public signature: /I|null[0] |
| interface I : II { |
| // CHECK: |
| // Mangled name: I#foo(){} |
| // Public signature: /I.foo|-1041209573719867811[0] |
| // Public signature debug description: foo(){} |
| /* fake */ override fun foo(): Unit |
| |
| } |
| |
| // CHECK: |
| // Mangled name: II |
| // Public signature: /II|null[0] |
| interface II { |
| // CHECK: |
| // Mangled name: II#foo(){} |
| // Public signature: /II.foo|-1041209573719867811[0] |
| // Public signature debug description: foo(){} |
| fun foo(): Unit |
| |
| } |
| |
| // CHECK: |
| // Mangled name: #foo(I){} |
| // Public signature: /foo|-4109751996049019888[0] |
| // Public signature debug description: foo(I){} |
| fun foo(x: I): Unit |