JVM_IR KT-50856 fix generic signature for SAM proxy function

This commit is contained in:
Dmitry Petrov
2022-01-20 10:26:45 +03:00
committed by Space
parent cd578e9d13
commit 12d8b189a9
6 changed files with 62 additions and 11 deletions
@@ -335,7 +335,7 @@ internal class FunctionReferenceLowering(private val context: JvmBackendContext)
val proxyFun = context.irFactory.buildFun {
name = Name.identifier("${targetFun.name.asString()}__proxy")
returnType = targetFun.returnType
returnType = targetFun.returnType.eraseTypeParameters()
visibility = DescriptorVisibilities.LOCAL
modality = Modality.FINAL
isSuspend = false
@@ -372,6 +372,7 @@ internal class FunctionReferenceLowering(private val context: JvmBackendContext)
updateFrom(originalParameter)
name = Name.identifier("p$proxyParameterIndex\$${originalParameter.name.asString()}")
index = proxyParameterIndex
type = originalParameter.type.eraseTypeParameters()
proxyParameterIndex++
}.apply {
parent = proxyFun