Move script definition extraction functions to the plugin
plus finish refactoring of these functions
This commit is contained in:
+2
-2
@@ -25,7 +25,7 @@ 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.ScriptDependenciesProvider
|
||||
import org.jetbrains.kotlin.script.findScriptDefinition
|
||||
import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.findScriptDefinition
|
||||
import java.io.File
|
||||
import kotlin.script.experimental.dependencies.ScriptDependencies
|
||||
|
||||
@@ -76,7 +76,7 @@ class ScriptDependenciesManager internal constructor(
|
||||
|
||||
@TestOnly
|
||||
fun updateScriptDependenciesSynchronously(virtualFile: VirtualFile, project: Project) {
|
||||
val scriptDefinition = findScriptDefinition(virtualFile, project)!!
|
||||
val scriptDefinition = virtualFile.findScriptDefinition(project)!!
|
||||
SyncScriptDependenciesLoader(project).updateDependencies(virtualFile, scriptDefinition)
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -40,8 +40,8 @@ import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.psi.NotNullableUserDataProperty
|
||||
import org.jetbrains.kotlin.script.KotlinScriptDefinition
|
||||
import org.jetbrains.kotlin.script.LegacyResolverWrapper
|
||||
import org.jetbrains.kotlin.script.findScriptDefinition
|
||||
import org.jetbrains.kotlin.script.scriptDefinition
|
||||
import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.findScriptDefinition
|
||||
import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.scriptDefinition
|
||||
import kotlin.script.experimental.dependencies.AsyncDependenciesResolver
|
||||
import kotlin.script.experimental.dependencies.ScriptDependencies
|
||||
|
||||
@@ -63,7 +63,7 @@ class ScriptDependenciesUpdater(
|
||||
fun getCurrentDependencies(file: VirtualFile): ScriptDependencies {
|
||||
cache[file]?.let { return it }
|
||||
|
||||
val scriptDef = findScriptDefinition(file, project) ?: return ScriptDependencies.Empty
|
||||
val scriptDef = file.findScriptDefinition(project) ?: return ScriptDependencies.Empty
|
||||
|
||||
fileAttributeLoader.updateDependencies(file, scriptDef)
|
||||
|
||||
|
||||
+2
-2
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.idea.core.script.settings.KotlinScriptingSettings
|
||||
import org.jetbrains.kotlin.script.KotlinScriptDefinition
|
||||
import org.jetbrains.kotlin.script.LegacyResolverWrapper
|
||||
import org.jetbrains.kotlin.script.asResolveFailure
|
||||
import org.jetbrains.kotlin.script.findScriptDefinition
|
||||
import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.findScriptDefinition
|
||||
import java.util.concurrent.ConcurrentLinkedQueue
|
||||
import java.util.concurrent.locks.ReentrantReadWriteLock
|
||||
import kotlin.concurrent.write
|
||||
@@ -43,7 +43,7 @@ class AsyncScriptDependenciesLoader internal constructor(project: Project) : Scr
|
||||
override fun shouldShowNotification(): Boolean = !KotlinScriptingSettings.getInstance(project).isAutoReloadEnabled
|
||||
|
||||
private fun runDependenciesUpdate(file: VirtualFile) {
|
||||
val scriptDef = runReadAction { findScriptDefinition(file, project) } ?: return
|
||||
val scriptDef = runReadAction { file.findScriptDefinition(project) } ?: return
|
||||
// runBlocking is using there to avoid loading dependencies asynchronously
|
||||
// because it leads to starting more than one gradle daemon in case of resolving dependencies in build.gradle.kts
|
||||
// It is more efficient to use one hot daemon consistently than multiple daemon in parallel
|
||||
|
||||
+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.findScriptDefinition
|
||||
import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.findScriptDefinition
|
||||
|
||||
class KotlinScriptResolveScopeProvider : ResolveScopeProvider() {
|
||||
companion object {
|
||||
@@ -32,7 +32,7 @@ class KotlinScriptResolveScopeProvider : ResolveScopeProvider() {
|
||||
}
|
||||
|
||||
override fun getResolveScope(file: VirtualFile, project: Project): GlobalSearchScope? {
|
||||
val scriptDefinition = findScriptDefinition(file, project)
|
||||
val scriptDefinition = file.findScriptDefinition(project)
|
||||
// TODO: this should get this particular scripts dependencies
|
||||
return when {
|
||||
scriptDefinition == null -> null
|
||||
|
||||
Reference in New Issue
Block a user