Clean up API of AbstractResolverForProject

Resolution anchors are IDE-specific.
Creating dedicated methods for them in AbstractResolverForProject leads to meaningless
implementation in non-IDE resolvers. Now this method is implemented only
for IDE resolver and accessed through JvmPlatformParameters.

#KT-24309 In Progress
This commit is contained in:
Pavel Kirpichenkov
2020-06-04 13:47:08 +03:00
parent 80a310540e
commit 8ed4424e3e
5 changed files with 41 additions and 25 deletions
@@ -64,9 +64,6 @@ abstract class AbstractResolverForProject<M : ModuleInfo>(
return resolverForModuleDescriptor(doGetDescriptorForModule(moduleInfo))
}
override fun tryGetResolverForModuleWithResolutionAnchorFallback(targetModuleInfo: M, referencingModuleInfo: M): ResolverForModule? =
tryGetResolverForModule(targetModuleInfo)
private fun setupModuleDescriptor(module: M, moduleDescriptor: ModuleDescriptorImpl) {
moduleDescriptor.setDependencies(
LazyModuleDependencies(
@@ -43,7 +43,6 @@ class ResolverForModule(
abstract class ResolverForProject<M : ModuleInfo> {
fun resolverForModule(moduleInfo: M): ResolverForModule = resolverForModuleDescriptor(descriptorForModule(moduleInfo))
abstract fun tryGetResolverForModule(moduleInfo: M): ResolverForModule?
abstract fun tryGetResolverForModuleWithResolutionAnchorFallback(targetModuleInfo: M, referencingModuleInfo: M): ResolverForModule?
abstract fun descriptorForModule(moduleInfo: M): ModuleDescriptor
abstract fun moduleInfoForModuleDescriptor(moduleDescriptor: ModuleDescriptor): M
abstract fun resolverForModuleDescriptor(descriptor: ModuleDescriptor): ResolverForModule
@@ -76,9 +75,6 @@ class EmptyResolverForProject<M : ModuleInfo> : ResolverForProject<M>() {
override val allModules: Collection<M> = listOf()
override fun diagnoseUnknownModuleInfo(infos: List<ModuleInfo>) = throw IllegalStateException("Should not be called for $infos")
override fun tryGetResolverForModuleWithResolutionAnchorFallback(targetModuleInfo: M, referencingModuleInfo: M) =
diagnoseUnknownModuleInfo(listOf(targetModuleInfo))
override fun moduleInfoForModuleDescriptor(descriptor: ModuleDescriptor): M {
throw IllegalStateException("$descriptor is not contained in this resolver")
}