Refactoring: use KtScript.scriptDefinition instead of KotlinScriptDefinitionProvider.findScriptDefinition if possible
This commit is contained in:
+2
-5
@@ -24,7 +24,6 @@ import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.util.io.URLUtil
|
||||
import org.jetbrains.annotations.TestOnly
|
||||
import org.jetbrains.kotlin.idea.core.script.dependencies.SyncScriptDependenciesLoader
|
||||
import org.jetbrains.kotlin.script.ScriptDefinitionProvider
|
||||
import org.jetbrains.kotlin.script.ScriptDependenciesProvider
|
||||
import org.jetbrains.kotlin.script.findScriptDefinition
|
||||
import java.io.File
|
||||
@@ -77,10 +76,8 @@ class ScriptDependenciesManager internal constructor(
|
||||
|
||||
@TestOnly
|
||||
fun updateScriptDependenciesSynchronously(virtualFile: VirtualFile, project: Project) {
|
||||
with(getInstance(project)) {
|
||||
val scriptDefinition = ScriptDefinitionProvider.getInstance(project).findScriptDefinition(virtualFile)!!
|
||||
SyncScriptDependenciesLoader(virtualFile, scriptDefinition, project, shouldNotifyRootsChanged = true).updateDependencies()
|
||||
}
|
||||
val scriptDefinition = findScriptDefinition(virtualFile, project)!!
|
||||
SyncScriptDependenciesLoader(virtualFile, scriptDefinition, project, shouldNotifyRootsChanged = true).updateDependencies()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+5
-6
@@ -36,14 +36,12 @@ import org.jetbrains.kotlin.idea.core.script.dependencies.FromFileAttributeScrip
|
||||
import org.jetbrains.kotlin.idea.core.script.dependencies.ScriptDependenciesLoader
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.psi.NotNullableUserDataProperty
|
||||
import org.jetbrains.kotlin.script.ScriptDefinitionProvider
|
||||
import org.jetbrains.kotlin.script.findScriptDefinition
|
||||
import kotlin.script.experimental.dependencies.ScriptDependencies
|
||||
|
||||
class ScriptDependenciesUpdater(
|
||||
private val project: Project,
|
||||
private val cache: ScriptDependenciesCache,
|
||||
private val scriptDefinitionProvider: ScriptDefinitionProvider
|
||||
private val cache: ScriptDependenciesCache
|
||||
) {
|
||||
private val scriptsQueue = Alarm(Alarm.ThreadToUse.SWING_THREAD, project)
|
||||
private val scriptChangesListenerDelay = 1400
|
||||
@@ -55,7 +53,7 @@ class ScriptDependenciesUpdater(
|
||||
fun getCurrentDependencies(file: VirtualFile): ScriptDependencies {
|
||||
cache[file]?.let { return it }
|
||||
|
||||
val scriptDef = scriptDefinitionProvider.findScriptDefinition(file) ?: return ScriptDependencies.Empty
|
||||
val scriptDef = findScriptDefinition(file, project) ?: return ScriptDependencies.Empty
|
||||
|
||||
FromFileAttributeScriptDependenciesLoader(file, scriptDef, project).updateDependencies()
|
||||
ScriptDependenciesLoader.updateDependencies(file, scriptDef, project, shouldNotifyRootsChanged = false)
|
||||
@@ -75,9 +73,10 @@ class ScriptDependenciesUpdater(
|
||||
|
||||
private fun runScriptDependenciesUpdateIfNeeded(file: VirtualFile) {
|
||||
if (file.fileType != KotlinFileType.INSTANCE) return
|
||||
val scriptDef = scriptDefinitionProvider.findScriptDefinition(file) ?: return
|
||||
val ktFile = PsiManager.getInstance(project).findFile(file) as? KtFile ?: return
|
||||
|
||||
val scriptDef = findScriptDefinition(ktFile) ?: return
|
||||
|
||||
if (!ScriptDefinitionsManager.getInstance(project).isInExpectedLocation(ktFile, scriptDef)) return
|
||||
ScriptDependenciesLoader.updateDependencies(file, scriptDef, project, shouldNotifyRootsChanged = true)
|
||||
}
|
||||
@@ -101,8 +100,8 @@ class ScriptDependenciesUpdater(
|
||||
return
|
||||
}
|
||||
|
||||
val scriptDef = scriptDefinitionProvider.findScriptDefinition(file) ?: return
|
||||
val ktFile = PsiManager.getInstance(project).findFile(file) as? KtFile ?: return
|
||||
val scriptDef = findScriptDefinition(ktFile) ?: return
|
||||
|
||||
if (!ScriptDefinitionsManager.getInstance(project).isInExpectedLocation(ktFile, scriptDef)) return
|
||||
|
||||
|
||||
+2
-2
@@ -23,7 +23,7 @@ import com.intellij.psi.search.GlobalSearchScope
|
||||
import org.jetbrains.kotlin.idea.core.script.ScriptDependenciesManager
|
||||
import org.jetbrains.kotlin.idea.core.script.StandardIdeScriptDefinition
|
||||
import org.jetbrains.kotlin.script.KotlinScriptDefinitionFromAnnotatedTemplate
|
||||
import org.jetbrains.kotlin.script.getScriptDefinition
|
||||
import org.jetbrains.kotlin.script.findScriptDefinition
|
||||
|
||||
class KotlinScriptResolveScopeProvider : ResolveScopeProvider() {
|
||||
companion object {
|
||||
@@ -32,7 +32,7 @@ class KotlinScriptResolveScopeProvider : ResolveScopeProvider() {
|
||||
}
|
||||
|
||||
override fun getResolveScope(file: VirtualFile, project: Project): GlobalSearchScope? {
|
||||
val scriptDefinition = getScriptDefinition(file, project)
|
||||
val scriptDefinition = findScriptDefinition(file, project)
|
||||
// TODO: this should get this particular scripts dependencies
|
||||
return when {
|
||||
scriptDefinition == null -> null
|
||||
|
||||
Reference in New Issue
Block a user