提交 05e6c4e0 编写于 作者: P Pavel V. Talanov 提交者: Pavel V. Talanov

Minor: move utils to more appropriate place

上级 e67f4494
......@@ -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
}
}
\ No newline at end of file
}
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)
)
}
)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册