[IR] In irText tests, test full mangled names only computed from IR

We plan to disable computing full mangled names of declarations in all
manglers except the IR mangler (see the subsequent commits).

From now on, in irText tests we dump only the following mangled names:

- Full mangled names computed using the IR mangler
- Signature mangled names computed using the Descriptor mangler
- Signature mangled names computed using the IR mangler
- Signature mangled names computed using the FIR mangler

Here by a full mangled name we mean the mangled name of a declaration
computed using the `MangleMode.FULL` mode. Those mangled names include
the mangled names of the declaration'a parents.

By a signature mangled name we mean the mangled name of a declaration
computed using the `MangleMode.SIGNATURE` mode.
These mangled names are used to compute an `IdSignature` for
the declaration, hence the name.
This commit is contained in:
Sergej Jaskiewicz
2023-11-07 19:15:06 +01:00
committed by Space Team
parent 9ccce52915
commit 69aeddcba8
51 changed files with 372 additions and 91 deletions
@@ -7,9 +7,13 @@ val test1: Int /* by */
// CHECK JVM_IR:
// Mangled name (compatible mode: false): {}test1#<anonymous>#static(){}kotlin.Int
// Mangled name (compatible mode: true): test1$delegate#<anonymous>#static(){}kotlin.Int
// Mangled name for the signature (compatible mode: false): {}test1<anonymous>#static(){}kotlin.Int
// Mangled name for the signature (compatible mode: true): <anonymous>#static(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name (compatible mode: false): {}test1#<anonymous>#static(){}
// Mangled name (compatible mode: true): test1$delegate#<anonymous>#static(){}
// Mangled name for the signature (compatible mode: false): {}test1<anonymous>#static(){}
// Mangled name for the signature (compatible mode: true): <anonymous>#static(){}
local fun <anonymous>(): Int
// CHECK JVM_IR:
@@ -8,11 +8,13 @@ class Inner {
// Public signature debug description: <init>!Outer(kotlin.Any){}
constructor($context_receiver_0: Outer, arg: Any) /* primary */
// CHECK JVM_IR:
// Mangled name computed from Ir: Inner.contextReceiverField0
// Mangled name computed from Descriptor: Inner{}contextReceiverField0#jf
// Mangled name: Inner.contextReceiverField0
// Mangled name for the signature computed from Ir:
// Mangled name for the signature computed from Descriptor: {}contextReceiverField0#jf
// CHECK JS_IR NATIVE:
// Mangled name computed from Ir: Inner.contextReceiverField0
// Mangled name computed from Descriptor: Inner{}contextReceiverField0
// Mangled name: Inner.contextReceiverField0
// Mangled name for the signature computed from Ir:
// Mangled name for the signature computed from Descriptor: {}contextReceiverField0
private /* final field */ val contextReceiverField0: Outer
// CHECK JVM_IR:
@@ -62,7 +64,9 @@ class Outer {
fun f(outer: Outer): Unit
// CHECK JVM_IR:
// Mangled name: #f(Outer){}#<anonymous>#static@Outer(){}Inner
// Mangled name for the signature: f(Outer){}<anonymous>#static@Outer(){}Inner
// CHECK JS_IR NATIVE:
// Mangled name: #f(Outer){}#<anonymous>#static@Outer(){}
// Mangled name for the signature: f(Outer){}<anonymous>#static@Outer(){}
local fun Outer.<anonymous>(): Inner
@@ -30,11 +30,13 @@ class Test {
// Public signature debug description: <init>!Context(){}
constructor($context_receiver_0: Context) /* primary */
// CHECK JVM_IR:
// Mangled name computed from Ir: Test.contextReceiverField0
// Mangled name computed from Descriptor: Test{}contextReceiverField0#jf
// Mangled name: Test.contextReceiverField0
// Mangled name for the signature computed from Ir:
// Mangled name for the signature computed from Descriptor: {}contextReceiverField0#jf
// CHECK JS_IR NATIVE:
// Mangled name computed from Ir: Test.contextReceiverField0
// Mangled name computed from Descriptor: Test{}contextReceiverField0
// Mangled name: Test.contextReceiverField0
// Mangled name for the signature computed from Ir:
// Mangled name for the signature computed from Descriptor: {}contextReceiverField0
private /* final field */ val contextReceiverField0: Context
// CHECK:
@@ -68,11 +68,13 @@ class OK {
// Public signature debug description: <init>!O(kotlin.String){}
constructor($context_receiver_0: O, k: String) /* primary */
// CHECK JVM_IR:
// Mangled name computed from Ir: OK.contextReceiverField0
// Mangled name computed from Descriptor: OK{}contextReceiverField0#jf
// Mangled name: OK.contextReceiverField0
// Mangled name for the signature computed from Ir:
// Mangled name for the signature computed from Descriptor: {}contextReceiverField0#jf
// CHECK JS_IR NATIVE:
// Mangled name computed from Ir: OK.contextReceiverField0
// Mangled name computed from Descriptor: OK{}contextReceiverField0
// Mangled name: OK.contextReceiverField0
// Mangled name for the signature computed from Ir:
// Mangled name for the signature computed from Descriptor: {}contextReceiverField0
private /* final field */ val contextReceiverField0: O
}
@@ -88,7 +90,9 @@ class OK {
fun box(): String
// CHECK JVM_IR:
// Mangled name: #box(){}kotlin.String#<anonymous>#static@O(){}kotlin.String
// Mangled name for the signature: box(){}kotlin.String<anonymous>#static@O(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: #box(){}#<anonymous>#static@O(){}
// Mangled name for the signature: box(){}<anonymous>#static@O(){}
local fun O.<anonymous>(): String
@@ -96,11 +96,13 @@ class Result {
// Public signature debug description: <init>!kotlin.Int(){}
constructor($context_receiver_0: Int) /* primary */
// CHECK JVM_IR:
// Mangled name computed from Ir: Result.contextReceiverField0
// Mangled name computed from Descriptor: Result{}contextReceiverField0#jf
// Mangled name: Result.contextReceiverField0
// Mangled name for the signature computed from Ir:
// Mangled name for the signature computed from Descriptor: {}contextReceiverField0#jf
// CHECK JS_IR NATIVE:
// Mangled name computed from Ir: Result.contextReceiverField0
// Mangled name computed from Descriptor: Result{}contextReceiverField0
// Mangled name: Result.contextReceiverField0
// Mangled name for the signature computed from Ir:
// Mangled name for the signature computed from Descriptor: {}contextReceiverField0
private /* final field */ val contextReceiverField0: Int
}
@@ -33,6 +33,7 @@ class C {
fun bar(c: C): Unit
// CHECK:
// Mangled name: #bar(C){}#<anonymous>#static@C(){}
// Mangled name for the signature: bar(C){}<anonymous>#static@C(){}
local fun C.<anonymous>(): Unit
// CHECK:
@@ -8,11 +8,13 @@ class A<T : Any?> {
// Public signature debug description: <init>!1:0(){}
constructor($context_receiver_0: T) /* primary */
// CHECK JVM_IR:
// Mangled name computed from Ir: A.contextReceiverField0
// Mangled name computed from Descriptor: A{}contextReceiverField0#jf
// Mangled name: A.contextReceiverField0
// Mangled name for the signature computed from Ir:
// Mangled name for the signature computed from Descriptor: {}contextReceiverField0#jf
// CHECK JS_IR NATIVE:
// Mangled name computed from Ir: A.contextReceiverField0
// Mangled name computed from Descriptor: A{}contextReceiverField0
// Mangled name: A.contextReceiverField0
// Mangled name for the signature computed from Ir:
// Mangled name for the signature computed from Descriptor: {}contextReceiverField0
private /* final field */ val contextReceiverField0: T
}
@@ -27,11 +29,13 @@ class B<P : Any?> {
// Public signature debug description: <init>!kotlin.collections.Collection<1:0>(){}
constructor($context_receiver_0: Collection<P>) /* primary */
// CHECK JVM_IR:
// Mangled name computed from Ir: B.contextReceiverField0
// Mangled name computed from Descriptor: B{}contextReceiverField0#jf
// Mangled name: B.contextReceiverField0
// Mangled name for the signature computed from Ir:
// Mangled name for the signature computed from Descriptor: {}contextReceiverField0#jf
// CHECK JS_IR NATIVE:
// Mangled name computed from Ir: B.contextReceiverField0
// Mangled name computed from Descriptor: B{}contextReceiverField0
// Mangled name: B.contextReceiverField0
// Mangled name for the signature computed from Ir:
// Mangled name for the signature computed from Descriptor: {}contextReceiverField0
private /* final field */ val contextReceiverField0: Collection<P>
}
@@ -180,11 +180,13 @@ class CounterIterator : Iterator<Int> {
// Public signature debug description: <init>!CounterConfig(Counter){}
constructor($context_receiver_0: CounterConfig, counter: Counter) /* primary */
// CHECK JVM_IR:
// Mangled name computed from Ir: CounterIterator.contextReceiverField0
// Mangled name computed from Descriptor: CounterIterator{}contextReceiverField0#jf
// Mangled name: CounterIterator.contextReceiverField0
// Mangled name for the signature computed from Ir:
// Mangled name for the signature computed from Descriptor: {}contextReceiverField0#jf
// CHECK JS_IR NATIVE:
// Mangled name computed from Ir: CounterIterator.contextReceiverField0
// Mangled name computed from Descriptor: CounterIterator{}contextReceiverField0
// Mangled name: CounterIterator.contextReceiverField0
// Mangled name for the signature computed from Ir:
// Mangled name for the signature computed from Descriptor: {}contextReceiverField0
private /* final field */ val contextReceiverField0: CounterConfig
// CHECK JVM_IR:
@@ -8,18 +8,22 @@ class MyClass {
// Public signature debug description: <init>!kotlin.Unit!kotlin.Int(){}
constructor($context_receiver_0: Unit, $context_receiver_1: Int) /* primary */
// CHECK JVM_IR:
// Mangled name computed from Ir: MyClass.contextReceiverField0
// Mangled name computed from Descriptor: MyClass{}contextReceiverField0#jf
// Mangled name: MyClass.contextReceiverField0
// Mangled name for the signature computed from Ir:
// Mangled name for the signature computed from Descriptor: {}contextReceiverField0#jf
// CHECK JS_IR NATIVE:
// Mangled name computed from Ir: MyClass.contextReceiverField0
// Mangled name computed from Descriptor: MyClass{}contextReceiverField0
// Mangled name: MyClass.contextReceiverField0
// Mangled name for the signature computed from Ir:
// Mangled name for the signature computed from Descriptor: {}contextReceiverField0
private /* final field */ val contextReceiverField0: Unit
// CHECK JVM_IR:
// Mangled name computed from Ir: MyClass.contextReceiverField1
// Mangled name computed from Descriptor: MyClass{}contextReceiverField1#jf
// Mangled name: MyClass.contextReceiverField1
// Mangled name for the signature computed from Ir:
// Mangled name for the signature computed from Descriptor: {}contextReceiverField1#jf
// CHECK JS_IR NATIVE:
// Mangled name computed from Ir: MyClass.contextReceiverField1
// Mangled name computed from Descriptor: MyClass{}contextReceiverField1
// Mangled name: MyClass.contextReceiverField1
// Mangled name for the signature computed from Ir:
// Mangled name for the signature computed from Descriptor: {}contextReceiverField1
private /* final field */ val contextReceiverField1: Int
}
@@ -12,37 +12,47 @@ interface Lazy<T : Any?> {
fun <T : Any?> f(lazy1: Lazy<Int>, lazy2: Lazy<CharSequence>, lazyT: Lazy<T>, lazyLazyT: Lazy<Lazy<T>>): Unit
// CHECK:
// Mangled name: #f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<1:0>;Lazy<Lazy<1:0>>){0§<kotlin.Any?>}#<anonymous>#static@Lazy<kotlin.Int>(){}
// Mangled name for the signature: f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<1:0>;Lazy<Lazy<1:0>>){0§<kotlin.Any?>}<anonymous>#static@Lazy<kotlin.Int>(){}
local fun Lazy<Int>.<anonymous>(): Unit
// CHECK:
// Mangled name: #f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<2:0>;Lazy<Lazy<2:0>>){0§<kotlin.Any?>}#<anonymous>#static@Lazy<kotlin.Int>(){}#<anonymous>#static@Lazy<kotlin.CharSequence>(){}
// Mangled name for the signature: f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<2:0>;Lazy<Lazy<2:0>>){0§<kotlin.Any?>}<anonymous>#static@Lazy<kotlin.Int>(){}<anonymous>#static@Lazy<kotlin.CharSequence>(){}
local fun Lazy<CharSequence>.<anonymous>(): Unit
// CHECK:
// Mangled name: #f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<1:0>;Lazy<Lazy<1:0>>){0§<kotlin.Any?>}#<anonymous>#static@Lazy<kotlin.CharSequence>(){}
// Mangled name for the signature: f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<1:0>;Lazy<Lazy<1:0>>){0§<kotlin.Any?>}<anonymous>#static@Lazy<kotlin.CharSequence>(){}
local fun Lazy<CharSequence>.<anonymous>(): Unit
// CHECK:
// Mangled name: #f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<2:0>;Lazy<Lazy<2:0>>){0§<kotlin.Any?>}#<anonymous>#static@Lazy<kotlin.CharSequence>(){}#<anonymous>#static@Lazy<kotlin.Int>(){}
// Mangled name for the signature: f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<2:0>;Lazy<Lazy<2:0>>){0§<kotlin.Any?>}<anonymous>#static@Lazy<kotlin.CharSequence>(){}<anonymous>#static@Lazy<kotlin.Int>(){}
local fun Lazy<Int>.<anonymous>(): Unit
// CHECK:
// Mangled name: #f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<1:0>;Lazy<Lazy<1:0>>){0§<kotlin.Any?>}#<anonymous>#static@Lazy<1:0>(){}
// Mangled name for the signature: f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<1:0>;Lazy<Lazy<1:0>>){0§<kotlin.Any?>}<anonymous>#static@Lazy<1:0>(){}
local fun Lazy<T>.<anonymous>(): Unit
// CHECK:
// Mangled name: #f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<2:0>;Lazy<Lazy<2:0>>){0§<kotlin.Any?>}#<anonymous>#static@Lazy<2:0>(){}#<anonymous>#static@Lazy<kotlin.Int>(){}
// Mangled name for the signature: f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<2:0>;Lazy<Lazy<2:0>>){0§<kotlin.Any?>}<anonymous>#static@Lazy<2:0>(){}<anonymous>#static@Lazy<kotlin.Int>(){}
local fun Lazy<Int>.<anonymous>(): Unit
// CHECK:
// Mangled name: #f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<1:0>;Lazy<Lazy<1:0>>){0§<kotlin.Any?>}#<anonymous>#static@Lazy<Lazy<1:0>>(){}
// Mangled name for the signature: f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<1:0>;Lazy<Lazy<1:0>>){0§<kotlin.Any?>}<anonymous>#static@Lazy<Lazy<1:0>>(){}
local fun Lazy<Lazy<T>>.<anonymous>(): Unit
// CHECK:
// Mangled name: #f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<2:0>;Lazy<Lazy<2:0>>){0§<kotlin.Any?>}#<anonymous>#static@Lazy<Lazy<2:0>>(){}#<anonymous>#static@Lazy<kotlin.Int>(){}
// Mangled name for the signature: f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<2:0>;Lazy<Lazy<2:0>>){0§<kotlin.Any?>}<anonymous>#static@Lazy<Lazy<2:0>>(){}<anonymous>#static@Lazy<kotlin.Int>(){}
local fun Lazy<Int>.<anonymous>(): Unit
// CHECK:
// Mangled name: #f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<1:0>;Lazy<Lazy<1:0>>){0§<kotlin.Any?>}#<anonymous>#static@Lazy<kotlin.Int>(){}
// Mangled name for the signature: f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<1:0>;Lazy<Lazy<1:0>>){0§<kotlin.Any?>}<anonymous>#static@Lazy<kotlin.Int>(){}
local fun Lazy<Int>.<anonymous>(): Unit
// CHECK:
// Mangled name: #f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<2:0>;Lazy<Lazy<2:0>>){0§<kotlin.Any?>}#<anonymous>#static@Lazy<kotlin.Int>(){}#<anonymous>#static@Lazy<Lazy<2:0>>(){}
// Mangled name for the signature: f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<2:0>;Lazy<Lazy<2:0>>){0§<kotlin.Any?>}<anonymous>#static@Lazy<kotlin.Int>(){}<anonymous>#static@Lazy<Lazy<2:0>>(){}
local fun Lazy<Lazy<T>>.<anonymous>(): Unit
// CHECK:
@@ -37,7 +37,9 @@ fun f(): Any
fun test(): Unit
// CHECK JVM_IR:
// Mangled name: #test(){}#<anonymous>#static@Context(){}kotlin.Int
// Mangled name for the signature: test(){}<anonymous>#static@Context(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: #test(){}#<anonymous>#static@Context(){}
// Mangled name for the signature: test(){}<anonymous>#static@Context(){}
local fun Context.<anonymous>(): Int
@@ -25,7 +25,9 @@ fun foo($context_receiver_0: Int, $context_receiver_1: String): Int
fun test(): Unit
// CHECK JVM_IR:
// Mangled name: #test(){}#<anonymous>#static@kotlin.Int(){}kotlin.Int
// Mangled name for the signature: test(){}<anonymous>#static@kotlin.Int(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: #test(){}#<anonymous>#static@kotlin.Int(){}
// Mangled name for the signature: test(){}<anonymous>#static@kotlin.Int(){}
local fun Int.<anonymous>(): Int
@@ -5,9 +5,11 @@
fun test(): Unit
// CHECK:
// Mangled name: #test(){}#<anonymous>#static@kotlin.Int(){}
// Mangled name for the signature: test(){}<anonymous>#static@kotlin.Int(){}
local fun Int.<anonymous>(): Unit
// CHECK:
// Mangled name: #test(){}#<anonymous>#static@kotlin.Int(){}#<anonymous>#static(kotlin.Int){}
// Mangled name for the signature: test(){}<anonymous>#static@kotlin.Int(){}<anonymous>#static(kotlin.Int){}
local fun <anonymous>(i: Int): Unit
// CHECK:
@@ -5,5 +5,6 @@
fun test1(x: Int, y: Int, z: String): Unit
// CHECK:
// Mangled name: #test1(kotlin.Int;kotlin.Int;kotlin.String){}#local#static(kotlin.Int;kotlin.Int;kotlin.String){}
// Mangled name for the signature: test1(kotlin.Int;kotlin.Int;kotlin.String){}local#static(kotlin.Int;kotlin.Int;kotlin.String){}
local fun local(xx: Int, yy: Int, zz: String): Unit
@@ -5,70 +5,90 @@
fun outer(): Unit
// CHECK:
// Mangled name: #outer(){}.ALocal
// Mangled name for the signature: outer(){}
local abstract class ALocal {
// CHECK:
// Mangled name: #outer(){}.ALocal#<init>(){}
// Mangled name for the signature: outer(){}<init>(){}
constructor() /* primary */
// CHECK:
// Mangled name: #outer(){}.ALocal#afun(){}
// Mangled name for the signature: outer(){}afun(){}
abstract fun afun(): Unit
// CHECK:
// Mangled name: #outer(){}.ALocal{}aval
// Mangled name for the signature: outer(){}{}aval
abstract val aval: Int
// CHECK JVM_IR:
// Mangled name: #outer(){}.ALocal#<get-aval>(){}kotlin.Int
// Mangled name for the signature: outer(){}<get-aval>(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: #outer(){}.ALocal#<get-aval>(){}
// Mangled name for the signature: outer(){}<get-aval>(){}
abstract get
// CHECK:
// Mangled name: #outer(){}.ALocal{}avar
// Mangled name for the signature: outer(){}{}avar
abstract var avar: Int
// CHECK JVM_IR:
// Mangled name: #outer(){}.ALocal#<get-avar>(){}kotlin.Int
// Mangled name for the signature: outer(){}<get-avar>(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: #outer(){}.ALocal#<get-avar>(){}
// Mangled name for the signature: outer(){}<get-avar>(){}
abstract get
// CHECK:
// Mangled name: #outer(){}.ALocal#<set-avar>(kotlin.Int){}
// Mangled name for the signature: outer(){}<set-avar>(kotlin.Int){}
abstract set
}
// CHECK:
// Mangled name: #outer(){}.Local
// Mangled name for the signature: outer(){}
local class Local : ALocal {
// CHECK:
// Mangled name: #outer(){}.Local{}aval
// Mangled name for the signature: outer(){}{}aval
override val aval: Int
field
// CHECK JVM_IR:
// Mangled name: #outer(){}.Local#<get-aval>(){}kotlin.Int
// Mangled name for the signature: outer(){}<get-aval>(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: #outer(){}.Local#<get-aval>(){}
// Mangled name for the signature: outer(){}<get-aval>(){}
override get
// CHECK:
// Mangled name: #outer(){}.Local{}avar
// Mangled name for the signature: outer(){}{}avar
override var avar: Int
field
// CHECK JVM_IR:
// Mangled name: #outer(){}.Local#<get-avar>(){}kotlin.Int
// Mangled name for the signature: outer(){}<get-avar>(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: #outer(){}.Local#<get-avar>(){}
// Mangled name for the signature: outer(){}<get-avar>(){}
override get
// CHECK:
// Mangled name: #outer(){}.Local#<set-avar>(kotlin.Int){}
// Mangled name for the signature: outer(){}<set-avar>(kotlin.Int){}
override set
// CHECK:
// Mangled name: #outer(){}.Local#<init>(){}
// Mangled name for the signature: outer(){}<init>(){}
constructor() /* primary */
// CHECK:
// Mangled name: #outer(){}.Local#afun(){}
// Mangled name for the signature: outer(){}afun(){}
override fun afun(): Unit
}
@@ -5,17 +5,21 @@
fun <TT : Any?> outer(): Unit
// CHECK:
// Mangled name: #outer(){0§<kotlin.Any?>}#test1#static(kotlin.Int;0:0){0§<kotlin.Any?>}
// Mangled name for the signature: outer(){0§<kotlin.Any?>}test1#static(kotlin.Int;0:0){0§<kotlin.Any?>}
local fun <T : Any?> test1(i: Int, j: T): Unit
// CHECK:
// Mangled name: #outer(){0§<kotlin.Any?>}#test2#static(kotlin.Int;kotlin.String){}
// Mangled name for the signature: outer(){0§<kotlin.Any?>}test2#static(kotlin.Int;kotlin.String){}
local fun test2(i: Int, j: String): Unit
// CHECK:
// Mangled name: #outer(){0§<kotlin.Any?>}#test3#static(kotlin.Array<out|kotlin.String>...){}
// Mangled name for the signature: outer(){0§<kotlin.Any?>}test3#static(kotlin.Array<out|kotlin.String>...){}
local fun test3(vararg args: String): Unit
// CHECK:
// Mangled name: #outer(){0§<kotlin.Any?>}#textExt1#static@kotlin.String(kotlin.Int;1:0){}
// Mangled name for the signature: outer(){0§<kotlin.Any?>}textExt1#static@kotlin.String(kotlin.Int;1:0){}
local fun String.textExt1(i: Int, j: TT): Unit
@@ -81,7 +81,9 @@ class DelegateProvider {
fun foo(): Unit
// CHECK JVM_IR:
// Mangled name: #foo(){}#<get-testMember>#static(){}kotlin.String
// Mangled name for the signature: foo(){}<get-testMember>#static(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: #foo(){}#<get-testMember>#static(){}
// Mangled name for the signature: foo(){}<get-testMember>#static(){}
local fun <get-testMember>(): String
@@ -37,14 +37,18 @@ class MyClass {
fun box(): String
// CHECK JVM_IR:
// Mangled name: #box(){}kotlin.String#<get-testO>#static(){}kotlin.String
// Mangled name for the signature: box(){}kotlin.String<get-testO>#static(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: #box(){}#<get-testO>#static(){}
// Mangled name for the signature: box(){}<get-testO>#static(){}
local fun <get-testO>(): String
// CHECK JVM_IR:
// Mangled name: #box(){}kotlin.String#<get-testK>#static(){}kotlin.String
// Mangled name for the signature: box(){}kotlin.String<get-testK>#static(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: #box(){}#<get-testK>#static(){}
// Mangled name for the signature: box(){}<get-testK>#static(){}
local fun <get-testK>(): String
// CHECK JVM_IR: