diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/Devirtualization.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/Devirtualization.kt index 76c0eca8216..b579de14aff 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/Devirtualization.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/Devirtualization.kt @@ -193,7 +193,7 @@ internal object Devirtualization { symbolTable.mapClassReferenceType(context.irBuiltIns.anyClass.owner), 1, "Array\$Item") val functions = mutableMapOf() val concreteClasses = mutableMapOf() - val externalFunctions = mutableMapOf() + val externalFunctions = mutableMapOf, Node>() val fields = mutableMapOf() // Do not distinguish receivers. val virtualCallSiteReceivers = mutableMapOf() @@ -1019,7 +1019,7 @@ internal object Devirtualization { val resolvedCallee = callee.resolved() val calleeConstraintGraph = createFunctionConstraintGraph(resolvedCallee, false) return if (calleeConstraintGraph == null) { - constraintGraph.externalFunctions.getOrPut(resolvedCallee) { + constraintGraph.externalFunctions.getOrPut(resolvedCallee to returnType) { val fictitiousReturnNode = ordinaryNode { "External$resolvedCallee" } if (returnType.isFinal) concreteClass(returnType).addEdge(fictitiousReturnNode)