[MPP] Introduce allModulesProviding(Expects|Actuals)For filters

This new filters will also take care of filtering out descriptors
that are provided by 'regular' dependencies instead of 'dependsOn'
dependencies.

^KT-50120
This commit is contained in:
sebastian.sellmair
2021-12-20 15:09:51 +01:00
committed by Space
parent d1ce7ae870
commit 2e55b82ba3
10 changed files with 57 additions and 55 deletions
@@ -6,7 +6,7 @@
package org.jetbrains.kotlin.codegen
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.resolve.multiplatform.ExpectedActualResolver
import org.jetbrains.kotlin.resolve.multiplatform.findCompatibleActualsForExpected
import org.jetbrains.kotlin.resolve.scopes.receivers.ExtensionReceiver
/**
@@ -29,9 +29,7 @@ class FrameMapWithExpectActualSupport(private val module: ModuleDescriptor) : Fr
// in ExpressionCodegen.generateThisOrOuterFromContext by comparing classes by type constructor equality.
if (parameter !is ReceiverParameterDescriptor || parameter.value !is ExtensionReceiver) return null
val actual = with(ExpectedActualResolver) {
container.findCompatibleActualForExpected(module).firstOrNull()
}
val actual = container.findCompatibleActualsForExpected(module).firstOrNull()
return (actual as? CallableDescriptor)?.extensionReceiverParameter
}