Files
kotlin-fork/compiler/testData/ir/irText/stubs/genericClassInDifferentModule.sig.kt.txt
T
Kirill Rakhman 86836e69e9 [FIR2IR] Unwrap call-site substitution overrides
Generating IR declarations for use-site substitution overrides leads
to IR that is different from K1 as well as problems in signature
generation which relies on mangling. Use-site substitutions can contain
references to type parameters from the call-site which aren't handled
in mangling.

#KT-57022 Fixed
2023-06-09 08:22:21 +00:00

133 lines
4.5 KiB
Kotlin
Vendored

// MODULE: m1
// FILE: genericClassInDifferentModule_m1.kt
// CHECK:
// Mangled name: Base
// Public signature: /Base|null[0]
abstract class Base<T : Any?> {
// CHECK:
// Mangled name: Base{}x
// Public signature: /Base.x|-8060530855978347579[0]
val x: T
// CHECK JVM_IR:
// Mangled name: Base#<get-x>(){}1:0
// Public signature: /Base.x.<get-x>|-8893883356128097563[0]
// CHECK JS_IR NATIVE:
// Mangled name: Base#<get-x>(){}
// Public signature: /Base.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: Base#<init>(1:0){}
// Public signature: /Base.<init>|-8731461708390519279[0]
constructor(x: T) /* primary */
// CHECK JVM_IR:
// Mangled name: Base#foo(0:0){0§<kotlin.Any?>}1:0
// Public signature: /Base.foo|8673945311830780726[0]
// CHECK JS_IR NATIVE:
// Mangled name: Base#foo(0:0){0§<kotlin.Any?>}
// Public signature: /Base.foo|-6838606926256314363[0]
abstract fun <Y : Any?> foo(y: Y): T
// CHECK:
// Mangled name: Base{}bar
// Public signature: /Base.bar|-7864284097863469857[0]
abstract var bar: T
// CHECK JVM_IR:
// Mangled name: Base#<get-bar>(){}1:0
// Public signature: /Base.bar.<get-bar>|7899956589744407340[0]
// CHECK JS_IR NATIVE:
// Mangled name: Base#<get-bar>(){}
// Public signature: /Base.bar.<get-bar>|6880642144337645699[0]
abstract get
// CHECK:
// Mangled name: Base#<set-bar>(1:0){}
// Public signature: /Base.bar.<set-bar>|3083825024913650500[0]
abstract set
// CHECK:
// Mangled name: Base@0:0{0§<kotlin.Any?>}exn
// Public signature: /Base.exn|2371047114698435273[0]
abstract var <Z : Any?> Z.exn: T
// CHECK JVM_IR:
// Mangled name: Base#<get-exn>@0:0(){0§<kotlin.Any?>}1:0
// Public signature: /Base.exn.<get-exn>|6217753676739394662[0]
// CHECK JS_IR NATIVE:
// Mangled name: Base#<get-exn>@0:0(){0§<kotlin.Any?>}
// Public signature: /Base.exn.<get-exn>|-202876889853335253[0]
abstract get
// CHECK:
// Mangled name: Base#<set-exn>@0:0(1:0){0§<kotlin.Any?>}
// Public signature: /Base.exn.<set-exn>|5747714515092438414[0]
abstract set
}
// MODULE: m2
// FILE: genericClassInDifferentModule_m2.kt
// CHECK:
// Mangled name: Derived1
// Public signature: /Derived1|null[0]
class Derived1<T : Any?> : Base<T> {
// CHECK:
// Mangled name: Derived1{}bar
// Public signature: /Derived1.bar|-7864284097863469857[0]
override var bar: T
// CHECK JVM_IR:
// Mangled name: Derived1#<get-bar>(){}1:0
// Public signature: /Derived1.bar.<get-bar>|7899956589744407340[0]
// CHECK JS_IR NATIVE:
// Mangled name: Derived1#<get-bar>(){}
// Public signature: /Derived1.bar.<get-bar>|6880642144337645699[0]
override get
// CHECK:
// Mangled name: Derived1#<set-bar>(1:0){}
// Public signature: /Derived1.bar.<set-bar>|3083825024913650500[0]
override set
// CHECK:
// Mangled name: Derived1#<init>(1:0){}
// Public signature: /Derived1.<init>|-8731461708390519279[0]
constructor(x: T) /* primary */
// CHECK JVM_IR:
// Mangled name: Derived1#foo(0:0){0§<kotlin.Any?>}1:0
// Public signature: /Derived1.foo|8673945311830780726[0]
// CHECK JS_IR NATIVE:
// Mangled name: Derived1#foo(0:0){0§<kotlin.Any?>}
// Public signature: /Derived1.foo|-6838606926256314363[0]
override fun <Y : Any?> foo(y: Y): T
// CHECK:
// Mangled name: Derived1{}x
// Public signature: /Derived1.x|-8060530855978347579[0]
/* fake */ override val x: T
// CHECK JVM_IR:
// Mangled name: Derived1#<get-x>(){}1:0
// Public signature: /Derived1.x.<get-x>|-8893883356128097563[0]
// CHECK JS_IR NATIVE:
// Mangled name: Derived1#<get-x>(){}
// Public signature: /Derived1.x.<get-x>|1482705010654679335[0]
/* fake */ override get(): T
// CHECK:
// Mangled name: Derived1@0:0{0§<kotlin.Any?>}exn
// Public signature: /Derived1.exn|2371047114698435273[0]
override var <Z : Any?> Z.exn: T
// CHECK JVM_IR:
// Mangled name: Derived1#<get-exn>@0:0(){0§<kotlin.Any?>}1:0
// Public signature: /Derived1.exn.<get-exn>|6217753676739394662[0]
// CHECK JS_IR NATIVE:
// Mangled name: Derived1#<get-exn>@0:0(){0§<kotlin.Any?>}
// Public signature: /Derived1.exn.<get-exn>|-202876889853335253[0]
override get(): T
// CHECK:
// Mangled name: Derived1#<set-exn>@0:0(1:0){0§<kotlin.Any?>}
// Public signature: /Derived1.exn.<set-exn>|5747714515092438414[0]
override set(value: T): Unit
}