mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[kotlin] Deprecate org.jetbrains.kotlin.idea.core.util.EDT
#KTIJ-30910 GitOrigin-RevId: 177f438ea07fd6cf1d06c22dc2309a885d6cb4ab
This commit is contained in:
committed by
intellij-monorepo-bot
parent
afc0a97ac9
commit
8b3ee81536
+2
-1
@@ -9,10 +9,11 @@ import com.intellij.openapi.application.ReadAction
|
||||
import com.intellij.openapi.components.Service
|
||||
import com.intellij.openapi.components.service
|
||||
import com.intellij.openapi.project.Project
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
|
||||
@Service(Service.Level.PROJECT)
|
||||
class KotlinPluginDisposable : Disposable {
|
||||
class KotlinPluginDisposable(val coroutineScope: CoroutineScope) : Disposable {
|
||||
@Volatile
|
||||
var disposed: Boolean = false
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.idea.util.application.isDispatchThread
|
||||
import kotlin.coroutines.AbstractCoroutineContextElement
|
||||
import kotlin.coroutines.CoroutineContext
|
||||
|
||||
@Deprecated("Use Dispatchers.EDT instead", replaceWith = ReplaceWith("Dispatchers.EDT"))
|
||||
object EDT : CoroutineDispatcher() {
|
||||
override fun isDispatchNeeded(context: CoroutineContext): Boolean = !isDispatchThread()
|
||||
|
||||
|
||||
+7
-6
@@ -2,16 +2,17 @@
|
||||
|
||||
package org.jetbrains.kotlin.idea.gradleJava.scripting.legacy
|
||||
|
||||
import com.intellij.openapi.application.runWriteAction
|
||||
import com.intellij.openapi.application.EDT
|
||||
import com.intellij.openapi.application.writeAction
|
||||
import com.intellij.openapi.fileEditor.FileDocumentManager
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import org.jetbrains.kotlin.idea.core.script.configuration.cache.CachedConfigurationInputs
|
||||
import org.jetbrains.kotlin.idea.core.script.configuration.loader.DefaultScriptConfigurationLoader
|
||||
import org.jetbrains.kotlin.idea.core.script.configuration.loader.ScriptConfigurationLoadingContext
|
||||
import org.jetbrains.kotlin.idea.core.util.EDT
|
||||
import org.jetbrains.kotlin.idea.gradleJava.scripting.getGradleScriptInputsStamp
|
||||
import org.jetbrains.kotlin.idea.gradleJava.scripting.isGradleKotlinScript
|
||||
import org.jetbrains.kotlin.idea.gradleJava.scripting.roots.GradleBuildRootsManager
|
||||
@@ -23,7 +24,7 @@ import org.jetbrains.kotlin.scripting.definitions.ScriptDefinition
|
||||
*
|
||||
* TODO(gradle6): remove
|
||||
*/
|
||||
class GradleLegacyScriptConfigurationLoader(project: Project) : DefaultScriptConfigurationLoader(project) {
|
||||
class GradleLegacyScriptConfigurationLoader(project: Project, private val coroutineScope: CoroutineScope) : DefaultScriptConfigurationLoader(project) {
|
||||
private val buildRootsManager
|
||||
get() = GradleBuildRootsManager.getInstanceSafe(project)
|
||||
|
||||
@@ -64,8 +65,8 @@ class GradleLegacyScriptConfigurationLoader(project: Project) : DefaultScriptCon
|
||||
}
|
||||
|
||||
// Gradle read files from FS, so let's save all docs
|
||||
GlobalScope.launch(EDT(project)) {
|
||||
runWriteAction {
|
||||
coroutineScope.launch(Dispatchers.EDT) {
|
||||
writeAction {
|
||||
FileDocumentManager.getInstance().saveAllDocuments()
|
||||
}
|
||||
}
|
||||
|
||||
+5
-4
@@ -3,6 +3,7 @@
|
||||
package org.jetbrains.kotlin.idea.gradleJava.scripting.roots
|
||||
|
||||
import com.intellij.codeInsight.daemon.DaemonCodeAnalyzer
|
||||
import com.intellij.openapi.application.EDT
|
||||
import com.intellij.openapi.application.runReadAction
|
||||
import com.intellij.openapi.diagnostic.ControlFlowException
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil
|
||||
@@ -14,7 +15,8 @@ import com.intellij.openapi.vfs.VfsUtil
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.psi.PsiManager
|
||||
import com.intellij.ui.EditorNotifications
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginModeProvider
|
||||
import org.jetbrains.kotlin.idea.caches.trackers.KotlinCodeBlockModificationListener
|
||||
@@ -27,7 +29,6 @@ import org.jetbrains.kotlin.idea.core.script.scriptingDebugLog
|
||||
import org.jetbrains.kotlin.idea.core.script.scriptingErrorLog
|
||||
import org.jetbrains.kotlin.idea.core.script.scriptingInfoLog
|
||||
import org.jetbrains.kotlin.idea.core.script.ucache.ScriptClassRootsBuilder
|
||||
import org.jetbrains.kotlin.idea.core.util.EDT
|
||||
import org.jetbrains.kotlin.idea.gradle.scripting.LastModifiedFiles
|
||||
import org.jetbrains.kotlin.idea.gradleJava.scripting.getGradleVersion
|
||||
import org.jetbrains.kotlin.idea.gradleJava.scripting.importing.KotlinDslGradleBuildSync
|
||||
@@ -66,7 +67,7 @@ import java.util.concurrent.atomic.AtomicBoolean
|
||||
* - [New] - not yet imported
|
||||
* - [Imported] - imported
|
||||
*/
|
||||
class GradleBuildRootsManager(val project: Project) : GradleBuildRootsLocator(project), ScriptingSupport {
|
||||
class GradleBuildRootsManager(val project: Project, private val coroutineScope: CoroutineScope) : GradleBuildRootsLocator(project), ScriptingSupport {
|
||||
private val manager: CompositeScriptConfigurationManager
|
||||
get() = ScriptConfigurationManager.getInstance(project) as CompositeScriptConfigurationManager
|
||||
|
||||
@@ -393,7 +394,7 @@ class GradleBuildRootsManager(val project: Project) : GradleBuildRootsLocator(pr
|
||||
|
||||
if (openedScripts.isEmpty()) return
|
||||
|
||||
GlobalScope.launch(EDT(project)) {
|
||||
coroutineScope.launch(Dispatchers.EDT) {
|
||||
if (project.isDisposed) return@launch
|
||||
|
||||
openedScripts.forEach {
|
||||
|
||||
+3
-2
@@ -8,6 +8,7 @@ import com.intellij.codeInsight.navigation.openFileWithPsiElement
|
||||
import com.intellij.openapi.actionSystem.ActionUpdateThread
|
||||
import com.intellij.openapi.actionSystem.AnAction
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent
|
||||
import com.intellij.openapi.application.EDT
|
||||
import com.intellij.openapi.application.runWriteAction
|
||||
import com.intellij.openapi.command.CommandProcessor
|
||||
import com.intellij.openapi.editor.EditorFactory
|
||||
@@ -30,8 +31,8 @@ import org.jetbrains.kotlin.idea.base.projectStructure.moduleInfoOrNull
|
||||
import org.jetbrains.kotlin.idea.base.psi.getLineCount
|
||||
import org.jetbrains.kotlin.idea.base.resources.KotlinBundle
|
||||
import org.jetbrains.kotlin.idea.completion.CompletionBenchmarkSink
|
||||
import org.jetbrains.kotlin.idea.core.KotlinPluginDisposable
|
||||
import org.jetbrains.kotlin.idea.core.moveCaret
|
||||
import org.jetbrains.kotlin.idea.core.util.EDT
|
||||
import org.jetbrains.kotlin.idea.core.util.toPsiFile
|
||||
import org.jetbrains.kotlin.idea.util.application.isApplicationInternalMode
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
@@ -46,7 +47,7 @@ abstract class AbstractCompletionBenchmarkAction : AnAction() {
|
||||
val benchmarkSink = CompletionBenchmarkSink.enableAndGet()
|
||||
val scenario = createBenchmarkScenario(project, benchmarkSink) ?: return
|
||||
|
||||
GlobalScope.launch(EDT) {
|
||||
KotlinPluginDisposable.getInstance(project).coroutineScope.launch(Dispatchers.EDT) {
|
||||
scenario.doBenchmark()
|
||||
CompletionBenchmarkSink.disable()
|
||||
}
|
||||
|
||||
+4
-3
@@ -11,6 +11,7 @@ import com.intellij.openapi.actionSystem.ActionManager
|
||||
import com.intellij.openapi.actionSystem.ActionUpdateThread
|
||||
import com.intellij.openapi.actionSystem.AnAction
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent
|
||||
import com.intellij.openapi.application.EDT
|
||||
import com.intellij.openapi.diagnostic.Logger
|
||||
import com.intellij.openapi.editor.impl.DocumentMarkupModel
|
||||
import com.intellij.openapi.project.Project
|
||||
@@ -19,7 +20,7 @@ import com.intellij.psi.PsiDocumentManager
|
||||
import com.intellij.ui.components.JBPanel
|
||||
import com.intellij.ui.components.JBTextField
|
||||
import com.intellij.uiDesigner.core.GridLayoutManager
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.channels.Channel
|
||||
import kotlinx.coroutines.channels.onClosed
|
||||
import kotlinx.coroutines.delay
|
||||
@@ -29,7 +30,7 @@ import org.jetbrains.kotlin.idea.actions.internal.benchmark.AbstractCompletionBe
|
||||
import org.jetbrains.kotlin.idea.actions.internal.benchmark.AbstractCompletionBenchmarkAction.Companion.shuffledSequence
|
||||
import org.jetbrains.kotlin.idea.base.psi.getLineCount
|
||||
import org.jetbrains.kotlin.idea.base.resources.KotlinBundle
|
||||
import org.jetbrains.kotlin.idea.core.util.EDT
|
||||
import org.jetbrains.kotlin.idea.core.KotlinPluginDisposable
|
||||
import org.jetbrains.kotlin.idea.util.application.isApplicationInternalMode
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import java.util.*
|
||||
@@ -70,7 +71,7 @@ class HighlightingBenchmarkAction : AnAction() {
|
||||
|
||||
val finishListener = DaemonFinishListener()
|
||||
connection.subscribe(DaemonCodeAnalyzer.DAEMON_EVENT_TOPIC, finishListener)
|
||||
GlobalScope.launch(EDT) {
|
||||
KotlinPluginDisposable.getInstance(project).coroutineScope.launch(Dispatchers.EDT) {
|
||||
try {
|
||||
delay(100)
|
||||
ktFiles
|
||||
|
||||
@@ -3,9 +3,10 @@
|
||||
package org.jetbrains.kotlin.j2k
|
||||
|
||||
import com.intellij.openapi.application.ApplicationManager
|
||||
import com.intellij.openapi.application.ModalityState
|
||||
import com.intellij.openapi.application.runReadAction
|
||||
import com.intellij.openapi.application.EDT
|
||||
import com.intellij.openapi.application.readAction
|
||||
import com.intellij.openapi.application.runWriteAction
|
||||
import com.intellij.openapi.application.writeAction
|
||||
import com.intellij.openapi.diagnostic.ControlFlowException
|
||||
import com.intellij.openapi.editor.RangeMarker
|
||||
import com.intellij.openapi.editor.asTextRange
|
||||
@@ -14,12 +15,11 @@ import com.intellij.openapi.util.TextRange
|
||||
import com.intellij.psi.PsiElement
|
||||
import com.intellij.psi.PsiRecursiveElementVisitor
|
||||
import com.intellij.psi.codeStyle.CodeStyleManager
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import kotlinx.coroutines.withContext
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveImportReference
|
||||
import org.jetbrains.kotlin.idea.core.KotlinPluginDisposable
|
||||
import org.jetbrains.kotlin.idea.core.util.EDT
|
||||
import org.jetbrains.kotlin.idea.util.ImportInsertHelper
|
||||
import org.jetbrains.kotlin.j2k.PostProcessingTarget.MultipleFilesPostProcessingTarget
|
||||
import org.jetbrains.kotlin.j2k.PostProcessingTarget.PieceOfCodePostProcessingTarget
|
||||
@@ -59,14 +59,14 @@ class OldJ2kPostProcessor(private val formatCode: Boolean = true) : PostProcesso
|
||||
|
||||
val disposable = KotlinPluginDisposable.getInstance(file.project)
|
||||
|
||||
runBlocking(EDT.ModalityStateElement(ModalityState.defaultModalityState())) {
|
||||
disposable.coroutineScope.launch(Dispatchers.EDT) {
|
||||
do {
|
||||
var modificationStamp: Long? = file.modificationStamp
|
||||
val elementToActions: List<ActionData> = run {
|
||||
@Suppress("DEPRECATION")
|
||||
while (!Disposer.isDisposed(disposable)) {
|
||||
try {
|
||||
return@run runReadAction {
|
||||
return@run readAction {
|
||||
collectAvailableActions(file, rangeMarker)
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
@@ -77,11 +77,11 @@ class OldJ2kPostProcessor(private val formatCode: Boolean = true) : PostProcesso
|
||||
emptyList()
|
||||
}
|
||||
|
||||
withContext(EDT) {
|
||||
launch(Dispatchers.EDT) {
|
||||
for ((element, action, _, writeActionNeeded) in elementToActions) {
|
||||
if (element.isValid) {
|
||||
if (writeActionNeeded) {
|
||||
runWriteAction {
|
||||
writeAction {
|
||||
action()
|
||||
}
|
||||
} else {
|
||||
@@ -98,8 +98,8 @@ class OldJ2kPostProcessor(private val formatCode: Boolean = true) : PostProcesso
|
||||
|
||||
|
||||
if (formatCode) {
|
||||
withContext(EDT) {
|
||||
runWriteAction {
|
||||
launch(Dispatchers.EDT) {
|
||||
writeAction {
|
||||
val codeStyleManager = CodeStyleManager.getInstance(file.project)
|
||||
if (rangeMarker != null) {
|
||||
if (rangeMarker.isValid) {
|
||||
|
||||
Reference in New Issue
Block a user