From b43ceab880aa11af66b5c254dafd6798fd21e514 Mon Sep 17 00:00:00 2001 From: Marco Pennekamp Date: Fri, 17 Nov 2023 18:04:04 +0100 Subject: [PATCH] [AA] Avoid running modifiable PSI tests on the EDT - `runWriteCommandAction`, which is required for PSI modification functions like `PsiElement.delete`, must be invoked on the EDT. However, instead of `runWriteCommandAction` we can use `runUndoTransparentAction`, which does not need to be run on the EDT and fulfills the same requirement. ^KT-63560 --- .../AbstractLowLevelApiModifiablePsiSingleFileTest.kt | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/test/base/AbstractLowLevelApiModifiablePsiSingleFileTest.kt b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/test/base/AbstractLowLevelApiModifiablePsiSingleFileTest.kt index 03290724660..5d9a3e44aa5 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/test/base/AbstractLowLevelApiModifiablePsiSingleFileTest.kt +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/test/base/AbstractLowLevelApiModifiablePsiSingleFileTest.kt @@ -5,8 +5,7 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.test.base -import com.intellij.openapi.application.ApplicationManager -import com.intellij.openapi.command.WriteCommandAction +import com.intellij.openapi.command.CommandProcessor import org.jetbrains.kotlin.analysis.api.impl.base.test.configurators.AnalysisApiModifiablePsiTestServiceRegistrar import org.jetbrains.kotlin.analysis.low.level.api.fir.test.configurators.AnalysisApiFirSourceTestConfigurator import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiTestConfigurator @@ -25,11 +24,9 @@ abstract class AbstractLowLevelApiModifiablePsiSingleFileTest : AbstractLowLevel abstract fun doTestWithPsiModification(ktFile: KtFile, moduleStructure: TestModuleStructure, testServices: TestServices) final override fun doTestByFileStructure(ktFile: KtFile, moduleStructure: TestModuleStructure, testServices: TestServices) { - ApplicationManager.getApplication().invokeAndWait { + CommandProcessor.getInstance().runUndoTransparentAction { runWriteAction { - WriteCommandAction.runWriteCommandAction(ktFile.project) { - doTestWithPsiModification(ktFile, moduleStructure, testServices) - } + doTestWithPsiModification(ktFile, moduleStructure, testServices) } } }