Introduce ModuleDescriptor.findImplementingDescriptor() via facets

This function is now used instead of allImplementingCompatibleModules,
thus allowing it to be deleted together with allImplementingModules

So #KT-17369 Fixed
So #KT-17374 Fixed
May fix also some other MPP issues
This commit is contained in:
Mikhail Glukhikh
2017-09-26 16:15:50 +03:00
parent c9f11e4bc2
commit 5687fe6e39
14 changed files with 66 additions and 66 deletions
@@ -118,7 +118,6 @@ class ResolverForProjectImpl<M : ModuleInfo>(
moduleDescriptor.setDependencies(LazyModuleDependencies(
projectContext.storageManager,
module,
modulePlatforms,
firstDependency,
this))
@@ -270,7 +269,6 @@ abstract class AnalyzerFacade {
class LazyModuleDependencies<M: ModuleInfo>(
storageManager: StorageManager,
private val module: M,
modulePlatforms: (M) -> MultiTargetPlatform?,
firstDependency: M? = null,
private val resolverForProject: ResolverForProjectImpl<M>
) : ModuleDependencies {
@@ -292,14 +290,6 @@ class LazyModuleDependencies<M: ModuleInfo>(
}.toList()
}
private val implementingModules = storageManager.createLazyValue {
if (modulePlatforms(module) != MultiTargetPlatform.Common) emptySet<M>()
else resolverForProject.modules
.filterTo(mutableSetOf()) {
modulePlatforms(it) != MultiTargetPlatform.Common && module in it.dependencies()
}
}
override val allDependencies: List<ModuleDescriptorImpl> get() = dependencies()
override val modulesWhoseInternalsAreVisible: Set<ModuleDescriptorImpl>
@@ -308,8 +298,6 @@ class LazyModuleDependencies<M: ModuleInfo>(
resolverForProject.descriptorForModule(it as M)
}
override val allImplementingModules: Set<ModuleDescriptorImpl>
get() = implementingModules().mapTo(mutableSetOf()) { resolverForProject.descriptorForModule(it) }
}