mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[fleet] FL-23749 implement methods synchronously in fleet
GitOrigin-RevId: 42dee2cccbb409dfe2a868be78d897dcee78d3bf
This commit is contained in:
committed by
intellij-monorepo-bot
parent
3bc71d4ac7
commit
0a12d050e6
@@ -20,6 +20,7 @@ import com.intellij.openapi.actionSystem.Shortcut;
|
||||
import com.intellij.openapi.actionSystem.ex.ActionUtil;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.application.ModalityState;
|
||||
import com.intellij.openapi.application.NonBlockingReadAction;
|
||||
import com.intellij.openapi.application.ReadAction;
|
||||
import com.intellij.openapi.application.ex.ApplicationManagerEx;
|
||||
import com.intellij.openapi.command.CommandProcessor;
|
||||
@@ -449,14 +450,18 @@ public final class OverrideImplementUtil extends OverrideImplementExploreUtil {
|
||||
final Editor editor,
|
||||
@NotNull PsiClass aClass,
|
||||
final boolean toImplement) {
|
||||
ReadAction.nonBlocking(() -> {
|
||||
NonBlockingReadAction<JavaOverrideImplementMemberChooserContainer> prepareChooserTask = ReadAction.nonBlocking(() -> {
|
||||
return prepareChooser(aClass, toImplement);
|
||||
})
|
||||
.finishOnUiThread(ModalityState.defaultModalityState(), container -> {
|
||||
.expireWhen(() -> !aClass.isValid());
|
||||
|
||||
if (ApplicationManager.getApplication().isHeadlessEnvironment()) {
|
||||
showAndPerform(project, editor, aClass, toImplement, prepareChooserTask.executeSynchronously());
|
||||
} else {
|
||||
prepareChooserTask.finishOnUiThread(ModalityState.defaultModalityState(), container -> {
|
||||
showAndPerform(project, editor, aClass, toImplement, container);
|
||||
})
|
||||
.expireWhen(() -> !aClass.isValid())
|
||||
.submit(AppExecutorUtil.getAppExecutorService());
|
||||
}).submit(AppExecutorUtil.getAppExecutorService());
|
||||
}
|
||||
}
|
||||
|
||||
public static void showAndPerform(@NotNull Project project,
|
||||
|
||||
Reference in New Issue
Block a user