From bb5f605c218ebefe1feebacce4adee8a036d77ba Mon Sep 17 00:00:00 2001 From: Haruki Okada Date: Fri, 6 Sep 2024 23:37:59 +0900 Subject: [PATCH] Address deprecated APIs fixes #40 --- build.gradle | 28 ++++++------------- .../ide/actions/EvaluateExpressionAction.java | 6 ++++ .../EvaluateExpressionOnModuleAction.java | 3 +- .../ide/actions/TLAplusActionBase.java | 12 ++++---- .../tlaplus/psi/TLAplusSynonymElement.java | 2 ++ .../run/TLCRunLineMarkerContributor.java | 4 +-- .../run/ui/TLCTestConsoleProperties.java | 10 ++----- 7 files changed, 31 insertions(+), 34 deletions(-) diff --git a/build.gradle b/build.gradle index b5ea089..2012504 100644 --- a/build.gradle +++ b/build.gradle @@ -11,7 +11,7 @@ buildscript { dependencies { classpath "org.jetbrains.intellij.plugins:gradle-intellij-plugin:1.13.3" - classpath "org.jetbrains.intellij.plugins:gradle-grammarkit-plugin:2022.3.1" + classpath "org.jetbrains.intellij.plugins:gradle-grammarkit-plugin:2022.3.2.2" } } @@ -70,35 +70,29 @@ java { task generateTLAplusLexer(type: GenerateLexerTask) { sourceFile.set(file("src/main/grammar/tlaplus.flex")) - targetDir.set("src/gen/com/mayreh/intellij/plugin/tlaplus/lexer") - targetClass.set("_TLAplusLexer") + targetOutputDir.set(layout.projectDirectory.dir("src/gen/com/mayreh/intellij/plugin/tlaplus/lexer")) purgeOldFiles.set(true) } task generateTLAplusModuleBeginLexer(type: GenerateLexerTask) { sourceFile.set(file("src/main/grammar/tlaplus_modulebegin.flex")) - targetDir.set("src/gen/com/mayreh/intellij/plugin/tlaplus/lexer") - targetClass.set("_TLAplusModuleBeginLexer") - purgeOldFiles.set(true) + targetOutputDir.set(layout.projectDirectory.dir("src/gen/com/mayreh/intellij/plugin/tlaplus/lexer")) } task generateTLAplusPlusCalCommentLexer(type: GenerateLexerTask) { sourceFile.set(file("src/main/grammar/tlaplus_plus_cal_comment.flex")) - targetDir.set("src/gen/com/mayreh/intellij/plugin/tlaplus/lexer") - targetClass.set("_TLAplusPlusCalCommentLexer") - purgeOldFiles.set(true) + targetOutputDir.set(layout.projectDirectory.dir("src/gen/com/mayreh/intellij/plugin/tlaplus/lexer")) } task generateTLCErrorTraceLexer(type: GenerateLexerTask) { sourceFile.set(file("src/main/grammar/tlc_error_trace.flex")) - targetDir.set("src/gen/com/mayreh/intellij/plugin/tlaplus/tlc/lexer") - targetClass.set("_TLCErrorTraceLexer") + targetOutputDir.set(layout.projectDirectory.dir("src/gen/com/mayreh/intellij/plugin/tlaplus/tlc/lexer")) purgeOldFiles.set(true) } task generateTLAplusParser(type: GenerateParserTask) { sourceFile.set(file("src/main/grammar/tlaplus.bnf")) - targetRoot.set("src/gen") + targetRootOutputDir.set(layout.projectDirectory.dir("src/gen")) pathToParser.set("/com/mayreh/intellij/plugin/tlaplus/parser/TLAplusParser.java") pathToPsiRoot.set("/com/mayreh/intellij/plugin/tlaplus/psi") purgeOldFiles.set(true) @@ -106,23 +100,19 @@ task generateTLAplusParser(type: GenerateParserTask) { task generateTLCConfigParser(type: GenerateParserTask) { sourceFile.set(file("src/main/grammar/tlc_config.bnf")) - targetRoot.set("src/gen") + targetRootOutputDir.set(layout.projectDirectory.dir("src/gen")) pathToParser.set("/com/mayreh/intellij/plugin/tlc/parser/TLCConfigParser.java") pathToPsiRoot.set("/com/mayreh/intellij/plugin/tlc/psi") - purgeOldFiles.set(true) } task generateTLCConfigLexer(type: GenerateLexerTask) { sourceFile.set(file("src/main/grammar/tlc_config.flex")) - targetDir.set("src/gen/com/mayreh/intellij/plugin/tlc/lexer") - targetClass.set("_TLCConfigLexer") - purgeOldFiles.set(true) + targetOutputDir.set(layout.projectDirectory.dir("src/gen/com/mayreh/intellij/plugin/tlc/lexer")) } task generatePlusCalAlgorithmBeginLexer(type: GenerateLexerTask) { sourceFile.set(file("src/main/grammar/plus_cal_algorithmbegin.flex")) - targetDir.set("src/gen/com/mayreh/intellij/plugin/pluscal/lexer") - targetClass.set("_PlusCalAlgorithmBeginLexer") + targetOutputDir.set(layout.projectDirectory.dir("src/gen/com/mayreh/intellij/plugin/pluscal/lexer")) purgeOldFiles.set(true) } diff --git a/src/main/java/com/mayreh/intellij/plugin/tlaplus/ide/actions/EvaluateExpressionAction.java b/src/main/java/com/mayreh/intellij/plugin/tlaplus/ide/actions/EvaluateExpressionAction.java index ab51560..0886fd7 100644 --- a/src/main/java/com/mayreh/intellij/plugin/tlaplus/ide/actions/EvaluateExpressionAction.java +++ b/src/main/java/com/mayreh/intellij/plugin/tlaplus/ide/actions/EvaluateExpressionAction.java @@ -4,6 +4,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import com.intellij.openapi.actionSystem.ActionUpdateThread; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.project.DumbAwareAction; @@ -30,6 +31,11 @@ public void update(@NotNull AnActionEvent e) { e.getPresentation().setEnabled(e.getProject() != null); } + @Override + public @NotNull ActionUpdateThread getActionUpdateThread() { + return ActionUpdateThread.BGT; + } + @Override public void actionPerformed(@NotNull AnActionEvent e) { if (e.getProject() == null) { diff --git a/src/main/java/com/mayreh/intellij/plugin/tlaplus/ide/actions/EvaluateExpressionOnModuleAction.java b/src/main/java/com/mayreh/intellij/plugin/tlaplus/ide/actions/EvaluateExpressionOnModuleAction.java index 0ee219a..c51c7af 100644 --- a/src/main/java/com/mayreh/intellij/plugin/tlaplus/ide/actions/EvaluateExpressionOnModuleAction.java +++ b/src/main/java/com/mayreh/intellij/plugin/tlaplus/ide/actions/EvaluateExpressionOnModuleAction.java @@ -7,6 +7,7 @@ import org.jetbrains.annotations.Nullable; import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.fileEditor.FileDocumentManager; import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.project.Project; @@ -44,7 +45,7 @@ protected void doAction(@NotNull AnActionEvent e, } Pair context = maybeContext(currentModuleName, document); - FileDocumentManager.getInstance().saveAllDocuments(); + ApplicationManager.getApplication().invokeLater(() -> FileDocumentManager.getInstance().saveAllDocuments()); new EvaluateExpressionDialog(project, context == null ? null : context.first, new XDebuggerEditorsProviderBase() { @Override diff --git a/src/main/java/com/mayreh/intellij/plugin/tlaplus/ide/actions/TLAplusActionBase.java b/src/main/java/com/mayreh/intellij/plugin/tlaplus/ide/actions/TLAplusActionBase.java index 3a8c8f1..81acf02 100644 --- a/src/main/java/com/mayreh/intellij/plugin/tlaplus/ide/actions/TLAplusActionBase.java +++ b/src/main/java/com/mayreh/intellij/plugin/tlaplus/ide/actions/TLAplusActionBase.java @@ -3,12 +3,12 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import com.intellij.openapi.actionSystem.ActionUpdateThread; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.CommonDataKeys; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.fileEditor.FileDocumentManager; -import com.intellij.openapi.fileEditor.FileEditorManager; import com.intellij.openapi.project.DumbAwareAction; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; @@ -41,6 +41,11 @@ public void update(@NotNull AnActionEvent e) { e.getPresentation().setEnabled(currentDocument(e) != null); } + @Override + public @NotNull ActionUpdateThread getActionUpdateThread() { + return ActionUpdateThread.BGT; + } + @Override public void actionPerformed(@NotNull AnActionEvent e) { TLAplusDocument document = currentDocument(e); @@ -57,10 +62,7 @@ public void actionPerformed(@NotNull AnActionEvent e) { if (project == null) { return null; } - Editor editor = e.getData(CommonDataKeys.EDITOR_EVEN_IF_INACTIVE); - if (editor == null) { - editor = FileEditorManager.getInstance(project).getSelectedTextEditor(); - } + Editor editor = e.getData(CommonDataKeys.EDITOR); if (editor == null) { return null; } diff --git a/src/main/java/com/mayreh/intellij/plugin/tlaplus/psi/TLAplusSynonymElement.java b/src/main/java/com/mayreh/intellij/plugin/tlaplus/psi/TLAplusSynonymElement.java index ad630ec..d5c000d 100644 --- a/src/main/java/com/mayreh/intellij/plugin/tlaplus/psi/TLAplusSynonymElement.java +++ b/src/main/java/com/mayreh/intellij/plugin/tlaplus/psi/TLAplusSynonymElement.java @@ -220,6 +220,7 @@ public PsiElement addAfter(@NotNull PsiElement element, @Nullable PsiElement anc } @Override + @SuppressWarnings("deprecation") public void checkAdd(@NotNull PsiElement element) { delegate.checkAdd(element); } @@ -245,6 +246,7 @@ public void delete() { } @Override + @SuppressWarnings("deprecation") public void checkDelete() { delegate.checkDelete(); } diff --git a/src/main/java/com/mayreh/intellij/plugin/tlaplus/run/TLCRunLineMarkerContributor.java b/src/main/java/com/mayreh/intellij/plugin/tlaplus/run/TLCRunLineMarkerContributor.java index 1ee0a6a..28f48f3 100644 --- a/src/main/java/com/mayreh/intellij/plugin/tlaplus/run/TLCRunLineMarkerContributor.java +++ b/src/main/java/com/mayreh/intellij/plugin/tlaplus/run/TLCRunLineMarkerContributor.java @@ -21,7 +21,7 @@ public class TLCRunLineMarkerContributor extends RunLineMarkerContributor { return null; } AnAction[] actions = ExecutorAction.getActions(0); - return new Info(TestState.Run, e -> - StringUtil.join(ContainerUtil.mapNotNull(actions, a -> getText(a, e)), "\n"), actions); + return new Info(TestState.Run, actions, e -> + StringUtil.join(ContainerUtil.mapNotNull(actions, a -> getText(a, e)), "\n")); } } diff --git a/src/main/java/com/mayreh/intellij/plugin/tlaplus/run/ui/TLCTestConsoleProperties.java b/src/main/java/com/mayreh/intellij/plugin/tlaplus/run/ui/TLCTestConsoleProperties.java index 14e764c..d791257 100644 --- a/src/main/java/com/mayreh/intellij/plugin/tlaplus/run/ui/TLCTestConsoleProperties.java +++ b/src/main/java/com/mayreh/intellij/plugin/tlaplus/run/ui/TLCTestConsoleProperties.java @@ -8,27 +8,23 @@ import com.intellij.execution.Executor; import com.intellij.execution.configurations.RunProfile; import com.intellij.execution.filters.TextConsoleBuilderImpl; -import com.intellij.execution.testframework.TestConsoleProperties; +import com.intellij.execution.testframework.sm.runner.SMTRunnerConsoleProperties; import com.intellij.execution.ui.ConsoleView; -import com.intellij.ide.util.PropertiesComponent; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.VirtualFileManager; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiManager; import com.intellij.psi.util.PsiTreeUtil; -import com.intellij.util.config.Storage; import com.mayreh.intellij.plugin.tlaplus.TLAplusFile; import com.mayreh.intellij.plugin.tlaplus.psi.TLAplusModule; import com.mayreh.intellij.plugin.tlaplus.run.TLCRunConfiguration; -public class TLCTestConsoleProperties extends TestConsoleProperties { +public class TLCTestConsoleProperties extends SMTRunnerConsoleProperties { private final TLCRunConfiguration configuration; public TLCTestConsoleProperties(TLCRunConfiguration configuration, Executor executor) { - super(new Storage.PropertiesComponentStorage( - "TLCSupport.", - PropertiesComponent.getInstance()), configuration.getProject(), executor); + super(configuration, "TLC", executor); this.configuration = configuration; }