JVM_IR: write correct lambda invoke() signature in metadata

This commit is contained in:
pyos
2021-07-02 10:59:32 +02:00
committed by Alexander Udalov
parent a7c13db575
commit 791fa411d8
3 changed files with 15 additions and 4 deletions
@@ -183,8 +183,13 @@ class FirMetadataSerializer(
serializer!!.packagePartProto(irClass.getPackageFragment()!!.fqName, metadata.fir).apply {
serializerExtension.serializeJvmPackage(this)
}.build()
is FirMetadataSource.Function ->
serializer!!.functionProto(metadata.fir.copyToFreeAnonymousFunction())?.build()
is FirMetadataSource.Function -> {
val withTypeParameters = metadata.fir.copyToFreeAnonymousFunction()
serializationBindings.get(FirJvmSerializerExtension.METHOD_FOR_FIR_FUNCTION, metadata.fir)?.let {
serializationBindings.put(FirJvmSerializerExtension.METHOD_FOR_FIR_FUNCTION, withTypeParameters, it)
}
serializer!!.functionProto(withTypeParameters)?.build()
}
else -> null
} ?: return null
return message to serializer!!.stringTable as JvmStringTable