mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[kotlin] remove deprecated script api usage
GitOrigin-RevId: f1b1c04af066810ec1e702fa5139f9fe6230a1fe
This commit is contained in:
committed by
intellij-monorepo-bot
parent
ae4b109e24
commit
f2484b780b
+2
-2
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.idea.core.script.configuration.CompositeScriptConfig
|
||||
import org.jetbrains.kotlin.idea.core.script.configuration.DefaultScriptingSupport
|
||||
import org.jetbrains.kotlin.idea.util.application.isUnitTestMode
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.scripting.definitions.ScriptDependenciesProvider
|
||||
import org.jetbrains.kotlin.scripting.definitions.ScriptConfigurationsProvider
|
||||
import org.jetbrains.kotlin.scripting.resolve.ScriptCompilationConfigurationResult
|
||||
import org.jetbrains.kotlin.scripting.resolve.ScriptCompilationConfigurationWrapper
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.cast
|
||||
@@ -37,7 +37,7 @@ import kotlin.script.experimental.api.makeFailureResult
|
||||
|
||||
// NOTE: this service exists exclusively because ScriptDependencyManager
|
||||
// cannot be registered as implementing two services (state would be duplicated)
|
||||
internal class IdeScriptDependenciesProvider(project: Project) : ScriptDependenciesProvider(project) {
|
||||
internal class IdeScriptDependenciesProvider(project: Project) : ScriptConfigurationsProvider(project) {
|
||||
override fun getScriptConfigurationResult(file: KtFile): ScriptCompilationConfigurationResult? {
|
||||
val configuration = getScriptConfiguration(file)
|
||||
val reports = IdeScriptReportSink.getReports(file)
|
||||
|
||||
-6
@@ -114,12 +114,6 @@ open class ScriptDefinitionsManager(private val project: Project) : LazyScriptDe
|
||||
return definition
|
||||
}
|
||||
|
||||
@Deprecated("Migrating to configuration refinement", level = DeprecationLevel.ERROR)
|
||||
override fun findScriptDefinition(fileName: String): KotlinScriptDefinition? {
|
||||
@Suppress("DEPRECATION")
|
||||
return findDefinition(File(fileName).toScriptSource())?.legacyDefinition
|
||||
}
|
||||
|
||||
/**
|
||||
* Goes through the list of registered [ScriptDefinitionsSource]s and triggers definitions reload.
|
||||
* Result of previous reloads is invalidated including those launched via [reloadDefinitionsBy].
|
||||
|
||||
+2
-2
@@ -7,7 +7,7 @@ import com.intellij.openapi.projectRoots.Sdk
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.psi.search.GlobalSearchScope
|
||||
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginModeProvider
|
||||
import org.jetbrains.kotlin.scripting.definitions.ScriptDependenciesProvider
|
||||
import org.jetbrains.kotlin.scripting.definitions.ScriptConfigurationsProvider
|
||||
|
||||
interface ScriptDependencyAware {
|
||||
fun getAllScriptDependenciesSources(): Collection<VirtualFile>
|
||||
@@ -25,7 +25,7 @@ interface ScriptDependencyAware {
|
||||
companion object {
|
||||
fun getInstance(project: Project): ScriptDependencyAware {
|
||||
return if (KotlinPluginModeProvider.isK2Mode()) {
|
||||
project.serviceIfCreated<ScriptDependenciesProvider>() as? ScriptDependencyAware ?: EMPTY
|
||||
project.serviceIfCreated<ScriptConfigurationsProvider>() as? ScriptDependencyAware ?: EMPTY
|
||||
} else {
|
||||
ScriptConfigurationManager.getInstance(project)
|
||||
}
|
||||
|
||||
+2
-3
@@ -4,7 +4,6 @@ package org.jetbrains.kotlin.idea.core.script
|
||||
|
||||
import com.intellij.codeInsight.daemon.impl.SeverityRegistrar
|
||||
import com.intellij.codeInsight.daemon.impl.TrafficLightRenderer
|
||||
import com.intellij.codeInsight.daemon.impl.TrafficLightRenderer.DaemonCodeAnalyzerStatus
|
||||
import com.intellij.codeInsight.daemon.impl.TrafficLightRendererContributor
|
||||
import com.intellij.openapi.application.runReadAction
|
||||
import com.intellij.openapi.editor.Document
|
||||
@@ -14,7 +13,7 @@ import com.intellij.psi.PsiFile
|
||||
import com.intellij.util.concurrency.annotations.RequiresBackgroundThread
|
||||
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginModeProvider
|
||||
import org.jetbrains.kotlin.idea.base.scripting.KotlinBaseScriptingBundle
|
||||
import org.jetbrains.kotlin.idea.core.script.k2.ScriptConfigurationDataProvider
|
||||
import org.jetbrains.kotlin.idea.core.script.k2.ScriptConfigurationsProviderImpl
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
|
||||
internal class ScriptTrafficLightRendererContributor : TrafficLightRendererContributor {
|
||||
@@ -30,7 +29,7 @@ internal class ScriptTrafficLightRendererContributor : TrafficLightRendererContr
|
||||
val status = super.getDaemonCodeAnalyzerStatus(severityRegistrar)
|
||||
|
||||
if (KotlinPluginModeProvider.isK2Mode()) {
|
||||
if (ScriptConfigurationDataProvider.getInstanceIfCreated(project)?.getScriptConfiguration(file) == null) {
|
||||
if (ScriptConfigurationsProviderImpl.getInstanceIfCreated(project)?.getScriptConfiguration(file) == null) {
|
||||
status.reasonWhySuspended = KotlinBaseScriptingBundle.message("text.loading.kotlin.script.configuration")
|
||||
status.errorAnalyzingFinished = false
|
||||
}
|
||||
|
||||
+2
-2
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.idea.isEnabled
|
||||
import org.jetbrains.kotlin.idea.util.isKotlinFileType
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.scripting.definitions.ScriptDefinition
|
||||
import org.jetbrains.kotlin.scripting.definitions.ScriptDependenciesProvider
|
||||
import org.jetbrains.kotlin.scripting.definitions.ScriptConfigurationsProvider
|
||||
import org.jetbrains.kotlin.scripting.definitions.findScriptDefinition
|
||||
import kotlin.script.experimental.api.ScriptCompilationConfiguration
|
||||
import kotlin.script.experimental.api.isStandalone
|
||||
@@ -110,7 +110,7 @@ class KotlinScriptResolveScopeProvider : ResolveScopeProvider() {
|
||||
}
|
||||
|
||||
private fun KtFile.isStandaloneScriptByDesign(project: Project, definition: ScriptDefinition): Boolean {
|
||||
val configuration = ScriptDependenciesProvider.getInstance(project)?.getScriptConfiguration(this)?.configuration
|
||||
val configuration = ScriptConfigurationsProvider.getInstance(project)?.getScriptConfiguration(this)?.configuration
|
||||
?: definition.compilationConfiguration
|
||||
val isStandalone = configuration[ScriptCompilationConfiguration.isStandalone] == true
|
||||
debugLog { "standalone-by-design: $isStandalone" }
|
||||
|
||||
+6
-6
@@ -16,7 +16,7 @@ import org.jetbrains.kotlin.idea.core.script.SCRIPT_DEPENDENCIES_SOURCES
|
||||
import org.jetbrains.kotlin.idea.core.script.ScriptConfigurationManager.Companion.toVfsRoots
|
||||
import org.jetbrains.kotlin.idea.core.script.ScriptDependencyAware
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.scripting.definitions.ScriptDependenciesProvider
|
||||
import org.jetbrains.kotlin.scripting.definitions.ScriptConfigurationsProvider
|
||||
import org.jetbrains.kotlin.scripting.resolve.ScriptCompilationConfigurationResult
|
||||
import org.jetbrains.kotlin.scripting.resolve.ScriptCompilationConfigurationWrapper
|
||||
import java.nio.file.Path
|
||||
@@ -38,7 +38,7 @@ class ScriptDependenciesData(
|
||||
)
|
||||
}
|
||||
|
||||
class ScriptConfigurationDataProvider(project: Project) : ScriptDependenciesProvider(project), ScriptDependencyAware {
|
||||
class ScriptConfigurationsProviderImpl(project: Project) : ScriptConfigurationsProvider(project), ScriptDependencyAware {
|
||||
private val scriptDependenciesData = AtomicReference(ScriptDependenciesData())
|
||||
|
||||
fun notifySourceUpdated() {
|
||||
@@ -121,11 +121,11 @@ class ScriptConfigurationDataProvider(project: Project) : ScriptDependenciesProv
|
||||
private val KtFile.alwaysVirtualFile: VirtualFile get() = originalFile.virtualFile ?: viewProvider.virtualFile
|
||||
|
||||
companion object {
|
||||
fun getInstance(project: Project): ScriptConfigurationDataProvider =
|
||||
project.service<ScriptDependenciesProvider>() as ScriptConfigurationDataProvider
|
||||
fun getInstance(project: Project): ScriptConfigurationsProviderImpl =
|
||||
project.service<ScriptConfigurationsProvider>() as ScriptConfigurationsProviderImpl
|
||||
|
||||
fun getInstanceIfCreated(project: Project): ScriptConfigurationDataProvider? =
|
||||
project.serviceIfCreated<ScriptDependenciesProvider>() as? ScriptConfigurationDataProvider
|
||||
fun getInstanceIfCreated(project: Project): ScriptConfigurationsProviderImpl? =
|
||||
project.serviceIfCreated<ScriptConfigurationsProvider>() as? ScriptConfigurationsProviderImpl
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@ abstract class ScriptDependenciesSource<T : BaseScriptModel>(open val project: P
|
||||
updateModules(dependencies, storage)
|
||||
currentConfigurationsData.set(dependencies)
|
||||
|
||||
ScriptConfigurationDataProvider.getInstance(project).notifySourceUpdated()
|
||||
ScriptConfigurationsProviderImpl.getInstance(project).notifySourceUpdated()
|
||||
|
||||
writeAction {
|
||||
project.analysisMessageBus.syncPublisher(KotlinModificationTopics.GLOBAL_MODULE_STATE_MODIFICATION).onModification()
|
||||
|
||||
+15
-4
@@ -14,6 +14,9 @@ import com.intellij.util.PathUtil
|
||||
import com.intellij.util.lang.UrlClassLoader
|
||||
import org.jetbrains.kotlin.scripting.definitions.ScriptDefinition
|
||||
import org.jetbrains.kotlin.scripting.definitions.ScriptDefinitionsSource
|
||||
import org.jetbrains.kotlin.scripting.definitions.ScriptDefinition.FromLegacy
|
||||
import org.jetbrains.kotlin.scripting.definitions.getEnvironment
|
||||
import org.jetbrains.kotlin.scripting.resolve.KotlinScriptDefinitionFromAnnotatedTemplate
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
|
||||
import java.io.File
|
||||
import java.nio.file.Files
|
||||
@@ -81,14 +84,22 @@ fun loadDefinitionsFromTemplatesByPaths(
|
||||
}
|
||||
|
||||
when {
|
||||
template.annotations.firstIsInstanceOrNull<kotlin.script.templates.ScriptTemplateDefinition>() != null -> {
|
||||
ScriptDefinition.FromLegacyTemplate(hostConfiguration, template, templateClasspathAsFiles, defaultCompilerOptions)
|
||||
}
|
||||
|
||||
template.annotations.firstIsInstanceOrNull<kotlin.script.experimental.annotations.KotlinScript>() != null -> {
|
||||
ScriptDefinition.FromTemplate(hostConfiguration, template, ScriptDefinition::class, defaultCompilerOptions)
|
||||
}
|
||||
|
||||
template.annotations.firstIsInstanceOrNull<kotlin.script.templates.ScriptTemplateDefinition>() != null -> {
|
||||
FromLegacy(
|
||||
hostConfiguration,
|
||||
KotlinScriptDefinitionFromAnnotatedTemplate(
|
||||
template,
|
||||
hostConfiguration[ScriptingHostConfiguration.getEnvironment]?.invoke(),
|
||||
templateClasspathAsFiles
|
||||
),
|
||||
defaultCompilerOptions
|
||||
)
|
||||
}
|
||||
|
||||
else -> {
|
||||
scriptingWarnLog("Cannot find a valid script definition annotation on the class $template")
|
||||
null
|
||||
|
||||
-3
@@ -256,10 +256,7 @@ class ScriptDefinitionsManagerTest {
|
||||
@Test
|
||||
fun `Default definition is available via both new and legacy API`() {
|
||||
val defaultDefinition = manager.getDefaultDefinition()
|
||||
val defaultScriptDefinition = manager.getDefaultScriptDefinition()
|
||||
|
||||
assertNotNull(defaultDefinition.asLegacyOrNull<LegacyBundledIdeScriptDefinition>())
|
||||
assertInstanceOf(LegacyBundledIdeScriptDefinition::class.java, defaultScriptDefinition)
|
||||
}
|
||||
|
||||
|
||||
|
||||
+2
-2
@@ -10,7 +10,7 @@ import org.jetbrains.kotlin.idea.base.projectStructure.languageVersionSettings
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.resolve.ImportPath
|
||||
import org.jetbrains.kotlin.scripting.definitions.ScriptDependenciesProvider
|
||||
import org.jetbrains.kotlin.scripting.definitions.ScriptConfigurationsProvider
|
||||
|
||||
@Service
|
||||
@ApiStatus.Experimental
|
||||
@@ -34,7 +34,7 @@ class KotlinIdeDefaultImportProvider {
|
||||
val allDefaultImports = analyzerServices.getDefaultImports(languageVersionSettings, includeLowPriorityImports = true)
|
||||
|
||||
val scriptExtraImports = contextFile.takeIf { it.isScript() }?.let { ktFile ->
|
||||
val scriptDependencies = ScriptDependenciesProvider.getInstance(ktFile.project)
|
||||
val scriptDependencies = ScriptConfigurationsProvider.getInstance(ktFile.project)
|
||||
?.getScriptConfiguration(ktFile.originalFile as KtFile)
|
||||
scriptDependencies?.defaultImports?.map { ImportPath.fromString(it) }
|
||||
scriptDependencies?.defaultImports?.map { ImportPath.fromString(it) }
|
||||
|
||||
+2
-2
@@ -6,7 +6,7 @@ import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.vfs.StandardFileSystems
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginModeProvider
|
||||
import org.jetbrains.kotlin.idea.core.script.k2.ScriptConfigurationDataProvider
|
||||
import org.jetbrains.kotlin.idea.core.script.k2.ScriptConfigurationsProviderImpl
|
||||
import kotlin.script.experimental.api.valueOrNull
|
||||
|
||||
/**
|
||||
@@ -116,7 +116,7 @@ abstract class GradleBuildRootsLocator(private val project: Project) {
|
||||
get() {
|
||||
if (KotlinPluginModeProvider.isK2Mode()) {
|
||||
val virtualFile = StandardFileSystems.local()?.refreshAndFindFileByPath(filePath) ?: return false
|
||||
return ScriptConfigurationDataProvider.getInstanceIfCreated(project)?.getConfiguration(virtualFile)?.valueOrNull() != null
|
||||
return ScriptConfigurationsProviderImpl.getInstanceIfCreated(project)?.getConfiguration(virtualFile)?.valueOrNull() != null
|
||||
}
|
||||
return script != null
|
||||
}
|
||||
|
||||
+2
-2
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.idea.core.script.IdeScriptReportSink
|
||||
import org.jetbrains.kotlin.idea.core.script.ScriptDependenciesModificationTracker
|
||||
import org.jetbrains.kotlin.psi.KtCodeFragment
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.scripting.definitions.ScriptDependenciesProvider
|
||||
import org.jetbrains.kotlin.scripting.definitions.ScriptConfigurationsProvider
|
||||
import kotlin.script.experimental.api.ScriptDiagnostic
|
||||
|
||||
@ApiStatus.Internal
|
||||
@@ -86,4 +86,4 @@ private fun KtFile.calculateShouldHighlightScript(): Boolean {
|
||||
}
|
||||
|
||||
private fun KtFile.isConfigurationLoaded(): Boolean =
|
||||
ScriptDependenciesProvider.getInstance(project)?.getScriptConfiguration(this) != null
|
||||
ScriptConfigurationsProvider.getInstance(project)?.getScriptConfiguration(this) != null
|
||||
+2
-2
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.idea.codeinsight.utils.KotlinSupportAvailability
|
||||
import org.jetbrains.kotlin.idea.core.util.toPsiFile
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.psi.NotNullableUserDataProperty
|
||||
import org.jetbrains.kotlin.scripting.definitions.ScriptDependenciesProvider
|
||||
import org.jetbrains.kotlin.scripting.definitions.ScriptConfigurationsProvider
|
||||
|
||||
var VirtualFile.isKotlinDecompiledFile: Boolean by NotNullableUserDataProperty(Key.create("IS_KOTLIN_DECOMPILED_FILE"), false)
|
||||
|
||||
@@ -28,7 +28,7 @@ class KotlinDefaultHighlightingSettingsProvider : DefaultHighlightingSettingProv
|
||||
return when {
|
||||
psiFile is KtFile ->
|
||||
when {
|
||||
psiFile.isScript() && ScriptDependenciesProvider.getInstance(project)?.getScriptConfiguration(psiFile) == null ->
|
||||
psiFile.isScript() && ScriptConfigurationsProvider.getInstance(project)?.getScriptConfiguration(psiFile) == null ->
|
||||
FileHighlightingSetting.SKIP_HIGHLIGHTING
|
||||
|
||||
psiFile.isCompiled -> FileHighlightingSetting.SKIP_INSPECTION
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
<projectService serviceInterface="org.jetbrains.kotlin.idea.core.script.ScriptConfigurationManager"
|
||||
serviceImplementation="org.jetbrains.kotlin.idea.core.script.configuration.CompositeScriptConfigurationManager"/>
|
||||
|
||||
<projectService serviceInterface="org.jetbrains.kotlin.scripting.definitions.ScriptDependenciesProvider"
|
||||
<projectService serviceInterface="org.jetbrains.kotlin.scripting.definitions.ScriptConfigurationsProvider"
|
||||
serviceImplementation="org.jetbrains.kotlin.idea.core.script.IdeScriptDependenciesProvider"/>
|
||||
|
||||
<projectService serviceInterface="org.jetbrains.kotlin.scripting.resolve.ScriptReportSink"
|
||||
|
||||
@@ -83,8 +83,8 @@
|
||||
<projectService serviceInterface="org.jetbrains.kotlin.idea.core.script.ScriptConfigurationManager"
|
||||
serviceImplementation="org.jetbrains.kotlin.idea.core.script.configuration.CompositeScriptConfigurationManager"/>
|
||||
|
||||
<projectService serviceInterface="org.jetbrains.kotlin.scripting.definitions.ScriptDependenciesProvider"
|
||||
serviceImplementation="org.jetbrains.kotlin.idea.core.script.k2.ScriptConfigurationDataProvider"/>
|
||||
<projectService serviceInterface="org.jetbrains.kotlin.scripting.definitions.ScriptConfigurationsProvider"
|
||||
serviceImplementation="org.jetbrains.kotlin.idea.core.script.k2.ScriptConfigurationsProviderImpl"/>
|
||||
|
||||
<projectService serviceInterface="org.jetbrains.kotlin.scripting.resolve.ScriptReportSink"
|
||||
serviceImplementation="org.jetbrains.kotlin.idea.core.script.IdeScriptReportSink"/>
|
||||
|
||||
Reference in New Issue
Block a user