Mpp utils: remove erroneous cache

Note: can't use Module.cached to calculate data that depends on input
   other than the module itself (isTests in this case)
This commit is contained in:
Pavel V. Talanov
2018-05-29 17:53:36 +02:00
committed by Pavel V. Talanov
parent 1f957de9d8
commit 0157d7bd5d
@@ -37,6 +37,15 @@ val Module.implementedModules: List<Module>
}
)
private fun Module.findImplementedModuleNames(): List<String> {
val facet = FacetManager.getInstance(this).findFacet(
KotlinFacetType.TYPE_ID,
FacetTypeRegistry.getInstance().findFacetType(ID)!!.defaultFacetName
)
return facet?.configuration?.settings?.implementedModuleNames ?: emptyList()
}
val ModuleDescriptor.implementingDescriptors: List<ModuleDescriptor>
get() {
val moduleInfo = getCapability(ModuleInfo.Capability)
@@ -44,18 +53,8 @@ val ModuleDescriptor.implementingDescriptors: List<ModuleDescriptor>
return listOf(this)
}
val moduleSourceInfo = moduleInfo as? ModuleSourceInfo ?: return emptyList()
val module = moduleSourceInfo.module
return module.cached(CachedValueProvider {
val implementingModuleInfos = module.implementingModules.mapNotNull { it.toInfo(moduleSourceInfo.isTests()) }
val implementingModuleDescriptors = implementingModuleInfos.mapNotNull {
KotlinCacheService.getInstance(module.project).getResolutionFacadeByModuleInfo(it, it.platform)?.moduleDescriptor
}
CachedValueProvider.Result(
implementingModuleDescriptors,
*(implementingModuleInfos.map { it.createModificationTracker() } +
ProjectRootModificationTracker.getInstance(module.project)).toTypedArray()
)
})
val implementingModuleInfos = moduleSourceInfo.module.implementingModules.mapNotNull { it.toInfo(moduleSourceInfo.isTests()) }
return implementingModuleInfos.mapNotNull { it.toDescriptor() }
}
private fun Module.toInfo(isTests: Boolean): ModuleSourceInfo? =
@@ -68,16 +67,8 @@ val ModuleDescriptor.implementedDescriptors: List<ModuleDescriptor>
val moduleSourceInfo = moduleInfo as? ModuleSourceInfo ?: return emptyList()
return moduleSourceInfo.expectedBy.mapNotNull {
KotlinCacheService.getInstance(moduleSourceInfo.module.project)
.getResolutionFacadeByModuleInfo(it, it.platform)?.moduleDescriptor
}
return moduleSourceInfo.expectedBy.mapNotNull { it.toDescriptor() }
}
private fun Module.findImplementedModuleNames(): List<String> {
val facet = FacetManager.getInstance(this).findFacet(
KotlinFacetType.TYPE_ID,
FacetTypeRegistry.getInstance().findFacetType(ID)!!.defaultFacetName
)
return facet?.configuration?.settings?.implementedModuleNames ?: emptyList()
}
private fun ModuleSourceInfo.toDescriptor() = KotlinCacheService.getInstance(module.project)
.getResolutionFacadeByModuleInfo(this, platform)?.moduleDescriptor