From 9a569cd25a88242ee29d20cb46bbd149a9a3010a Mon Sep 17 00:00:00 2001 From: Robert Novotny Date: Tue, 9 Jan 2024 19:20:11 +0100 Subject: [PATCH] Use compatible method to verify 'FileInEditorProcessor' availability --- .../idea/jwt/ui/editor/EditorReformatter.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/github/novotnyr/idea/jwt/ui/editor/EditorReformatter.java b/src/main/java/com/github/novotnyr/idea/jwt/ui/editor/EditorReformatter.java index e065eaa..d15925a 100644 --- a/src/main/java/com/github/novotnyr/idea/jwt/ui/editor/EditorReformatter.java +++ b/src/main/java/com/github/novotnyr/idea/jwt/ui/editor/EditorReformatter.java @@ -12,15 +12,13 @@ import com.intellij.psi.PsiFile; import com.intellij.psi.PsiManager; -import static com.twelvemonkeys.lang.SystemUtil.isClassAvailable; - public class EditorReformatter { public static final String FILE_IN_EDITOR_PROCESSOR_CLASS_NAME = "com.intellij.codeInsight.actions.FileInEditorProcessor"; @SuppressWarnings("MissingRecentApi") public void reformatActiveEditor(Project project, VirtualFile virtualFile) { - if (!isClassAvailable(FILE_IN_EDITOR_PROCESSOR_CLASS_NAME)) { + if (!isFileInEditorProcessorAvailable()) { return; } PsiFile psiFile = PsiManager.getInstance(project).findFile(virtualFile); @@ -39,4 +37,13 @@ public void reformatActiveEditor(Project project, VirtualFile virtualFile) { new FileInEditorProcessor(psiFile, selectedTextEditor, currentRunOptions).processCode(); } + private boolean isFileInEditorProcessorAvailable() { + ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); + try { + Class.forName(FILE_IN_EDITOR_PROCESSOR_CLASS_NAME, false, classLoader); + return true; + } catch (Exception e) { + return false; + } + } }