Rename services related to script dependencies
KotlinScriptConfigurationManager -> ScriptDependenciesManager KotlinScriptExternalImportsProvider -> ScriptDependenciesProvider
This commit is contained in:
@@ -35,7 +35,7 @@ internal class DependenciesCache(private val project: Project) {
|
||||
|
||||
val allScriptsClasspathCache = ClearableLazyValue(cacheLock) {
|
||||
val files = cache.values.flatMap { it.classpath }.distinct()
|
||||
KotlinScriptConfigurationManager.toVfsRoots(files)
|
||||
ScriptDependenciesManager.toVfsRoots(files)
|
||||
}
|
||||
|
||||
val allScriptsClasspathScope = ClearableLazyValue(cacheLock) {
|
||||
@@ -43,7 +43,7 @@ internal class DependenciesCache(private val project: Project) {
|
||||
}
|
||||
|
||||
val allLibrarySourcesCache = ClearableLazyValue(cacheLock) {
|
||||
KotlinScriptConfigurationManager.toVfsRoots(cache.values.flatMap { it.sources }.distinct())
|
||||
ScriptDependenciesManager.toVfsRoots(cache.values.flatMap { it.sources }.distinct())
|
||||
}
|
||||
|
||||
val allLibrarySourcesScope = ClearableLazyValue(cacheLock) {
|
||||
|
||||
+3
-3
@@ -30,20 +30,20 @@ import org.jetbrains.kotlin.load.java.AbstractJavaClassFinder
|
||||
import org.jetbrains.kotlin.resolve.jvm.KotlinSafeClassFinder
|
||||
|
||||
class KotlinScriptDependenciesClassFinder(project: Project,
|
||||
private val kotlinScriptConfigurationManager: KotlinScriptConfigurationManager
|
||||
private val scriptDependenciesManager: ScriptDependenciesManager
|
||||
) : NonClasspathClassFinder(project), KotlinSafeClassFinder {
|
||||
|
||||
private val myCaches by lazy {
|
||||
object : ConcurrentFactoryMap<VirtualFile, PackageDirectoryCache>() {
|
||||
override fun create(file: VirtualFile): PackageDirectoryCache? {
|
||||
val scriptClasspath = kotlinScriptConfigurationManager.getScriptClasspath(file)
|
||||
val scriptClasspath = scriptDependenciesManager.getScriptClasspath(file)
|
||||
val v = createCache(scriptClasspath)
|
||||
return v
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun calcClassRoots(): List<VirtualFile> = kotlinScriptConfigurationManager.getAllScriptsClasspath().toList()
|
||||
override fun calcClassRoots(): List<VirtualFile> = scriptDependenciesManager.getAllScriptsClasspath().toList()
|
||||
|
||||
override fun getCache(scope: GlobalSearchScope?): PackageDirectoryCache =
|
||||
(scope as? ScriptModuleSearchScope ?:
|
||||
|
||||
+10
-10
@@ -24,23 +24,23 @@ import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.util.io.URLUtil
|
||||
import org.jetbrains.annotations.TestOnly
|
||||
import org.jetbrains.kotlin.script.KotlinScriptDefinitionProvider
|
||||
import org.jetbrains.kotlin.script.KotlinScriptExternalImportsProvider
|
||||
import org.jetbrains.kotlin.script.ScriptDependenciesProvider
|
||||
import org.jetbrains.kotlin.script.makeScriptDefsFromTemplatesProviderExtensions
|
||||
import java.io.File
|
||||
import kotlin.script.dependencies.ScriptDependencies
|
||||
|
||||
|
||||
// NOTE: this service exists exclusively because KotlinScriptConfigurationManager
|
||||
// NOTE: this service exists exclusively because ScriptDependencyManager
|
||||
// cannot be registered as implementing two services (state would be duplicated)
|
||||
class IdeScriptExternalImportsProvider(
|
||||
private val scriptConfigurationManager: KotlinScriptConfigurationManager
|
||||
) : KotlinScriptExternalImportsProvider {
|
||||
class IdeScriptDependenciesProvider(
|
||||
private val scriptDependenciesManager: ScriptDependenciesManager
|
||||
) : ScriptDependenciesProvider {
|
||||
override fun getScriptDependencies(file: VirtualFile): ScriptDependencies? {
|
||||
return scriptConfigurationManager.getScriptDependencies(file)
|
||||
return scriptDependenciesManager.getScriptDependencies(file)
|
||||
}
|
||||
}
|
||||
|
||||
class KotlinScriptConfigurationManager(
|
||||
class ScriptDependenciesManager(
|
||||
private val project: Project,
|
||||
private val scriptDefinitionProvider: KotlinScriptDefinitionProvider
|
||||
) {
|
||||
@@ -66,8 +66,8 @@ class KotlinScriptConfigurationManager(
|
||||
|
||||
companion object {
|
||||
@JvmStatic
|
||||
fun getInstance(project: Project): KotlinScriptConfigurationManager =
|
||||
ServiceManager.getService(project, KotlinScriptConfigurationManager::class.java)
|
||||
fun getInstance(project: Project): ScriptDependenciesManager =
|
||||
ServiceManager.getService(project, ScriptDependenciesManager::class.java)
|
||||
|
||||
fun toVfsRoots(roots: Iterable<File>): List<VirtualFile> {
|
||||
return roots.mapNotNull { it.classpathEntryToVfs() }
|
||||
@@ -84,7 +84,7 @@ class KotlinScriptConfigurationManager(
|
||||
return res
|
||||
}
|
||||
|
||||
internal val log = Logger.getInstance(KotlinScriptConfigurationManager::class.java)
|
||||
internal val log = Logger.getInstance(ScriptDependenciesManager::class.java)
|
||||
|
||||
@TestOnly
|
||||
fun updateScriptDependenciesSynchronously(virtualFile: VirtualFile, project: Project) {
|
||||
+2
-2
@@ -26,7 +26,7 @@ import com.intellij.psi.search.PsiShortNamesCache
|
||||
import com.intellij.psi.stubs.StubIndex
|
||||
import com.intellij.util.Processor
|
||||
import com.intellij.util.containers.HashSet
|
||||
import org.jetbrains.kotlin.idea.core.script.KotlinScriptConfigurationManager
|
||||
import org.jetbrains.kotlin.idea.core.script.ScriptDependenciesManager
|
||||
|
||||
// Allow searching java classes in jars in script dependencies, this is needed for stuff like completion and autoimport
|
||||
class JavaClassesInScriptDependenciesShortNameCache(private val project: Project) : PsiShortNamesCache() {
|
||||
@@ -35,7 +35,7 @@ class JavaClassesInScriptDependenciesShortNameCache(private val project: Project
|
||||
override fun getAllClassNames(dest: HashSet<String>) {}
|
||||
|
||||
override fun getClassesByName(name: String, scope: GlobalSearchScope): Array<out PsiClass> {
|
||||
val classpathScope = KotlinScriptConfigurationManager.getInstance(project).getAllScriptsClasspathScope()
|
||||
val classpathScope = ScriptDependenciesManager.getInstance(project).getAllScriptsClasspathScope()
|
||||
val classes = StubIndex.getElements(
|
||||
JavaShortClassNameIndex.getInstance().key, name, project, classpathScope.intersectWith(scope), PsiClass::class.java
|
||||
)
|
||||
|
||||
+2
-2
@@ -19,12 +19,12 @@ package org.jetbrains.kotlin.idea.core.script.dependencies
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.util.indexing.IndexableSetContributor
|
||||
import org.jetbrains.kotlin.idea.core.script.KotlinScriptConfigurationManager
|
||||
import org.jetbrains.kotlin.idea.core.script.ScriptDependenciesManager
|
||||
|
||||
class KotlinScriptDependenciesIndexableSetContributor : IndexableSetContributor() {
|
||||
|
||||
override fun getAdditionalProjectRootsToIndex(project: Project): Set<VirtualFile> {
|
||||
val manager = KotlinScriptConfigurationManager.getInstance(project)
|
||||
val manager = ScriptDependenciesManager.getInstance(project)
|
||||
return (manager.getAllScriptsClasspath() + manager.getAllLibrarySources()).toSet()
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -20,7 +20,7 @@ import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.psi.ResolveScopeProvider
|
||||
import com.intellij.psi.search.GlobalSearchScope
|
||||
import org.jetbrains.kotlin.idea.core.script.KotlinScriptConfigurationManager
|
||||
import org.jetbrains.kotlin.idea.core.script.ScriptDependenciesManager
|
||||
import org.jetbrains.kotlin.script.KotlinScriptDefinitionFromAnnotatedTemplate
|
||||
import org.jetbrains.kotlin.script.getScriptDefinition
|
||||
|
||||
@@ -41,7 +41,7 @@ class KotlinScriptResolveScopeProvider : ResolveScopeProvider() {
|
||||
null
|
||||
}
|
||||
else {
|
||||
KotlinScriptConfigurationManager.getInstance(project).getAllScriptsClasspathScope()
|
||||
ScriptDependenciesManager.getInstance(project).getAllScriptsClasspathScope()
|
||||
}
|
||||
else -> null
|
||||
}
|
||||
|
||||
+2
-2
@@ -21,7 +21,7 @@ import com.intellij.psi.PsiClassOwner
|
||||
import com.intellij.psi.PsiElement
|
||||
import com.intellij.psi.impl.compiled.*
|
||||
import com.intellij.psi.util.MethodSignatureUtil
|
||||
import org.jetbrains.kotlin.idea.core.script.KotlinScriptConfigurationManager
|
||||
import org.jetbrains.kotlin.idea.core.script.ScriptDependenciesManager
|
||||
|
||||
class ScriptDependencySourceNavigationPolicyForJavaClasses : ClsCustomNavigationPolicyEx() {
|
||||
override fun getNavigationElement(clsClass: ClsClassImpl): PsiClass? {
|
||||
@@ -49,7 +49,7 @@ class ScriptDependencySourceNavigationPolicyForJavaClasses : ClsCustomNavigation
|
||||
val virtualFile = file.virtualFile
|
||||
val project = file.project
|
||||
|
||||
val kotlinScriptConfigurationManager = KotlinScriptConfigurationManager.getInstance(project)
|
||||
val kotlinScriptConfigurationManager = ScriptDependenciesManager.getInstance(project)
|
||||
if (virtualFile !in kotlinScriptConfigurationManager.getAllScriptsClasspathScope()) return null
|
||||
|
||||
val sourceFileName = (file.classes.first() as ClsClassImpl).sourceFileName
|
||||
|
||||
Reference in New Issue
Block a user