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:
committed by
Pavel V. Talanov
parent
1f957de9d8
commit
0157d7bd5d
+14
-23
@@ -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>
|
val ModuleDescriptor.implementingDescriptors: List<ModuleDescriptor>
|
||||||
get() {
|
get() {
|
||||||
val moduleInfo = getCapability(ModuleInfo.Capability)
|
val moduleInfo = getCapability(ModuleInfo.Capability)
|
||||||
@@ -44,18 +53,8 @@ val ModuleDescriptor.implementingDescriptors: List<ModuleDescriptor>
|
|||||||
return listOf(this)
|
return listOf(this)
|
||||||
}
|
}
|
||||||
val moduleSourceInfo = moduleInfo as? ModuleSourceInfo ?: return emptyList()
|
val moduleSourceInfo = moduleInfo as? ModuleSourceInfo ?: return emptyList()
|
||||||
val module = moduleSourceInfo.module
|
val implementingModuleInfos = moduleSourceInfo.module.implementingModules.mapNotNull { it.toInfo(moduleSourceInfo.isTests()) }
|
||||||
return module.cached(CachedValueProvider {
|
return implementingModuleInfos.mapNotNull { it.toDescriptor() }
|
||||||
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()
|
|
||||||
)
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun Module.toInfo(isTests: Boolean): ModuleSourceInfo? =
|
private fun Module.toInfo(isTests: Boolean): ModuleSourceInfo? =
|
||||||
@@ -68,16 +67,8 @@ val ModuleDescriptor.implementedDescriptors: List<ModuleDescriptor>
|
|||||||
|
|
||||||
val moduleSourceInfo = moduleInfo as? ModuleSourceInfo ?: return emptyList()
|
val moduleSourceInfo = moduleInfo as? ModuleSourceInfo ?: return emptyList()
|
||||||
|
|
||||||
return moduleSourceInfo.expectedBy.mapNotNull {
|
return moduleSourceInfo.expectedBy.mapNotNull { it.toDescriptor() }
|
||||||
KotlinCacheService.getInstance(moduleSourceInfo.module.project)
|
|
||||||
.getResolutionFacadeByModuleInfo(it, it.platform)?.moduleDescriptor
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun Module.findImplementedModuleNames(): List<String> {
|
private fun ModuleSourceInfo.toDescriptor() = KotlinCacheService.getInstance(module.project)
|
||||||
val facet = FacetManager.getInstance(this).findFacet(
|
.getResolutionFacadeByModuleInfo(this, platform)?.moduleDescriptor
|
||||||
KotlinFacetType.TYPE_ID,
|
|
||||||
FacetTypeRegistry.getInstance().findFacetType(ID)!!.defaultFacetName
|
|
||||||
)
|
|
||||||
return facet?.configuration?.settings?.implementedModuleNames ?: emptyList()
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user