// CHECK: // Mangled name: {}test1 // Public signature: /test1|6005685442305498193[0] // Public signature debug description: {}test1 val test1: Any field // CHECK JVM_IR: // Mangled name (compatible mode: false): {}test1. // Mangled name (compatible mode: true): test1. // CHECK JS_IR NATIVE: // Mangled name (compatible mode: false): {}test1. // Mangled name (compatible mode: true): test1. local class { // CHECK: // Mangled name (compatible mode: false): {}test1.#(){} // Mangled name (compatible mode: true): test1.#(){} constructor() /* primary */ } // CHECK JVM_IR: // Mangled name: #(){}kotlin.Any // Public signature: /test1.|-6000098324399857556[0] // Public signature debug description: (){}kotlin.Any // CHECK JS_IR NATIVE: // Mangled name: #(){} // Public signature: /test1.|-5735092642142423279[0] // Public signature debug description: (){} get // CHECK: // Mangled name: {}test2 // Public signature: /test2|2517758057000911509[0] // Public signature debug description: {}test2 val test2: IFoo field // CHECK JVM_IR: // Mangled name (compatible mode: false): {}test2. // Mangled name (compatible mode: true): test2. // CHECK JS_IR NATIVE: // Mangled name (compatible mode: false): {}test2. // Mangled name (compatible mode: true): test2. local class : IFoo { // CHECK: // Mangled name (compatible mode: false): {}test2.#(){} // Mangled name (compatible mode: true): test2.#(){} constructor() /* primary */ // CHECK: // Mangled name (compatible mode: false): {}test2.#foo(){} // Mangled name (compatible mode: true): test2.#foo(){} override fun foo(): Unit } // CHECK JVM_IR: // Mangled name: #(){}IFoo // Public signature: /test2.|8558399082919905120[0] // Public signature debug description: (){}IFoo // CHECK JS_IR NATIVE: // Mangled name: #(){} // Public signature: /test2.|-5218942532816206869[0] // Public signature debug description: (){} get // CHECK: // Mangled name: Outer // Public signature: /Outer|null[0] class Outer { // CHECK: // Mangled name: Outer.Inner // Public signature: /Outer.Inner|null[0] abstract inner class Inner : IFoo { // CHECK: // Mangled name: Outer.Inner#(){} // Public signature: /Outer.Inner.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK: // Mangled name: Outer.Inner#foo(){} // Public signature: /Outer.Inner.foo|-1041209573719867811[0] // Public signature debug description: foo(){} abstract /* fake */ override fun foo(): Unit } // CHECK: // Mangled name: Outer#(){} // Public signature: /Outer.|-5645683436151566731[0] // Public signature debug description: (){} constructor() /* primary */ // CHECK JVM_IR: // Mangled name: Outer#test3(){}Outer.Inner // Public signature: /Outer.test3|6083507929198720424[0] // Public signature debug description: test3(){}Outer.Inner // CHECK JS_IR NATIVE: // Mangled name: Outer#test3(){} // Public signature: /Outer.test3|-3759735065270951803[0] // Public signature debug description: test3(){} fun test3(): Inner // CHECK JVM_IR: // Mangled name: Outer#test3(){}Outer.Inner. // CHECK JS_IR NATIVE: // Mangled name: Outer#test3(){}. local class : Inner { // CHECK JVM_IR: // Mangled name: Outer#test3(){}Outer.Inner.#(){} // CHECK JS_IR NATIVE: // Mangled name: Outer#test3(){}.#(){} constructor() /* primary */ // CHECK JVM_IR: // Mangled name: Outer#test3(){}Outer.Inner.#foo(){} // CHECK JS_IR NATIVE: // Mangled name: Outer#test3(){}.#foo(){} override fun foo(): Unit } } // CHECK: // Mangled name: IFoo // Public signature: /IFoo|null[0] interface IFoo { // CHECK: // Mangled name: IFoo#foo(){} // Public signature: /IFoo.foo|-1041209573719867811[0] // Public signature debug description: foo(){} abstract fun foo(): Unit } // CHECK JVM_IR: // Mangled name: #test4@Outer(){}Outer.Inner // Public signature: /test4|-5948342138475838209[0] // Public signature debug description: test4@Outer(){}Outer.Inner // CHECK JS_IR NATIVE: // Mangled name: #test4@Outer(){} // Public signature: /test4|5715080467126173402[0] // Public signature debug description: test4@Outer(){} fun Outer.test4(): Inner // CHECK JVM_IR: // Mangled name: #test4@Outer(){}Outer.Inner. // CHECK JS_IR NATIVE: // Mangled name: #test4@Outer(){}. local class : Inner { // CHECK JVM_IR: // Mangled name: #test4@Outer(){}Outer.Inner.#(){} // CHECK JS_IR NATIVE: // Mangled name: #test4@Outer(){}.#(){} constructor() /* primary */ // CHECK JVM_IR: // Mangled name: #test4@Outer(){}Outer.Inner.#foo(){} // CHECK JS_IR NATIVE: // Mangled name: #test4@Outer(){}.#foo(){} override fun foo(): Unit }