// MODULE: separate // FILE: KotlinInternalSeparate.kt // CHECK: // Mangled name: KotlinInternalSeparate // Public signature: /KotlinInternalSeparate|null[0] open class KotlinInternalSeparate { // CHECK: // Mangled name: KotlinInternalSeparate#(){} // Public signature: /KotlinInternalSeparate.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: KotlinInternalSeparate#foo(){} // Public signature: /KotlinInternalSeparate.foo|-1041209573719867811[0] // Public signature debug description: foo(){} @PublishedApi internal open fun foo(): Unit // CHECK: // Mangled name: KotlinInternalSeparate{}a // Public signature: /KotlinInternalSeparate.a|-1200697420457237799[0] // Public signature debug description: {}a @PublishedApi internal open val a: Int // CHECK JVM_IR: // Mangled name: KotlinInternalSeparate#(){}kotlin.Int // Public signature: /KotlinInternalSeparate.a.|4232747788241509192[0] // Public signature debug description: (){}kotlin.Int internal open get(): Int } // MODULE: main // FILE: test.kt // CHECK: // Mangled name: A // Public signature: /A|null[0] class A : InternalVisibility, JavaDefault { // CHECK: // Mangled name: A#(){} // Public signature: /A.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: A#foo(){} // Public signature: /A.foo|-1041209573719867811[0] // Public signature debug description: foo(){} override fun foo(): Unit // CHECK: // Mangled name: A{}a // Public signature: /A.a|-1200697420457237799[0] // Public signature debug description: {}a internal override val a: Int // CHECK JVM_IR: // Mangled name: A#(){}kotlin.Int // Public signature: /A.a.|4232747788241509192[0] // Public signature debug description: (){}kotlin.Int internal override get(): Int } // CHECK: // Mangled name: B // Public signature: /B|null[0] class B : InternalVisibility, JavaPublic { // CHECK: // Mangled name: B#(){} // Public signature: /B.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: B#foo(){} // Public signature: /B.foo|-1041209573719867811[0] // Public signature debug description: foo(){} override fun foo(): Unit // CHECK: // Mangled name: B{}a // Public signature: /B.a|-1200697420457237799[0] // Public signature debug description: {}a internal override val a: Int // CHECK JVM_IR: // Mangled name: B#(){}kotlin.Int // Public signature: /B.a.|4232747788241509192[0] // Public signature debug description: (){}kotlin.Int internal override get(): Int } // CHECK: // Mangled name: C // Public signature: /C|null[0] abstract class C : KotlinInternalSeparate, JavaDefault { // 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(){} abstract /* fake */ override fun foo(): Unit } // CHECK: // Mangled name: D // Public signature: /D|null[0] class D : KotlinInternalSeparate, JavaDefault { // CHECK: // Mangled name: D#(){} // Public signature: /D.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: D#foo(){} // Public signature: /D.foo|-1041209573719867811[0] // Public signature debug description: foo(){} override fun foo(): Unit } // CHECK: // Mangled name: E // Public signature: /E|null[0] abstract class E : KotlinInternalSeparate, JavaPublic { // CHECK: // Mangled name: E#(){} // Public signature: /E.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: E#foo(){} // Public signature: /E.foo|-1041209573719867811[0] // Public signature debug description: foo(){} abstract /* fake */ override fun foo(): Unit } // CHECK: // Mangled name: F // Public signature: /F|null[0] class F : KotlinInternalSeparate, JavaPublic { // CHECK: // Mangled name: F#(){} // Public signature: /F.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: F#foo(){} // Public signature: /F.foo|-1041209573719867811[0] // Public signature debug description: foo(){} override fun foo(): Unit } // CHECK: // Mangled name: InternalVisibility // Public signature: /InternalVisibility|null[0] open class InternalVisibility { // CHECK: // Mangled name: InternalVisibility{}a // Public signature: /InternalVisibility.a|-1200697420457237799[0] // Public signature debug description: {}a @PublishedApi internal open val a: Int // CHECK JVM_IR: // Mangled name: InternalVisibility#(){}kotlin.Int // Public signature: /InternalVisibility.a.|4232747788241509192[0] // Public signature debug description: (){}kotlin.Int internal open get // CHECK: // Mangled name: InternalVisibility#(){} // Public signature: /InternalVisibility.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: InternalVisibility#foo(){} // Public signature: /InternalVisibility.foo|-1041209573719867811[0] // Public signature debug description: foo(){} @PublishedApi internal open fun foo(): Unit } // CHECK: // Mangled name: #test(A;B;C;D;E;F){} // Public signature: /test|-4390352378432875580[0] // Public signature debug description: test(A;B;C;D;E;F){} fun test(a: A, b: B, c: C, d: D, e: E, f: F): Unit