Minor: move utils to more appropriate place

This commit is contained in:
Pavel V. Talanov
2018-05-29 17:29:52 +02:00
committed by Pavel V. Talanov
parent e67f449476
commit 05e6c4e0a2
2 changed files with 24 additions and 24 deletions
@@ -5,10 +5,7 @@
package org.jetbrains.kotlin.idea.caches.project
import com.intellij.facet.FacetManager
import com.intellij.facet.FacetTypeRegistry
import com.intellij.openapi.diagnostic.Logger
import com.intellij.openapi.externalSystem.service.project.IdeModelsProviderImpl
import com.intellij.openapi.module.Module
import com.intellij.openapi.module.impl.scopes.LibraryScopeBase
import com.intellij.openapi.project.Project
@@ -34,8 +31,6 @@ import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.idea.configuration.BuildSystemType
import org.jetbrains.kotlin.idea.configuration.getBuildSystemType
import org.jetbrains.kotlin.idea.core.isInTestSourceContentKotlinAware
import org.jetbrains.kotlin.idea.facet.KotlinFacetType
import org.jetbrains.kotlin.idea.facet.KotlinFacetType.Companion.ID
import org.jetbrains.kotlin.idea.framework.getLibraryPlatform
import org.jetbrains.kotlin.idea.project.KotlinModuleModificationTracker
import org.jetbrains.kotlin.idea.project.TargetPlatformDetector
@@ -121,24 +116,6 @@ private fun ideaModelDependencies(
return result.filterNot { it is LibraryInfo && it.platform != platform }
}
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()
}
fun Module.findImplementedModules() = this.cached<List<Module>>(
CachedValueProvider {
val modelsProvider = IdeModelsProviderImpl(project)
CachedValueProvider.Result(
findImplementedModuleNames().mapNotNull { modelsProvider.findIdeModule(it) },
ProjectRootModificationTracker.getInstance(project)
)
}
)
interface ModuleSourceInfo : IdeaModuleInfo, TrackableModuleInfo {
val module: Module
@@ -5,6 +5,9 @@
package org.jetbrains.kotlin.idea.caches.project
import com.intellij.facet.FacetManager
import com.intellij.facet.FacetTypeRegistry
import com.intellij.openapi.externalSystem.service.project.IdeModelsProviderImpl
import com.intellij.openapi.module.Module
import com.intellij.openapi.module.ModuleManager
import com.intellij.openapi.roots.ProjectRootModificationTracker
@@ -12,6 +15,8 @@ import com.intellij.psi.util.CachedValueProvider
import org.jetbrains.kotlin.analyzer.ModuleInfo
import org.jetbrains.kotlin.caches.resolve.KotlinCacheService
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.idea.facet.KotlinFacetType
import org.jetbrains.kotlin.idea.facet.KotlinFacetType.Companion.ID
fun Module.findImplementingModules() =
ModuleManager.getInstance(project).modules.filter { name in it.findImplementedModuleNames() }
@@ -66,4 +71,22 @@ val ModuleDescriptor.implementedDescriptors: List<ModuleDescriptor>
KotlinCacheService.getInstance(moduleSourceInfo.module.project)
.getResolutionFacadeByModuleInfo(it, it.platform)?.moduleDescriptor
}
}
}
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()
}
fun Module.findImplementedModules() = this.cached<List<Module>>(
CachedValueProvider {
val modelsProvider = IdeModelsProviderImpl(project)
CachedValueProvider.Result(
findImplementedModuleNames().mapNotNull { modelsProvider.findIdeModule(it) },
ProjectRootModificationTracker.getInstance(project)
)
}
)