// MODULE: separate // MODULE: main // FILE: test.kt // CHECK: // Mangled name: A // Public signature: /A|null[0] abstract class A : JavaDefaultSeparateModule, KotlinDefault { // 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 override val a: Int // CHECK JVM_IR: // Mangled name: A#(){}kotlin.Int // Public signature: /A.a.|4232747788241509192[0] // Public signature debug description: (){}kotlin.Int override get(): Int } // CHECK: // Mangled name: B // Public signature: /B|null[0] abstract class B : JavaDefaultSeparateModule, KotlinPrivate { // 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(){} abstract /* fake */ override fun foo(): Unit } // CHECK: // Mangled name: C // Public signature: /C|null[0] class C : JavaDefaultSeparateModule, KotlinPrivate { // CHECK: // Mangled name: C{}a // Public signature: /C.a|-1200697420457237799[0] // Public signature debug description: {}a val a: Int // CHECK JVM_IR: // Mangled name: C#(){}kotlin.Int // Public signature: /C.a.|4232747788241509192[0] // Public signature debug description: (){}kotlin.Int get // 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: D // Public signature: /D|null[0] class D : KotlinProtected, JavaDefaultSeparateModule { // 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: D{}a // Public signature: /D.a|-1200697420457237799[0] // Public signature debug description: {}a protected override val a: Int // CHECK JVM_IR: // Mangled name: D#(){}kotlin.Int // Public signature: /D.a.|4232747788241509192[0] // Public signature debug description: (){}kotlin.Int protected override get(): Int } // CHECK: // Mangled name: E // Public signature: /E|null[0] class E : JavaDefaultSeparateModule, KotlinPublic { // 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(){} override fun foo(): Unit // CHECK: // Mangled name: E{}a // Public signature: /E.a|-1200697420457237799[0] // Public signature debug description: {}a override val a: Int // CHECK JVM_IR: // Mangled name: E#(){}kotlin.Int // Public signature: /E.a.|4232747788241509192[0] // Public signature debug description: (){}kotlin.Int override get(): Int } // CHECK: // Mangled name: F // Public signature: /F|null[0] class F : KotlinInternal, JavaDefaultSeparateModule { // 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: F{}a // Public signature: /F.a|-1200697420457237799[0] // Public signature debug description: {}a override val a: Int // CHECK JVM_IR: // Mangled name: F#(){}kotlin.Int // Public signature: /F.a.|4232747788241509192[0] // Public signature debug description: (){}kotlin.Int override get(): Int } // CHECK: // Mangled name: G // Public signature: /G|null[0] class G : JavaProtectedSeparateModule, KotlinDefault { // CHECK: // Mangled name: G#(){} // Public signature: /G.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: G#foo(){} // Public signature: /G.foo|-1041209573719867811[0] // Public signature debug description: foo(){} override fun foo(): Unit // CHECK: // Mangled name: G{}a // Public signature: /G.a|-1200697420457237799[0] // Public signature debug description: {}a override val a: Int // CHECK JVM_IR: // Mangled name: G#(){}kotlin.Int // Public signature: /G.a.|4232747788241509192[0] // Public signature debug description: (){}kotlin.Int override get(): Int } // CHECK: // Mangled name: H // Public signature: /H|null[0] class H : JavaProtectedSeparateModule, KotlinPrivate { // CHECK: // Mangled name: H#(){} // Public signature: /H.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: H#foo(){} // Public signature: /H.foo|-1041209573719867811[0] // Public signature debug description: foo(){} protected_and_package /* fake */ override fun foo(): Unit } // CHECK: // Mangled name: I // Public signature: /I|null[0] class I : JavaProtectedSeparateModule, KotlinPrivate { // CHECK: // Mangled name: I{}a // Public signature: /I.a|-1200697420457237799[0] // Public signature debug description: {}a val a: Int // CHECK JVM_IR: // Mangled name: I#(){}kotlin.Int // Public signature: /I.a.|4232747788241509192[0] // Public signature debug description: (){}kotlin.Int get // CHECK: // Mangled name: I#(){} // Public signature: /I.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: I#foo(){} // Public signature: /I.foo|-1041209573719867811[0] // Public signature debug description: foo(){} override fun foo(): Unit } // CHECK: // Mangled name: J // Public signature: /J|null[0] class J : JavaProtectedSeparateModule, KotlinPublic { // CHECK: // Mangled name: J#(){} // Public signature: /J.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: J#foo(){} // Public signature: /J.foo|-1041209573719867811[0] // Public signature debug description: foo(){} override fun foo(): Unit // CHECK: // Mangled name: J{}a // Public signature: /J.a|-1200697420457237799[0] // Public signature debug description: {}a override val a: Int // CHECK JVM_IR: // Mangled name: J#(){}kotlin.Int // Public signature: /J.a.|4232747788241509192[0] // Public signature debug description: (){}kotlin.Int override get(): Int } // CHECK: // Mangled name: K // Public signature: /K|null[0] abstract class K : JavaDefaultSeparateModule, JavaPublic { // CHECK: // Mangled name: K#(){} // Public signature: /K.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: K#foo(){} // Public signature: /K.foo|-1041209573719867811[0] // Public signature debug description: foo(){} abstract /* fake */ override fun foo(): Unit } // CHECK: // Mangled name: KotlinInternal // Public signature: /KotlinInternal|null[0] open class KotlinInternal { // CHECK: // Mangled name: KotlinInternal#(){} // Public signature: /KotlinInternal.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: KotlinInternal#foo(){} // Public signature: /KotlinInternal.foo|-1041209573719867811[0] // Public signature debug description: foo(){} internal open fun foo(): Unit // CHECK: // Mangled name: KotlinInternal{}a // Public signature: /KotlinInternal.a|-1200697420457237799[0] // Public signature debug description: {}a internal open val a: Int // CHECK JVM_IR: // Mangled name: KotlinInternal#(){}kotlin.Int // Public signature: /KotlinInternal.a.|4232747788241509192[0] // Public signature debug description: (){}kotlin.Int internal open get(): Int } // CHECK: // Mangled name: KotlinProtected // Public signature: /KotlinProtected|null[0] open class KotlinProtected { // CHECK: // Mangled name: KotlinProtected{}a // Public signature: /KotlinProtected.a|-1200697420457237799[0] // Public signature debug description: {}a protected open val a: Int // CHECK JVM_IR: // Mangled name: KotlinProtected#(){}kotlin.Int // Public signature: /KotlinProtected.a.|4232747788241509192[0] // Public signature debug description: (){}kotlin.Int protected open get // CHECK: // Mangled name: KotlinProtected#(){} // Public signature: /KotlinProtected.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: KotlinProtected#foo(){} // Public signature: /KotlinProtected.foo|-1041209573719867811[0] // Public signature debug description: foo(){} protected open fun foo(): Unit } // CHECK: // Mangled name: L // Public signature: /L|null[0] class L : JavaDefaultSeparateModule, JavaPublic { // CHECK: // Mangled name: L{}a // Public signature: /L.a|-1200697420457237799[0] // Public signature debug description: {}a val a: Int // CHECK JVM_IR: // Mangled name: L#(){}kotlin.Int // Public signature: /L.a.|4232747788241509192[0] // Public signature debug description: (){}kotlin.Int get // CHECK: // Mangled name: L#(){} // Public signature: /L.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: L#foo(){} // Public signature: /L.foo|-1041209573719867811[0] // Public signature debug description: foo(){} override fun foo(): Unit } // CHECK: // Mangled name: M // Public signature: /M|null[0] class M : JavaProtectedSeparateModule, JavaPublic { // CHECK: // Mangled name: M{}a // Public signature: /M.a|-1200697420457237799[0] // Public signature debug description: {}a val a: Int // CHECK JVM_IR: // Mangled name: M#(){}kotlin.Int // Public signature: /M.a.|4232747788241509192[0] // Public signature debug description: (){}kotlin.Int get // CHECK: // Mangled name: M#(){} // Public signature: /M.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: M#foo(){} // Public signature: /M.foo|-1041209573719867811[0] // Public signature debug description: foo(){} override fun foo(): Unit } // CHECK: // Mangled name: N // Public signature: /N|null[0] class N : JavaProtectedSeparateModule, JavaDefault { // CHECK: // Mangled name: N{}a // Public signature: /N.a|-1200697420457237799[0] // Public signature debug description: {}a val a: Int // CHECK JVM_IR: // Mangled name: N#(){}kotlin.Int // Public signature: /N.a.|4232747788241509192[0] // Public signature debug description: (){}kotlin.Int get // CHECK: // Mangled name: N#(){} // Public signature: /N.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: N#foo(){} // Public signature: /N.foo|-1041209573719867811[0] // Public signature debug description: foo(){} override fun foo(): Unit } // CHECK: // Mangled name: O // Public signature: /O|null[0] abstract class O : JavaPrivate, JavaDefaultSeparateModule { // CHECK: // Mangled name: O#(){} // Public signature: /O.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: O#foo(){} // Public signature: /O.foo|-1041209573719867811[0] // Public signature debug description: foo(){} abstract /* fake */ override fun foo(): Unit } // CHECK: // Mangled name: P // Public signature: /P|null[0] class P : JavaPrivate, JavaDefaultSeparateModule { // CHECK: // Mangled name: P{}a // Public signature: /P.a|-1200697420457237799[0] // Public signature debug description: {}a val a: Int // CHECK JVM_IR: // Mangled name: P#(){}kotlin.Int // Public signature: /P.a.|4232747788241509192[0] // Public signature debug description: (){}kotlin.Int get // CHECK: // Mangled name: P#(){} // Public signature: /P.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: P#foo(){} // Public signature: /P.foo|-1041209573719867811[0] // Public signature debug description: foo(){} override fun foo(): Unit } // CHECK: // Mangled name: R // Public signature: /R|null[0] class R : JavaProtected, JavaDefaultSeparateModule { // CHECK: // Mangled name: R{}a // Public signature: /R.a|-1200697420457237799[0] // Public signature debug description: {}a val a: Int // CHECK JVM_IR: // Mangled name: R#(){}kotlin.Int // Public signature: /R.a.|4232747788241509192[0] // Public signature debug description: (){}kotlin.Int get // CHECK: // Mangled name: R#(){} // Public signature: /R.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: R#foo(){} // Public signature: /R.foo|-1041209573719867811[0] // Public signature debug description: foo(){} override fun foo(): Unit } // CHECK: // Mangled name: KotlinDefault // Public signature: /KotlinDefault|null[0] interface KotlinDefault { // CHECK: // Mangled name: KotlinDefault#foo(){} // Public signature: /KotlinDefault.foo|-1041209573719867811[0] // Public signature debug description: foo(){} fun foo(): Unit // CHECK: // Mangled name: KotlinDefault{}a // Public signature: /KotlinDefault.a|-1200697420457237799[0] // Public signature debug description: {}a val a: Int // CHECK JVM_IR: // Mangled name: KotlinDefault#(){}kotlin.Int // Public signature: /KotlinDefault.a.|4232747788241509192[0] // Public signature debug description: (){}kotlin.Int get(): Int } // CHECK: // Mangled name: KotlinPrivate // Public signature: /KotlinPrivate|null[0] interface KotlinPrivate { // CHECK: // Mangled name: KotlinPrivate#foo(){} // Public signature: /KotlinPrivate.foo|-1041209573719867811[0] // Public signature debug description: foo(){} private final fun foo(): Unit // CHECK: // Mangled name: KotlinPrivate{}a // Public signature: /KotlinPrivate.a|-1200697420457237799[0] // Public signature debug description: {}a private final val a: Int // CHECK JVM_IR: // Mangled name: KotlinPrivate#(){}kotlin.Int // Public signature: /KotlinPrivate.a.|4232747788241509192[0] // Public signature debug description: (){}kotlin.Int private final get(): Int } // CHECK: // Mangled name: KotlinPublic // Public signature: /KotlinPublic|null[0] interface KotlinPublic { // CHECK: // Mangled name: KotlinPublic#foo(){} // Public signature: /KotlinPublic.foo|-1041209573719867811[0] // Public signature debug description: foo(){} fun foo(): Unit // CHECK: // Mangled name: KotlinPublic{}a // Public signature: /KotlinPublic.a|-1200697420457237799[0] // Public signature debug description: {}a val a: Int // CHECK JVM_IR: // Mangled name: KotlinPublic#(){}kotlin.Int // Public signature: /KotlinPublic.a.|4232747788241509192[0] // Public signature debug description: (){}kotlin.Int get(): Int } // CHECK: // Mangled name: #test(A;B;C;D;E;F;G;I;J;K;L;M;N;O;P;R){} // Public signature: /test|-7254927762294999826[0] // Public signature debug description: test(A;B;C;D;E;F;G;I;J;K;L;M;N;O;P;R){} fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, r: R): Unit