Revert "Probably fix issue with creating module descriptor for SDK twice"

This reverts commit 92adccde

Actually this commit didn't fix anything so it can be reverted
This commit is contained in:
Dmitriy Novozhilov
2020-12-21 15:56:54 +03:00
parent 6230a7861a
commit 0af1c81d62
4 changed files with 8 additions and 14 deletions
@@ -52,7 +52,7 @@ abstract class AbstractResolverForProject<M : ModuleInfo>(
assert(moduleInfoToResolvableInfo.values.toSet() == modules.toSet()) assert(moduleInfoToResolvableInfo.values.toSet() == modules.toSet())
} }
abstract fun sdkDependency(module: M, ownerModuleDescriptor: ModuleDescriptorImpl?): M? abstract fun sdkDependency(module: M): M?
abstract fun modulesContent(module: M): ModuleContent<M> abstract fun modulesContent(module: M): ModuleContent<M>
abstract fun builtInsForModule(module: M): KotlinBuiltIns abstract fun builtInsForModule(module: M): KotlinBuiltIns
abstract fun createResolverForModule(descriptor: ModuleDescriptor, moduleInfo: M): ResolverForModule abstract fun createResolverForModule(descriptor: ModuleDescriptor, moduleInfo: M): ResolverForModule
@@ -68,7 +68,7 @@ abstract class AbstractResolverForProject<M : ModuleInfo>(
LazyModuleDependencies( LazyModuleDependencies(
projectContext.storageManager, projectContext.storageManager,
module, module,
sdkDependency(module, moduleDescriptor), sdkDependency(module),
this this
) )
) )
@@ -35,7 +35,7 @@ class ResolverForSingleModuleProject<M : ModuleInfo>(
EmptyResolverForProject(), EmptyResolverForProject(),
PackageOracleFactory.OptimisticFactory PackageOracleFactory.OptimisticFactory
) { ) {
override fun sdkDependency(module: M, ownerModuleDescriptor: ModuleDescriptorImpl?): M? = sdkDependency override fun sdkDependency(module: M): M? = sdkDependency
init { init {
knownDependencyModuleDescriptors.forEach { (module, descriptor) -> knownDependencyModuleDescriptors.forEach { (module, descriptor) ->
@@ -61,4 +61,4 @@ class ResolverForSingleModuleProject<M : ModuleInfo>(
this, this,
languageVersionSettings languageVersionSettings
) )
} }
@@ -96,7 +96,7 @@ class MultiModuleJavaAnalysisCustomTest : KtUsefulTestCase() {
projectContext, projectContext,
modules modules
) { ) {
override fun sdkDependency(module: TestModule, ownerModuleDescriptor: ModuleDescriptorImpl?): TestModule? = null override fun sdkDependency(module: TestModule): TestModule? = null
override fun modulesContent(module: TestModule): ModuleContent<TestModule> = override fun modulesContent(module: TestModule): ModuleContent<TestModule> =
ModuleContent(module, module.kotlinFiles, module.javaFilesScope) ModuleContent(module, module.kotlinFiles, module.javaFilesScope)
@@ -58,16 +58,10 @@ class IdeaResolverForProject(
private val builtInsCache: BuiltInsCache = private val builtInsCache: BuiltInsCache =
(delegateResolver as? IdeaResolverForProject)?.builtInsCache ?: BuiltInsCache(projectContext, this) (delegateResolver as? IdeaResolverForProject)?.builtInsCache ?: BuiltInsCache(projectContext, this)
override fun sdkDependency(module: IdeaModuleInfo, ownerModuleDescriptor: ModuleDescriptorImpl?): SdkInfo? { override fun sdkDependency(module: IdeaModuleInfo): SdkInfo? {
if (projectContext.project.useCompositeAnalysis) { if (projectContext.project.useCompositeAnalysis) {
require(constantSdkDependencyIfAny == null) { "Shouldn't pass SDK dependency manually for composite analysis mode" } require(constantSdkDependencyIfAny == null) { "Shouldn't pass SDK dependency manually for composite analysis mode" }
} }
// This is needed for case when we find sdk dependency for module descriptor of
// that sdk itself. There was some situations when we create additional module
// descriptor for one SdkInfo
if (module is SdkInfo && ownerModuleDescriptor?.getCapability(ModuleInfo.Capability) == module) {
return module
}
return constantSdkDependencyIfAny ?: module.findSdkAcrossDependencies() return constantSdkDependencyIfAny ?: module.findSdkAcrossDependencies()
} }
@@ -138,7 +132,7 @@ class IdeaResolverForProject(
private val cache = mutableMapOf<BuiltInsCacheKey, KotlinBuiltIns>() private val cache = mutableMapOf<BuiltInsCacheKey, KotlinBuiltIns>()
fun getOrCreateIfNeeded(module: IdeaModuleInfo): KotlinBuiltIns = projectContextFromSdkResolver.storageManager.compute { fun getOrCreateIfNeeded(module: IdeaModuleInfo): KotlinBuiltIns = projectContextFromSdkResolver.storageManager.compute {
val sdk = resolverForSdk.sdkDependency(module, null) val sdk = resolverForSdk.sdkDependency(module)
val key = module.platform.idePlatformKind.resolution.getKeyForBuiltIns(module, sdk) val key = module.platform.idePlatformKind.resolution.getKeyForBuiltIns(module, sdk)
val cachedBuiltIns = cache[key] val cachedBuiltIns = cache[key]
@@ -186,4 +180,4 @@ class IdeaResolverForProject(
interface BuiltInsCacheKey { interface BuiltInsCacheKey {
object DefaultBuiltInsKey : BuiltInsCacheKey object DefaultBuiltInsKey : BuiltInsCacheKey
} }