JVM IR: Fix mangling for suspend functions with inline class params (KT-41374)

This commit is contained in:
Steven Schäfer
2020-08-31 14:59:44 +02:00
committed by Alexander Udalov
parent 48a3d4b8e0
commit 78ab957bfe
4 changed files with 40 additions and 2 deletions
@@ -0,0 +1,19 @@
// KT-41374
// !LANGUAGE: +InlineClasses
// FILE: test.kt
package a
inline class P(val i: Int)
suspend fun foo(p: P = P(1)) {}
suspend fun bar(p: P) {}
// The mangled name for a suspend function includes the continuation parameter in the hash computation, but not the
// default argument mask and handler.
// 1 public final static foo-zMJ7EWY\(ILkotlin/coroutines/Continuation;\)Ljava/lang/Object;
// 1 public static synthetic foo-zMJ7EWY\$default\(ILkotlin/coroutines/Continuation;ILjava/lang/Object;\)Ljava/lang/Object;
// 1 INVOKESTATIC a/TestKt.foo-zMJ7EWY \(ILkotlin/coroutines/Continuation;\)Ljava/lang/Object;
// 1 public final static bar-zMJ7EWY\(ILkotlin/coroutines/Continuation;\)Ljava/lang/Object;