// CHECK JVM_IR: // Mangled name: #k@kotlin.String(){}kotlin.Function0 // Public signature: /k|-4623891636485044145[0] // Public signature debug description: k@kotlin.String(){}kotlin.Function0 // CHECK JS_IR NATIVE: // Mangled name: #k@kotlin.String(){} // Public signature: /k|603037284564559001[0] // Public signature debug description: k@kotlin.String(){} fun String.k(): Function0 // CHECK: // Mangled name: #test1(kotlin.Function0){} // Public signature: /test1|-2870537507416699845[0] // Public signature debug description: test1(kotlin.Function0){} fun test1(f: Function0): Unit // CHECK: // Mangled name: #test2(kotlin.Function1){} // Public signature: /test2|4596316013814715028[0] // Public signature debug description: test2(kotlin.Function1){} fun test2(f: @ExtensionFunctionType Function1): Unit // CHECK JVM_IR: // Mangled name: #test3(){}kotlin.String // Public signature: /test3|3344305992477585251[0] // Public signature debug description: test3(){}kotlin.String // CHECK JS_IR NATIVE: // Mangled name: #test3(){} // Public signature: /test3|-3759735065270951803[0] // Public signature debug description: test3(){} fun test3(): String // CHECK JVM_IR: // Mangled name: #test4(kotlin.String?){}kotlin.String? // Public signature: /test4|-1434334118883225411[0] // Public signature debug description: test4(kotlin.String?){}kotlin.String? // CHECK JS_IR NATIVE: // Mangled name: #test4(kotlin.String?){} // Public signature: /test4|-2246924836724040051[0] // Public signature debug description: test4(kotlin.String?){} fun test4(ns: String?): String?