JVM IR: Fix special bridge generation with external Kotlin dependencies

This commit is contained in:
Steven Schäfer
2020-08-14 14:55:46 +02:00
committed by Alexander Udalov
parent 730e07c52a
commit 6100166185
4 changed files with 29 additions and 1 deletions
@@ -201,7 +201,7 @@ class MethodSignatureMapper(private val context: JvmBackendContext) {
mapSignature(function, false)
private fun mapSignature(function: IrFunction, skipGenericSignature: Boolean, skipSpecial: Boolean = false): JvmMethodGenericSignature {
if (function is IrLazyFunctionBase && function.initialSignatureFunction != null) {
if (function is IrLazyFunctionBase && !function.isFakeOverride && function.initialSignatureFunction != null) {
// Overrides of special builtin in Kotlin classes always have special signature
if ((function as? IrSimpleFunction)?.getDifferentNameForJvmBuiltinFunction() == null ||
(function.parent as? IrClass)?.origin == IrDeclarationOrigin.IR_EXTERNAL_JAVA_DECLARATION_STUB