02604060ae
1. Local declarations don't participate in IR-linkage, because they can be referenced only inside the same body -> can be dropped from IR text tests. 2. Mangled names for private declarations computed by descriptors/fir are actually not used anywhere (they are recomputed by IR immediately before serialization of IR). But sometimes such mangled names diverge between K1 and K2 -> don't check them, but always check mangled names computed by IR even for private declarations. 3. Also: Drop DUMP_LOCAL_DECLARATION_SIGNATURES test directive. ^KT-57428 Obsolete ^KT-57430 Obsolete ^KT-57434 Obsolete ^KT-57778 Obsolete ^KT-57775 Obsolete
105 lines
3.8 KiB
Kotlin
Vendored
105 lines
3.8 KiB
Kotlin
Vendored
package foo
|
|
|
|
// CHECK:
|
|
// Mangled name: foo{}array
|
|
// Public signature: foo/array|6187513897999240281[0]
|
|
// Public signature debug description: {}array
|
|
val array: Array<Int>
|
|
// CHECK JVM_IR:
|
|
// Mangled name: foo#<get-array>(){}kotlin.Array<kotlin.Int>
|
|
// Public signature: foo/array.<get-array>|7467926770652597701[0]
|
|
// Public signature debug description: <get-array>(){}kotlin.Array<kotlin.Int>
|
|
// CHECK JS_IR NATIVE:
|
|
// Mangled name: foo#<get-array>(){}
|
|
// Public signature: foo/array.<get-array>|-7741494344808015919[0]
|
|
// Public signature debug description: <get-array>(){}
|
|
get
|
|
|
|
// CHECK:
|
|
// Mangled name: foo.A
|
|
// Public signature: foo/A|null[0]
|
|
class A {
|
|
// CHECK:
|
|
// Mangled name: foo.A{}prop
|
|
// Public signature: foo/A.prop|3598315380056892812[0]
|
|
// Public signature debug description: {}prop
|
|
var prop: Int
|
|
// CHECK JVM_IR:
|
|
// Mangled name: foo.A#<get-prop>(){}kotlin.Int
|
|
// Public signature: foo/A.prop.<get-prop>|-2094203252476742575[0]
|
|
// Public signature debug description: <get-prop>(){}kotlin.Int
|
|
// CHECK JS_IR NATIVE:
|
|
// Mangled name: foo.A#<get-prop>(){}
|
|
// Public signature: foo/A.prop.<get-prop>|-5734736374948136327[0]
|
|
// Public signature debug description: <get-prop>(){}
|
|
get
|
|
// CHECK:
|
|
// Mangled name: foo.A#<set-prop>(kotlin.Int){}
|
|
// Public signature: foo/A.prop.<set-prop>|3724820243841906450[0]
|
|
// Public signature debug description: <set-prop>(kotlin.Int){}
|
|
set
|
|
|
|
// CHECK:
|
|
// Mangled name: foo.A#<init>(){}
|
|
// Public signature: foo/A.<init>|-5645683436151566731[0]
|
|
// Public signature debug description: <init>(){}
|
|
constructor() /* primary */
|
|
|
|
}
|
|
|
|
// CHECK:
|
|
// Mangled name: foo.B
|
|
// Public signature: foo/B|null[0]
|
|
object B {
|
|
// CHECK:
|
|
// Mangled name: foo.B{}prop
|
|
// Public signature: foo/B.prop|3598315380056892812[0]
|
|
// Public signature debug description: {}prop
|
|
var prop: Int
|
|
// CHECK JVM_IR:
|
|
// Mangled name: foo.B#<get-prop>(){}kotlin.Int
|
|
// Public signature: foo/B.prop.<get-prop>|-2094203252476742575[0]
|
|
// Public signature debug description: <get-prop>(){}kotlin.Int
|
|
// CHECK JS_IR NATIVE:
|
|
// Mangled name: foo.B#<get-prop>(){}
|
|
// Public signature: foo/B.prop.<get-prop>|-5734736374948136327[0]
|
|
// Public signature debug description: <get-prop>(){}
|
|
get
|
|
// CHECK:
|
|
// Mangled name: foo.B#<set-prop>(kotlin.Int){}
|
|
// Public signature: foo/B.prop.<set-prop>|3724820243841906450[0]
|
|
// Public signature debug description: <set-prop>(kotlin.Int){}
|
|
set
|
|
|
|
// CHECK:
|
|
// Mangled name: foo.B#<init>(){}
|
|
// Public signature: foo/B.<init>|-5645683436151566731[0]
|
|
// Public signature debug description: <init>(){}
|
|
private constructor() /* primary */
|
|
|
|
}
|
|
|
|
// CHECK JVM_IR:
|
|
// Mangled name: foo#id(0:0){0§<kotlin.Any?>}0:0
|
|
// Public signature: foo/id|-6791396263062521506[0]
|
|
// Public signature debug description: id(0:0){0§<kotlin.Any?>}0:0
|
|
// CHECK JS_IR NATIVE:
|
|
// Mangled name: foo#id(0:0){0§<kotlin.Any?>}
|
|
// Public signature: foo/id|9187295668833355463[0]
|
|
// Public signature debug description: id(0:0){0§<kotlin.Any?>}
|
|
fun <T : Any?> id(t: T): T
|
|
|
|
// CHECK JVM_IR:
|
|
// Mangled name: foo#main(){}
|
|
// Mangled name for the signature computed from Ir: main(){}
|
|
// Mangled name for the signature computed from Descriptor: main(){}%AssignmentOperator.kt
|
|
// Public signature by IR: foo/main|-4284757841571462650[0]
|
|
// Public signature by IR debug description: main(){}
|
|
// Public signature by Frontend: foo/main|7392120756922895329[0]
|
|
// Public signature by Frontend debug description: main(){}%AssignmentOperator.kt
|
|
// CHECK JS_IR NATIVE:
|
|
// Mangled name: foo#main(){}
|
|
// Public signature: foo/main|-4284757841571462650[0]
|
|
// Public signature debug description: main(){}
|
|
fun main(): Unit
|