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:
@@ -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
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
+1
-1
@@ -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) ->
|
||||||
|
|||||||
+1
-1
@@ -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)
|
||||||
|
|||||||
+2
-8
@@ -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]
|
||||||
|
|||||||
Reference in New Issue
Block a user