From 74e2a095d0686d2d7c9c5a00324b01997d8a197a Mon Sep 17 00:00:00 2001 From: Maksim Zuev Date: Thu, 30 Oct 2025 12:50:45 +0100 Subject: [PATCH] [rd debugger] IJPL-215910 Split debugger: never called split actions on backend GitOrigin-RevId: e8d8c1daecad5e713df4b892e140544e7d286898 --- .../debugger/actions/ViewTextAction.kt | 4 ++-- .../action/CalculateRetainedSizeAction.kt | 4 ++-- .../action/ShowInstancesByClassAction.kt | 4 ++-- .../shared/actions/AsyncStacksToggleAction.kt | 4 ++-- .../impl/shared/actions/AutoRendererAction.kt | 4 ++-- .../shared/actions/CreateRendererAction.kt | 4 ++-- .../actions/CustomizeContextViewAction.kt | 4 ++-- .../impl/shared/actions/FreezeThreadAction.kt | 4 ++-- .../shared/actions/InterruptThreadAction.kt | 4 ++-- .../shared/actions/MuteRenderersAction.kt | 4 ++-- .../impl/shared/actions/ResumeThreadAction.kt | 4 ++-- .../impl/shared/actions/ShowTypesAction.java | 4 ++-- .../shared/actions/StepOutOfBlockAction.kt | 4 ++-- .../impl/shared/actions/ThreadDumpAction.kt | 4 ++-- .../impl/shared/actions/ViewAsGroup.kt | 6 +++--- platform/xdebugger-impl/shared/BUILD.bazel | 1 + ...intellij.platform.debugger.impl.shared.iml | 1 + .../impl/shared/SplitDebuggerAction.kt | 19 +++++++++++++++++++ .../impl/actions/AddToWatchesAction.java | 4 ++-- .../DisableAllButThisBreakpointAction.kt | 4 ++-- .../impl/actions/EvaluateAction.java | 4 ++-- .../impl/actions/EvaluateInConsoleAction.java | 3 ++- .../impl/actions/ForceRunToCursorAction.kt | 4 ++-- .../impl/actions/ForceStepIntoAction.kt | 4 ++-- .../impl/actions/ForceStepOverAction.kt | 4 ++-- .../impl/actions/MarkObjectAction.java | 4 ++-- .../impl/actions/MuteBreakpointAction.java | 4 ++-- .../actions/OpenFilesInPreviewTabAction.kt | 8 ++++---- .../xdebugger/impl/actions/PauseAction.kt | 4 ++-- .../RemoveAllButThisBreakpointAction.kt | 4 ++-- .../impl/actions/ResetFrameAction.kt | 4 ++-- .../xdebugger/impl/actions/ResumeAction.kt | 4 ++-- .../impl/actions/RunToCursorAction.kt | 4 ++-- .../impl/actions/ShowExecutionPointAction.kt | 4 ++-- .../impl/actions/ShowLibraryFramesAction.kt | 4 ++-- .../impl/actions/SmartStepIntoAction.java | 4 ++-- .../impl/actions/StepIntoAction.java | 4 ++-- .../xdebugger/impl/actions/StepOutAction.kt | 4 ++-- .../xdebugger/impl/actions/StepOverAction.kt | 4 ++-- .../ToggleBreakpointEnabledAction.java | 4 ++-- .../actions/ToggleLineBreakpointAction.java | 4 ++-- .../ToggleTemporaryLineBreakpointAction.java | 4 ++-- .../impl/actions/UnmuteOnStopAction.kt | 4 ++-- .../impl/actions/UseInlineDebuggerAction.kt | 5 ++--- .../impl/actions/ViewBreakpointsAction.java | 4 ++-- .../handlers/AddLineBreakpointAction.java | 8 ++++---- .../impl/frame/XDebuggerFramesList.java | 8 +++----- .../impl/frame/actions/XCopyWatchAction.java | 4 ++-- .../impl/frame/actions/XEditWatchAction.java | 4 ++-- .../impl/frame/actions/XMoveWatchDown.java | 4 ++-- .../impl/frame/actions/XMoveWatchUp.java | 4 ++-- .../impl/frame/actions/XNewWatchAction.java | 4 ++-- .../impl/frame/actions/XPauseWatchAction.kt | 5 ++--- .../actions/XRemoveAllWatchesAction.java | 4 ++-- .../frame/actions/XRemoveWatchAction.java | 4 ++-- .../actions/XSeparateWatchesAndVariables.java | 4 ++-- .../impl/inline/AddInlineWatchAction.java | 4 ++-- .../items/actions/XDebuggerPinToTopAction.kt | 4 ++-- .../actions/ShowReferringObjectsAction.java | 5 ++--- .../ui/tree/actions/SortValuesToggleAction.kt | 4 ++-- .../actions/XCompareWithClipboardAction.java | 4 ++-- .../impl/ui/tree/actions/XCopyNameAction.java | 4 ++-- .../ui/tree/actions/XCopyValueAction.java | 4 ++-- .../impl/ui/tree/actions/XInspectAction.java | 4 ++-- .../ui/tree/actions/XJumpToSourceAction.kt | 4 ++-- .../tree/actions/XJumpToTypeSourceAction.kt | 4 ++-- .../impl/ui/tree/actions/XSetValueAction.java | 4 ++-- .../BUILD.bazel | 1 + .../intellij.debugger.streams.shared.iml | 1 + .../streams/shared/TraceStreamAction.kt | 4 ++-- 70 files changed, 159 insertions(+), 140 deletions(-) create mode 100644 platform/xdebugger-impl/shared/src/com/intellij/platform/debugger/impl/shared/SplitDebuggerAction.kt diff --git a/java/debugger/shared/src/com/intellij/debugger/actions/ViewTextAction.kt b/java/debugger/shared/src/com/intellij/debugger/actions/ViewTextAction.kt index d42ce670624c..32fa58fe12e1 100644 --- a/java/debugger/shared/src/com/intellij/debugger/actions/ViewTextAction.kt +++ b/java/debugger/shared/src/com/intellij/debugger/actions/ViewTextAction.kt @@ -4,12 +4,12 @@ package com.intellij.debugger.actions import com.intellij.java.debugger.impl.shared.actions.ViewTextActionBase import com.intellij.java.debugger.impl.shared.engine.JavaValueDescriptor import com.intellij.openapi.actionSystem.AnActionEvent -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.impl.ui.tree.actions.XDebuggerTreeActionBase import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeImpl import org.jetbrains.annotations.ApiStatus -class ViewTextAction : ViewTextActionBase(), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +class ViewTextAction : ViewTextActionBase(), SplitDebuggerAction { @ApiStatus.Internal override fun getStringNode(e: AnActionEvent): XValueNodeImpl? { val node = XDebuggerTreeActionBase.getSelectedNodes(e.dataContext).singleOrNull() ?: return null diff --git a/java/debugger/shared/src/com/intellij/debugger/memory/action/CalculateRetainedSizeAction.kt b/java/debugger/shared/src/com/intellij/debugger/memory/action/CalculateRetainedSizeAction.kt index 608a38857bb4..913f20e8d105 100644 --- a/java/debugger/shared/src/com/intellij/debugger/memory/action/CalculateRetainedSizeAction.kt +++ b/java/debugger/shared/src/com/intellij/debugger/memory/action/CalculateRetainedSizeAction.kt @@ -7,14 +7,14 @@ import com.intellij.java.debugger.impl.shared.engine.JavaValueDescriptor import com.intellij.java.debugger.impl.shared.rpc.JavaDebuggerLuxActionsApi import com.intellij.openapi.actionSystem.ActionUpdateThread import com.intellij.openapi.actionSystem.AnActionEvent -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.impl.frame.XDebugManagerProxy import com.intellij.xdebugger.impl.ui.DebuggerUIUtil import com.intellij.xdebugger.impl.ui.tree.actions.XDebuggerTreeActionBase import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeImpl import kotlinx.coroutines.launch -class CalculateRetainedSizeAction : XDebuggerTreeActionBase(), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +class CalculateRetainedSizeAction : XDebuggerTreeActionBase(), SplitDebuggerAction { override fun perform(node: XValueNodeImpl, nodeName: String, e: AnActionEvent) { val sessionProxy = DebuggerUIUtil.getSessionProxy(e) ?: return val xValue = node.valueContainer diff --git a/java/debugger/shared/src/com/intellij/debugger/memory/action/ShowInstancesByClassAction.kt b/java/debugger/shared/src/com/intellij/debugger/memory/action/ShowInstancesByClassAction.kt index cb533e2469b8..b51ad31f71cc 100644 --- a/java/debugger/shared/src/com/intellij/debugger/memory/action/ShowInstancesByClassAction.kt +++ b/java/debugger/shared/src/com/intellij/debugger/memory/action/ShowInstancesByClassAction.kt @@ -6,15 +6,15 @@ import com.intellij.java.debugger.impl.shared.engine.JavaValueDescriptor import com.intellij.java.debugger.impl.shared.rpc.JavaDebuggerLuxActionsApi import com.intellij.openapi.actionSystem.ActionUpdateThread import com.intellij.openapi.actionSystem.AnActionEvent -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification import com.intellij.openapi.util.text.StringUtil +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.impl.frame.XDebugManagerProxy import com.intellij.xdebugger.impl.ui.DebuggerUIUtil import com.intellij.xdebugger.impl.ui.tree.actions.XDebuggerTreeActionBase import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeImpl import kotlinx.coroutines.launch -class ShowInstancesByClassAction : XDebuggerTreeActionBase(), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +class ShowInstancesByClassAction : XDebuggerTreeActionBase(), SplitDebuggerAction { override fun getActionUpdateThread(): ActionUpdateThread { return ActionUpdateThread.BGT } diff --git a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/AsyncStacksToggleAction.kt b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/AsyncStacksToggleAction.kt index 42b22f2f153f..39a1d7ee3084 100644 --- a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/AsyncStacksToggleAction.kt +++ b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/AsyncStacksToggleAction.kt @@ -5,16 +5,16 @@ import com.intellij.java.debugger.impl.shared.SharedJavaDebuggerSession import com.intellij.java.debugger.impl.shared.rpc.JavaDebuggerSessionApi import com.intellij.openapi.actionSystem.ActionUpdateThread import com.intellij.openapi.actionSystem.AnActionEvent -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification import com.intellij.openapi.components.Service import com.intellij.openapi.components.service import com.intellij.openapi.project.DumbAwareToggleAction import com.intellij.openapi.project.Project +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.impl.ui.DebuggerUIUtil import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch -class AsyncStacksToggleAction : DumbAwareToggleAction(), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +class AsyncStacksToggleAction : DumbAwareToggleAction(), SplitDebuggerAction { override fun isSelected(e: AnActionEvent): Boolean { return getJavaSession(e)?.isAsyncStacksEnabled ?: true } diff --git a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/AutoRendererAction.kt b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/AutoRendererAction.kt index 8e6880b5fe9c..cfd1e9cb80ca 100644 --- a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/AutoRendererAction.kt +++ b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/AutoRendererAction.kt @@ -4,9 +4,9 @@ package com.intellij.java.debugger.impl.shared.actions import com.intellij.openapi.actionSystem.ActionUpdateThread import com.intellij.openapi.actionSystem.AnAction import com.intellij.openapi.actionSystem.AnActionEvent -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction -internal class AutoRendererAction : AnAction(), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +internal class AutoRendererAction : AnAction(), SplitDebuggerAction { override fun actionPerformed(e: AnActionEvent) { setRendererForNodes(e, null) } diff --git a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/CreateRendererAction.kt b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/CreateRendererAction.kt index 3e3a1124ef9c..b2278c8edc14 100644 --- a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/CreateRendererAction.kt +++ b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/CreateRendererAction.kt @@ -5,12 +5,12 @@ import com.intellij.java.debugger.impl.shared.rpc.JavaDebuggerLuxActionsApi import com.intellij.openapi.actionSystem.ActionUpdateThread import com.intellij.openapi.actionSystem.AnAction import com.intellij.openapi.actionSystem.AnActionEvent -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.impl.frame.XDebugManagerProxy import com.intellij.xdebugger.impl.ui.DebuggerUIUtil import kotlinx.coroutines.launch -private class CreateRendererAction : AnAction(), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +private class CreateRendererAction : AnAction(), SplitDebuggerAction { override fun update(e: AnActionEvent) { val values = getSelectedJavaValuesWithDescriptors(e) val value = values.singleOrNull()?.second diff --git a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/CustomizeContextViewAction.kt b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/CustomizeContextViewAction.kt index b021804efa91..fb974862323a 100644 --- a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/CustomizeContextViewAction.kt +++ b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/CustomizeContextViewAction.kt @@ -6,14 +6,14 @@ import com.intellij.java.debugger.impl.shared.SharedJavaDebuggerSession import com.intellij.java.debugger.impl.shared.rpc.JavaDebuggerLuxActionsApi import com.intellij.openapi.actionSystem.ActionUpdateThread import com.intellij.openapi.actionSystem.AnActionEvent -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.platform.project.projectId import com.intellij.xdebugger.impl.ui.DebuggerUIUtil import com.intellij.xdebugger.impl.ui.tree.actions.XDebuggerTreeActionBase import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeImpl import kotlinx.coroutines.launch -private class CustomizeContextViewAction : XDebuggerTreeActionBase(), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +private class CustomizeContextViewAction : XDebuggerTreeActionBase(), SplitDebuggerAction { override fun actionPerformed(e: AnActionEvent) { perform(null, "", e) } diff --git a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/FreezeThreadAction.kt b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/FreezeThreadAction.kt index 2cc0c1cdaaac..c36c161520c9 100644 --- a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/FreezeThreadAction.kt +++ b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/FreezeThreadAction.kt @@ -5,14 +5,14 @@ import com.intellij.java.debugger.impl.shared.JavaDebuggerSharedBundle import com.intellij.java.debugger.impl.shared.rpc.JavaDebuggerSessionApi import com.intellij.openapi.actionSystem.ActionUpdateThread import com.intellij.openapi.actionSystem.AnActionEvent -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.impl.frame.XDebugManagerProxy import com.intellij.xdebugger.impl.ui.DebuggerUIUtil import com.intellij.xdebugger.impl.ui.tree.actions.XDebuggerTreeActionBase import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeImpl import kotlinx.coroutines.launch -private class FreezeThreadAction : XDebuggerTreeActionBase(), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +private class FreezeThreadAction : XDebuggerTreeActionBase(), SplitDebuggerAction { override fun perform(node: XValueNodeImpl?, nodeName: String, e: AnActionEvent) { if (node == null) return val project = e.project diff --git a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/InterruptThreadAction.kt b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/InterruptThreadAction.kt index dc8e2456f6a0..5df876ce1176 100644 --- a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/InterruptThreadAction.kt +++ b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/InterruptThreadAction.kt @@ -5,14 +5,14 @@ import com.intellij.java.debugger.impl.shared.JavaDebuggerSharedBundle import com.intellij.java.debugger.impl.shared.rpc.JavaDebuggerSessionApi import com.intellij.openapi.actionSystem.ActionUpdateThread import com.intellij.openapi.actionSystem.AnActionEvent -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.impl.frame.XDebugManagerProxy import com.intellij.xdebugger.impl.ui.DebuggerUIUtil import com.intellij.xdebugger.impl.ui.tree.actions.XDebuggerTreeActionBase import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeImpl import kotlinx.coroutines.launch -private class InterruptThreadAction : XDebuggerTreeActionBase(), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +private class InterruptThreadAction : XDebuggerTreeActionBase(), SplitDebuggerAction { override fun perform(node: XValueNodeImpl?, nodeName: String, e: AnActionEvent) { if (node == null) return val project = e.project diff --git a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/MuteRenderersAction.kt b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/MuteRenderersAction.kt index 9e1bab45c72e..2102d58196e6 100644 --- a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/MuteRenderersAction.kt +++ b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/MuteRenderersAction.kt @@ -6,12 +6,12 @@ import com.intellij.java.debugger.impl.shared.rpc.JavaDebuggerSessionApi import com.intellij.openapi.actionSystem.ActionUpdateThread import com.intellij.openapi.actionSystem.AnActionEvent import com.intellij.openapi.actionSystem.ToggleAction -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification import com.intellij.openapi.project.DumbAware +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.impl.ui.DebuggerUIUtil import kotlinx.coroutines.launch -internal class MuteRenderersAction : ToggleAction(), DumbAware, ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +internal class MuteRenderersAction : ToggleAction(), DumbAware, SplitDebuggerAction { override fun isSelected(e: AnActionEvent): Boolean { val javaSession = SharedJavaDebuggerSession.findSession(e) ?: return false diff --git a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/ResumeThreadAction.kt b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/ResumeThreadAction.kt index c6eaf21611c3..a87cc3293e5c 100644 --- a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/ResumeThreadAction.kt +++ b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/ResumeThreadAction.kt @@ -5,14 +5,14 @@ import com.intellij.java.debugger.impl.shared.JavaDebuggerSharedBundle import com.intellij.java.debugger.impl.shared.rpc.JavaDebuggerSessionApi import com.intellij.openapi.actionSystem.ActionUpdateThread import com.intellij.openapi.actionSystem.AnActionEvent -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.impl.frame.XDebugManagerProxy import com.intellij.xdebugger.impl.ui.DebuggerUIUtil import com.intellij.xdebugger.impl.ui.tree.actions.XDebuggerTreeActionBase import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeImpl import kotlinx.coroutines.launch -private class ResumeThreadAction : XDebuggerTreeActionBase(), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +private class ResumeThreadAction : XDebuggerTreeActionBase(), SplitDebuggerAction { override fun perform(node: XValueNodeImpl?, nodeName: String, e: AnActionEvent) { if (node == null) return val project = e.project diff --git a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/ShowTypesAction.java b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/ShowTypesAction.java index c5fbff6a8fa0..4992e9e148e4 100644 --- a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/ShowTypesAction.java +++ b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/ShowTypesAction.java @@ -6,17 +6,17 @@ import com.intellij.debugger.settings.DebuggerSettings; import com.intellij.java.debugger.impl.shared.SharedJavaDebuggerSession; import com.intellij.openapi.actionSystem.ActionUpdateThread; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.project.DumbAwareToggleAction; import com.intellij.openapi.project.Project; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.xdebugger.impl.frame.XDebugSessionProxy; import com.intellij.xdebugger.impl.ui.DebuggerUIUtil; import com.intellij.xdebugger.impl.ui.tree.XDebuggerTree; import com.intellij.xdebugger.impl.ui.tree.XDebuggerTreeState; import org.jetbrains.annotations.NotNull; -class ShowTypesAction extends DumbAwareToggleAction implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +class ShowTypesAction extends DumbAwareToggleAction implements SplitDebuggerAction { @Override public boolean isSelected(@NotNull AnActionEvent e) { return DebuggerSettings.getInstance().SHOW_TYPES; diff --git a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/StepOutOfBlockAction.kt b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/StepOutOfBlockAction.kt index 12068f91ecd1..5db6f6b12699 100644 --- a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/StepOutOfBlockAction.kt +++ b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/StepOutOfBlockAction.kt @@ -6,12 +6,12 @@ import com.intellij.java.debugger.impl.shared.rpc.JavaDebuggerSessionApi import com.intellij.openapi.actionSystem.ActionUpdateThread import com.intellij.openapi.actionSystem.AnAction import com.intellij.openapi.actionSystem.AnActionEvent -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification import com.intellij.openapi.project.DumbAware +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.impl.ui.DebuggerUIUtil import kotlinx.coroutines.launch -private class StepOutOfBlockAction : AnAction(), DumbAware, ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +private class StepOutOfBlockAction : AnAction(), DumbAware, SplitDebuggerAction { override fun actionPerformed(e: AnActionEvent) { val sessionProxy = DebuggerUIUtil.getSessionProxy(e) ?: return sessionProxy.coroutineScope.launch { diff --git a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/ThreadDumpAction.kt b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/ThreadDumpAction.kt index 28b9dcde29dc..5c2a2114a548 100644 --- a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/ThreadDumpAction.kt +++ b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/ThreadDumpAction.kt @@ -13,13 +13,13 @@ import com.intellij.java.debugger.impl.shared.rpc.JavaThreadDumpItemDto import com.intellij.java.debugger.impl.shared.rpc.ThreadDumpWithAwaitingDependencies import com.intellij.openapi.actionSystem.ActionUpdateThread import com.intellij.openapi.actionSystem.AnActionEvent -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification import com.intellij.openapi.application.EDT import com.intellij.openapi.project.DumbAwareAction import com.intellij.openapi.project.Project import com.intellij.openapi.util.NlsSafe import com.intellij.openapi.util.registry.Registry import com.intellij.platform.debugger.impl.rpc.toSimpleTextAttributes +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.ui.SimpleTextAttributes import com.intellij.unscramble.DumpItem import com.intellij.util.BitUtil @@ -35,7 +35,7 @@ import org.jetbrains.annotations.Nls import java.awt.event.InputEvent import javax.swing.Icon -private class ThreadDumpAction : DumbAwareAction(), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +private class ThreadDumpAction : DumbAwareAction(), SplitDebuggerAction { @OptIn(ExperimentalCoroutinesApi::class) override fun actionPerformed(e: AnActionEvent) { diff --git a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/ViewAsGroup.kt b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/ViewAsGroup.kt index 12918bda993c..449b1786c732 100644 --- a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/ViewAsGroup.kt +++ b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/ViewAsGroup.kt @@ -7,11 +7,11 @@ import com.intellij.java.debugger.impl.shared.engine.NodeRendererDto import com.intellij.java.debugger.impl.shared.engine.NodeRendererId import com.intellij.java.debugger.impl.shared.rpc.JavaDebuggerSessionApi import com.intellij.openapi.actionSystem.* -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification import com.intellij.openapi.project.DumbAware import com.intellij.openapi.project.Project import com.intellij.platform.debugger.impl.rpc.XValueId import com.intellij.platform.debugger.impl.shared.FrontendDescriptorStateManager +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.frame.XValue import com.intellij.xdebugger.frame.XValuePlace import com.intellij.xdebugger.impl.frame.XDebugManagerProxy @@ -21,12 +21,12 @@ import com.intellij.xdebugger.impl.ui.tree.XDebuggerTree import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeImpl import kotlinx.coroutines.launch -internal class ViewAsGroup : ActionGroup(Presentation.NULL_STRING, true), DumbAware, ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +internal class ViewAsGroup : ActionGroup(Presentation.NULL_STRING, true), DumbAware, SplitDebuggerAction { override fun getActionUpdateThread(): ActionUpdateThread { return ActionUpdateThread.BGT } - private class RendererAction(private val nodeRenderer: NodeRendererDto) : ToggleAction(nodeRenderer.name), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { + private class RendererAction(private val nodeRenderer: NodeRendererDto) : ToggleAction(nodeRenderer.name) { init { getTemplatePresentation().setKeepPopupOnPerform(KeepPopupOnPerform.IfRequested) } diff --git a/platform/xdebugger-impl/shared/BUILD.bazel b/platform/xdebugger-impl/shared/BUILD.bazel index 9229df177cbe..10cb99e599f3 100644 --- a/platform/xdebugger-impl/shared/BUILD.bazel +++ b/platform/xdebugger-impl/shared/BUILD.bazel @@ -26,6 +26,7 @@ jvm_library( "//platform/editor-ui-api:editor-ui", "//platform/remote-topics/shared:rpc-topics", "//platform/xdebugger-impl/rpc", + "//platform/platform-impl:ide-impl", ] ) ### auto-generated section `build intellij.platform.debugger.impl.shared` end \ No newline at end of file diff --git a/platform/xdebugger-impl/shared/intellij.platform.debugger.impl.shared.iml b/platform/xdebugger-impl/shared/intellij.platform.debugger.impl.shared.iml index ecfbc1ed24a1..a908d6bc5631 100644 --- a/platform/xdebugger-impl/shared/intellij.platform.debugger.impl.shared.iml +++ b/platform/xdebugger-impl/shared/intellij.platform.debugger.impl.shared.iml @@ -45,5 +45,6 @@ + \ No newline at end of file diff --git a/platform/xdebugger-impl/shared/src/com/intellij/platform/debugger/impl/shared/SplitDebuggerAction.kt b/platform/xdebugger-impl/shared/src/com/intellij/platform/debugger/impl/shared/SplitDebuggerAction.kt new file mode 100644 index 000000000000..2e56254b89fc --- /dev/null +++ b/platform/xdebugger-impl/shared/src/com/intellij/platform/debugger/impl/shared/SplitDebuggerAction.kt @@ -0,0 +1,19 @@ +// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +package com.intellij.platform.debugger.impl.shared + +import com.intellij.frontend.FrontendApplicationInfo +import com.intellij.frontend.FrontendType +import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehavior +import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification +import com.intellij.xdebugger.SplitDebuggerMode +import org.jetbrains.annotations.ApiStatus + +@ApiStatus.Internal +interface SplitDebuggerAction : ActionRemoteBehaviorSpecification { + override fun getBehavior(): ActionRemoteBehavior { + // Keep CWM with the old scheme + val frontendType = FrontendApplicationInfo.getFrontendType() + if (frontendType is FrontendType.Remote && frontendType.isGuest()) return ActionRemoteBehavior.FrontendOtherwiseBackend + return if (SplitDebuggerMode.isSplitDebugger()) ActionRemoteBehavior.FrontendOnly else ActionRemoteBehavior.BackendOnly + } +} diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/AddToWatchesAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/AddToWatchesAction.java index 19e2a5bc7c08..d577ad713d12 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/AddToWatchesAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/AddToWatchesAction.java @@ -2,14 +2,14 @@ package com.intellij.xdebugger.impl.actions; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.xdebugger.impl.DebuggerSupport; import com.intellij.xdebugger.impl.actions.handlers.XAddToWatchesFromEditorActionHandler; import com.intellij.xdebugger.impl.ui.tree.actions.XAddToWatchesTreeAction; import com.intellij.xdebugger.impl.ui.tree.actions.XDebuggerTreeActionBase; import org.jetbrains.annotations.NotNull; -final class AddToWatchesAction extends XDebuggerActionBase implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +final class AddToWatchesAction extends XDebuggerActionBase implements SplitDebuggerAction { private static class Holder { private static final XAddToWatchesTreeAction TREE_ACTION = new XAddToWatchesTreeAction(); } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/DisableAllButThisBreakpointAction.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/DisableAllButThisBreakpointAction.kt index e6ca75f6dcd2..e518fc7cca4e 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/DisableAllButThisBreakpointAction.kt +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/DisableAllButThisBreakpointAction.kt @@ -1,12 +1,12 @@ package com.intellij.xdebugger.impl.actions -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.impl.breakpoints.XBreakpointManagerProxy import com.intellij.xdebugger.impl.breakpoints.XBreakpointProxy import org.jetbrains.annotations.ApiStatus @ApiStatus.Internal -class DisableAllButThisBreakpointAction : AllButThisBreakpointAction(), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +class DisableAllButThisBreakpointAction : AllButThisBreakpointAction(), SplitDebuggerAction { override fun performAction(breakpointManager: XBreakpointManagerProxy, breakpoint: XBreakpointProxy) { breakpoint.setEnabled(false) } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/EvaluateAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/EvaluateAction.java index cee69c0bf40e..17d3c9506297 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/EvaluateAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/EvaluateAction.java @@ -1,12 +1,12 @@ // Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.xdebugger.impl.actions; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.xdebugger.impl.DebuggerSupport; import com.intellij.xdebugger.impl.actions.handlers.XDebuggerEvaluateActionHandler; import org.jetbrains.annotations.NotNull; -final class EvaluateAction extends XDebuggerActionBase implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +final class EvaluateAction extends XDebuggerActionBase implements SplitDebuggerAction { private static final XDebuggerEvaluateActionHandler ourHandler = new XDebuggerEvaluateActionHandler(); EvaluateAction() { diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/EvaluateInConsoleAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/EvaluateInConsoleAction.java index ae79923e4e01..598dd0e368af 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/EvaluateInConsoleAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/EvaluateInConsoleAction.java @@ -1,11 +1,12 @@ // Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.xdebugger.impl.actions; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.xdebugger.impl.DebuggerSupport; import com.intellij.xdebugger.impl.actions.handlers.XEvaluateInConsoleFromEditorActionHandler; import org.jetbrains.annotations.NotNull; -final class EvaluateInConsoleAction extends XDebuggerActionBase { +final class EvaluateInConsoleAction extends XDebuggerActionBase implements SplitDebuggerAction { private static final DebuggerActionHandler ourHandler = new XEvaluateInConsoleFromEditorActionHandler(); EvaluateInConsoleAction() { diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ForceRunToCursorAction.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ForceRunToCursorAction.kt index abdf1915a80d..cc213030a4cb 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ForceRunToCursorAction.kt +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ForceRunToCursorAction.kt @@ -2,11 +2,11 @@ package com.intellij.xdebugger.impl.actions import com.intellij.openapi.actionSystem.AnActionEvent -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.impl.DebuggerSupport import com.intellij.xdebugger.impl.actions.handlers.XDebuggerRunToCursorActionHandler -open class ForceRunToCursorAction : XDebuggerActionBase(true), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +open class ForceRunToCursorAction : XDebuggerActionBase(true), SplitDebuggerAction { override fun getHandler(debuggerSupport: DebuggerSupport): DebuggerActionHandler { return ourHandler } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ForceStepIntoAction.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ForceStepIntoAction.kt index 0b26a2729a61..013304e79b23 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ForceStepIntoAction.kt +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ForceStepIntoAction.kt @@ -3,12 +3,12 @@ package com.intellij.xdebugger.impl.actions import com.intellij.openapi.actionSystem.AnActionEvent import com.intellij.openapi.actionSystem.DataContext -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.impl.DebuggerSupport import com.intellij.xdebugger.impl.frame.XDebugSessionProxy import com.intellij.xdebugger.impl.performDebuggerActionAsync -open class ForceStepIntoAction : XDebuggerActionBase(), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +open class ForceStepIntoAction : XDebuggerActionBase(), SplitDebuggerAction { override fun getHandler(debuggerSupport: DebuggerSupport): DebuggerActionHandler { return ourHandler } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ForceStepOverAction.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ForceStepOverAction.kt index 2adea8cb231f..042ba9ded129 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ForceStepOverAction.kt +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ForceStepOverAction.kt @@ -3,12 +3,12 @@ package com.intellij.xdebugger.impl.actions import com.intellij.openapi.actionSystem.AnActionEvent import com.intellij.openapi.actionSystem.DataContext -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.impl.DebuggerSupport import com.intellij.xdebugger.impl.frame.XDebugSessionProxy import com.intellij.xdebugger.impl.performDebuggerActionAsync -open class ForceStepOverAction : XDebuggerActionBase(), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +open class ForceStepOverAction : XDebuggerActionBase(), SplitDebuggerAction { override fun getHandler(debuggerSupport: DebuggerSupport): DebuggerActionHandler { return ourHandler } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/MarkObjectAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/MarkObjectAction.java index 76559277495a..6005659d030a 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/MarkObjectAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/MarkObjectAction.java @@ -5,15 +5,15 @@ import com.intellij.idea.ActionsBundle; import com.intellij.openapi.actionSystem.ActionUpdateThread; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.Presentation; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; import com.intellij.openapi.project.Project; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.xdebugger.impl.DebuggerSupport; import com.intellij.xdebugger.impl.actions.handlers.XMarkObjectActionHandler; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; @ApiStatus.Internal -public class MarkObjectAction extends XDebuggerActionBase implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +public class MarkObjectAction extends XDebuggerActionBase implements SplitDebuggerAction { private static final XMarkObjectActionHandler ourHandler = new XMarkObjectActionHandler(); @Override diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/MuteBreakpointAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/MuteBreakpointAction.java index 058f9ad7cbf7..71866e89802c 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/MuteBreakpointAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/MuteBreakpointAction.java @@ -4,15 +4,15 @@ package com.intellij.xdebugger.impl.actions; import com.intellij.openapi.actionSystem.ActionUpdateThread; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.ToggleAction; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; import com.intellij.openapi.project.Project; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.xdebugger.impl.actions.handlers.XDebuggerCustomMuteBreakpointHandler; import com.intellij.xdebugger.impl.actions.handlers.XDebuggerMuteBreakpointsHandler; import org.jetbrains.annotations.NotNull; import static com.intellij.xdebugger.impl.actions.handlers.XDebuggerCustomMuteBreakpointHandlerKt.getAvailableCustomMuteBreakpointHandler; -public class MuteBreakpointAction extends ToggleAction implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +public class MuteBreakpointAction extends ToggleAction implements SplitDebuggerAction { private static final DebuggerToggleActionHandler ourHandler = new XDebuggerMuteBreakpointsHandler(); @Override diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/OpenFilesInPreviewTabAction.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/OpenFilesInPreviewTabAction.kt index ea0d32842626..1b6aafff86b3 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/OpenFilesInPreviewTabAction.kt +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/OpenFilesInPreviewTabAction.kt @@ -2,17 +2,17 @@ package com.intellij.xdebugger.impl.actions import com.intellij.configurationStore.saveSettingsForRemoteDevelopment +import com.intellij.ide.ui.UISettings import com.intellij.openapi.actionSystem.ActionUpdateThread import com.intellij.openapi.actionSystem.AnActionEvent import com.intellij.openapi.actionSystem.ToggleAction -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification import com.intellij.openapi.project.DumbAware -import org.jetbrains.annotations.ApiStatus -import com.intellij.ide.ui.UISettings +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.util.application +import org.jetbrains.annotations.ApiStatus @ApiStatus.Internal -class OpenFilesInPreviewTabAction : ToggleAction(), DumbAware, ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +class OpenFilesInPreviewTabAction : ToggleAction(), DumbAware, SplitDebuggerAction { override fun getActionUpdateThread(): ActionUpdateThread { return ActionUpdateThread.EDT } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/PauseAction.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/PauseAction.kt index 67ff71e72bd6..583dcdacca63 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/PauseAction.kt +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/PauseAction.kt @@ -3,12 +3,12 @@ package com.intellij.xdebugger.impl.actions import com.intellij.openapi.actionSystem.ActionUpdateThread import com.intellij.openapi.actionSystem.AnActionEvent -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification import com.intellij.openapi.project.DumbAwareAction +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.impl.performDebuggerActionAsync import com.intellij.xdebugger.impl.ui.DebuggerUIUtil -open class PauseAction : DumbAwareAction(), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +open class PauseAction : DumbAwareAction(), SplitDebuggerAction { override fun update(e: AnActionEvent) { var supported = false val session = DebuggerUIUtil.getSessionProxy(e) diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/RemoveAllButThisBreakpointAction.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/RemoveAllButThisBreakpointAction.kt index a8a758e58630..f74c2413ed3f 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/RemoveAllButThisBreakpointAction.kt +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/RemoveAllButThisBreakpointAction.kt @@ -1,12 +1,12 @@ package com.intellij.xdebugger.impl.actions -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.impl.breakpoints.XBreakpointManagerProxy import com.intellij.xdebugger.impl.breakpoints.XBreakpointProxy import org.jetbrains.annotations.ApiStatus @ApiStatus.Internal -class RemoveAllButThisBreakpointAction : AllButThisBreakpointAction(), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +class RemoveAllButThisBreakpointAction : AllButThisBreakpointAction(), SplitDebuggerAction { override fun performAction(breakpointManager: XBreakpointManagerProxy, breakpoint: XBreakpointProxy) { breakpointManager.removeBreakpoint(breakpoint) } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ResetFrameAction.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ResetFrameAction.kt index b55eb0c8c28f..e8e4025d11e2 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ResetFrameAction.kt +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ResetFrameAction.kt @@ -3,8 +3,8 @@ package com.intellij.xdebugger.impl.actions import com.intellij.openapi.actionSystem.ActionUpdateThread import com.intellij.openapi.actionSystem.AnActionEvent -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification import com.intellij.openapi.project.DumbAwareAction +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.util.ThreeState import com.intellij.xdebugger.frame.XDropFrameHandler import com.intellij.xdebugger.frame.XStackFrame @@ -12,7 +12,7 @@ import com.intellij.xdebugger.impl.ui.DebuggerUIUtil import org.jetbrains.annotations.ApiStatus @ApiStatus.Internal -class ResetFrameAction : DumbAwareAction(), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +class ResetFrameAction : DumbAwareAction(), SplitDebuggerAction { override fun actionPerformed(e: AnActionEvent) { withHandler(e, true) { handler, stackFrame -> handler.drop(stackFrame) } } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ResumeAction.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ResumeAction.kt index 0aee388d8117..2765150cb8b1 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ResumeAction.kt +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ResumeAction.kt @@ -7,14 +7,14 @@ import com.intellij.frontend.FrontendType import com.intellij.openapi.actionSystem.ActionPlaces import com.intellij.openapi.actionSystem.ActionUpdateThread import com.intellij.openapi.actionSystem.AnActionEvent -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification import com.intellij.openapi.project.DumbAwareAction +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.impl.XDebuggerActionsCollector import com.intellij.xdebugger.impl.performDebuggerActionAsync import com.intellij.xdebugger.impl.ui.DebuggerUIUtil import java.awt.event.KeyEvent -open class ResumeAction : DumbAwareAction(), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +open class ResumeAction : DumbAwareAction(), SplitDebuggerAction { override fun update(e: AnActionEvent) { val project = e.project if (project == null) { diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/RunToCursorAction.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/RunToCursorAction.kt index 50b5166343bb..e38fcbf4bba6 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/RunToCursorAction.kt +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/RunToCursorAction.kt @@ -2,11 +2,11 @@ package com.intellij.xdebugger.impl.actions import com.intellij.openapi.actionSystem.AnActionEvent -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.impl.DebuggerSupport import com.intellij.xdebugger.impl.actions.handlers.XDebuggerRunToCursorActionHandler -open class RunToCursorAction : XDebuggerActionBase(true), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +open class RunToCursorAction : XDebuggerActionBase(true), SplitDebuggerAction { override fun getHandler(debuggerSupport: DebuggerSupport): DebuggerActionHandler { return ourHandler } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ShowExecutionPointAction.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ShowExecutionPointAction.kt index 5e2382d0feca..e70c8bc4defd 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ShowExecutionPointAction.kt +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ShowExecutionPointAction.kt @@ -3,7 +3,7 @@ package com.intellij.xdebugger.impl.actions import com.intellij.openapi.actionSystem.AnActionEvent import com.intellij.openapi.actionSystem.DataContext -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.impl.DebuggerSupport import com.intellij.xdebugger.impl.frame.XDebugSessionProxy import com.intellij.xdebugger.impl.performDebuggerActionAsync @@ -11,7 +11,7 @@ import com.intellij.xdebugger.impl.updateExecutionPosition import org.jetbrains.annotations.ApiStatus @ApiStatus.Internal -class ShowExecutionPointAction : XDebuggerActionBase(), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +class ShowExecutionPointAction : XDebuggerActionBase(), SplitDebuggerAction { override fun getHandler(debuggerSupport: DebuggerSupport): DebuggerActionHandler { return ourHandler } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ShowLibraryFramesAction.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ShowLibraryFramesAction.kt index eb37b80577ce..fe2deab8f716 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ShowLibraryFramesAction.kt +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ShowLibraryFramesAction.kt @@ -6,11 +6,11 @@ import com.intellij.openapi.actionSystem.ActionUpdateThread import com.intellij.openapi.actionSystem.AnActionEvent import com.intellij.openapi.actionSystem.Presentation import com.intellij.openapi.actionSystem.ToggleAction -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend import com.intellij.openapi.components.Service import com.intellij.openapi.components.service import com.intellij.openapi.project.Project import com.intellij.platform.debugger.impl.rpc.XDebuggerManagerApi +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.XDebuggerBundle import com.intellij.xdebugger.impl.XDebuggerUtilImpl import com.intellij.xdebugger.impl.settings.XDebuggerSettingManagerImpl @@ -22,7 +22,7 @@ import kotlinx.coroutines.flow.debounce import kotlinx.coroutines.launch import kotlin.time.Duration.Companion.milliseconds -internal class ShowLibraryFramesAction : ToggleAction(), FrontendOtherwiseBackend { +internal class ShowLibraryFramesAction : ToggleAction(), SplitDebuggerAction { init { templatePresentation.apply { diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/SmartStepIntoAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/SmartStepIntoAction.java index 0ddff6a27682..aefedb2bf524 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/SmartStepIntoAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/SmartStepIntoAction.java @@ -2,14 +2,14 @@ package com.intellij.xdebugger.impl.actions; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.xdebugger.impl.DebuggerSupport; import com.intellij.xdebugger.impl.actions.handlers.XDebuggerSmartStepIntoHandler; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; @ApiStatus.Internal -public final class SmartStepIntoAction extends XDebuggerActionBase implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +public final class SmartStepIntoAction extends XDebuggerActionBase implements SplitDebuggerAction { @ApiStatus.Internal public static final DebuggerActionHandler HANDLER = new XDebuggerSmartStepIntoHandler(); diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/StepIntoAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/StepIntoAction.java index a339198ba4fb..84a706a2f1e0 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/StepIntoAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/StepIntoAction.java @@ -2,12 +2,12 @@ package com.intellij.xdebugger.impl.actions; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.xdebugger.impl.DebuggerSupport; import com.intellij.xdebugger.impl.actions.handlers.XDebuggerStepIntoHandler; import org.jetbrains.annotations.NotNull; -public class StepIntoAction extends XDebuggerActionBase implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +public class StepIntoAction extends XDebuggerActionBase implements SplitDebuggerAction { private static final DebuggerActionHandler ourHandler = new XDebuggerStepIntoHandler(); @Override diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/StepOutAction.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/StepOutAction.kt index f266eff7457d..74c3994e6fdd 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/StepOutAction.kt +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/StepOutAction.kt @@ -3,12 +3,12 @@ package com.intellij.xdebugger.impl.actions import com.intellij.openapi.actionSystem.AnActionEvent import com.intellij.openapi.actionSystem.DataContext -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.impl.DebuggerSupport import com.intellij.xdebugger.impl.frame.XDebugSessionProxy import com.intellij.xdebugger.impl.performDebuggerActionAsync -open class StepOutAction : XDebuggerActionBase(), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +open class StepOutAction : XDebuggerActionBase(), SplitDebuggerAction { override fun getHandler(debuggerSupport: DebuggerSupport): DebuggerActionHandler { return ourHandler } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/StepOverAction.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/StepOverAction.kt index cf6aaf71448f..a1fa7117666c 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/StepOverAction.kt +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/StepOverAction.kt @@ -3,13 +3,13 @@ package com.intellij.xdebugger.impl.actions import com.intellij.openapi.actionSystem.AnActionEvent import com.intellij.openapi.actionSystem.DataContext -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification import com.intellij.openapi.project.DumbAware +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.impl.DebuggerSupport import com.intellij.xdebugger.impl.frame.XDebugSessionProxy import com.intellij.xdebugger.impl.performDebuggerActionAsync -open class StepOverAction : XDebuggerActionBase(), DumbAware, ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +open class StepOverAction : XDebuggerActionBase(), DumbAware, SplitDebuggerAction { override fun getHandler(debuggerSupport: DebuggerSupport): DebuggerActionHandler { return ourHandler } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ToggleBreakpointEnabledAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ToggleBreakpointEnabledAction.java index 34933757e4c2..6052fb18e13a 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ToggleBreakpointEnabledAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ToggleBreakpointEnabledAction.java @@ -4,12 +4,12 @@ package com.intellij.xdebugger.impl.actions; import com.intellij.openapi.actionSystem.ActionUpdateThread; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.CommonDataKeys; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; import com.intellij.openapi.editor.Caret; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.project.DumbAwareAction; import com.intellij.openapi.project.Project; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.util.Range; import com.intellij.xdebugger.impl.breakpoints.XBreakpointManagerProxy; import com.intellij.xdebugger.impl.breakpoints.XBreakpointProxy; @@ -22,7 +22,7 @@ import org.jetbrains.annotations.NotNull; import java.util.*; @ApiStatus.Internal -public class ToggleBreakpointEnabledAction extends DumbAwareAction implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +public class ToggleBreakpointEnabledAction extends DumbAwareAction implements SplitDebuggerAction { @Override public void actionPerformed(@NotNull AnActionEvent e) { Collection breakpoints = findLineBreakpoints(e); diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ToggleLineBreakpointAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ToggleLineBreakpointAction.java index e7f5eb4564cb..76dee5ab8e80 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ToggleLineBreakpointAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ToggleLineBreakpointAction.java @@ -6,13 +6,13 @@ import com.intellij.openapi.actionSystem.ActionPlaces; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.actionSystem.Toggleable; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; import com.intellij.openapi.editor.Caret; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.fileEditor.FileDocumentManager; import com.intellij.openapi.project.DumbAware; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.util.SmartList; import com.intellij.xdebugger.XSourcePosition; import com.intellij.xdebugger.impl.DebuggerSupport; @@ -34,7 +34,7 @@ import java.util.List; import static com.intellij.xdebugger.impl.XEditorSourcePositionKt.withEditor; @ApiStatus.Internal -public class ToggleLineBreakpointAction extends XDebuggerActionBase implements DumbAware, Toggleable, ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +public class ToggleLineBreakpointAction extends XDebuggerActionBase implements DumbAware, Toggleable, SplitDebuggerAction { public static final XToggleLineBreakpointActionHandler ourHandler = new XToggleLineBreakpointActionHandler(false); public ToggleLineBreakpointAction() { diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ToggleTemporaryLineBreakpointAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ToggleTemporaryLineBreakpointAction.java index 087ad4df3b3e..a0259c246be9 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ToggleTemporaryLineBreakpointAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ToggleTemporaryLineBreakpointAction.java @@ -1,15 +1,15 @@ // Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.xdebugger.impl.actions; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; import com.intellij.openapi.project.DumbAware; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.xdebugger.impl.DebuggerSupport; import com.intellij.xdebugger.impl.actions.handlers.XToggleLineBreakpointActionHandler; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; @ApiStatus.Internal -public class ToggleTemporaryLineBreakpointAction extends XDebuggerActionBase implements DumbAware, ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +public class ToggleTemporaryLineBreakpointAction extends XDebuggerActionBase implements DumbAware, SplitDebuggerAction { private static final XToggleLineBreakpointActionHandler ourHandler = new XToggleLineBreakpointActionHandler(true); public ToggleTemporaryLineBreakpointAction() { diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/UnmuteOnStopAction.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/UnmuteOnStopAction.kt index 4dcc6ce5c46e..0f3c4b15c750 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/UnmuteOnStopAction.kt +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/UnmuteOnStopAction.kt @@ -5,14 +5,14 @@ import com.intellij.configurationStore.saveSettingsForRemoteDevelopment import com.intellij.openapi.actionSystem.ActionUpdateThread import com.intellij.openapi.actionSystem.AnActionEvent import com.intellij.openapi.actionSystem.ToggleAction -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification import com.intellij.openapi.project.DumbAware +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.util.application import com.intellij.xdebugger.impl.settings.XDebuggerSettingManagerImpl import org.jetbrains.annotations.ApiStatus @ApiStatus.Internal -class UnmuteOnStopAction : ToggleAction(), DumbAware, ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +class UnmuteOnStopAction : ToggleAction(), DumbAware, SplitDebuggerAction { override fun isSelected(e: AnActionEvent): Boolean { return XDebuggerSettingManagerImpl.getInstanceImpl().generalSettings.isUnmuteOnStop } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/UseInlineDebuggerAction.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/UseInlineDebuggerAction.kt index a432cdeb4dd8..33a054a9af36 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/UseInlineDebuggerAction.kt +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/UseInlineDebuggerAction.kt @@ -19,19 +19,18 @@ import com.intellij.configurationStore.saveSettingsForRemoteDevelopment import com.intellij.openapi.actionSystem.ActionUpdateThread import com.intellij.openapi.actionSystem.AnActionEvent import com.intellij.openapi.actionSystem.ToggleAction -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification import com.intellij.openapi.project.DumbAware +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.util.application import com.intellij.xdebugger.impl.XDebuggerUtilImpl import com.intellij.xdebugger.impl.settings.XDebuggerSettingManagerImpl import org.jetbrains.annotations.ApiStatus -import java.util.* /** * @author Konstantin Bulenkov */ @ApiStatus.Internal -class UseInlineDebuggerAction : ToggleAction(), DumbAware, ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +class UseInlineDebuggerAction : ToggleAction(), DumbAware, SplitDebuggerAction { override fun isSelected(e: AnActionEvent): Boolean { return XDebuggerSettingManagerImpl.getInstanceImpl().dataViewSettings.isShowValuesInline } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ViewBreakpointsAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ViewBreakpointsAction.java index 016a267d5d85..80899965461b 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ViewBreakpointsAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ViewBreakpointsAction.java @@ -10,16 +10,16 @@ import com.intellij.openapi.actionSystem.ActionUpdateThread; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.CommonDataKeys; import com.intellij.openapi.actionSystem.DataContext; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.project.DumbAwareAction; import com.intellij.openapi.project.Project; import com.intellij.platform.debugger.impl.rpc.XBreakpointId; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.xdebugger.impl.breakpoints.XBreakpointUtil; import com.intellij.xdebugger.impl.breakpoints.ui.BreakpointsDialogFactory; import org.jetbrains.annotations.NotNull; -public class ViewBreakpointsAction extends DumbAwareAction implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +public class ViewBreakpointsAction extends DumbAwareAction implements SplitDebuggerAction { @Override public void actionPerformed(@NotNull AnActionEvent e) { DataContext dataContext = e.getDataContext(); diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/handlers/AddLineBreakpointAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/handlers/AddLineBreakpointAction.java index 8e78f8a7ad75..0ca66c87c210 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/handlers/AddLineBreakpointAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/handlers/AddLineBreakpointAction.java @@ -4,7 +4,6 @@ package com.intellij.xdebugger.impl.actions.handlers; import com.intellij.openapi.actionSystem.ActionUpdateThread; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.CommonDataKeys; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; import com.intellij.openapi.application.ModalityState; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.EditorGutter; @@ -13,6 +12,7 @@ import com.intellij.openapi.editor.ex.EditorGutterComponentEx; import com.intellij.openapi.project.DumbAwareAction; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.ui.ExperimentalUI; import com.intellij.util.ModalityUiUtil; import com.intellij.xdebugger.XSourcePosition; @@ -33,7 +33,7 @@ import java.awt.*; * @author Konstantin Bulenkov */ @ApiStatus.Internal -public class AddLineBreakpointAction extends DumbAwareAction implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +public class AddLineBreakpointAction extends DumbAwareAction implements SplitDebuggerAction { @Override public void actionPerformed(@NotNull AnActionEvent e) { Project project = e.getData(CommonDataKeys.PROJECT); @@ -95,7 +95,7 @@ public class AddLineBreakpointAction extends DumbAwareAction implements ActionRe return false; } - public static class WithCondition extends AddLineBreakpointAction implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { + public static class WithCondition extends AddLineBreakpointAction implements SplitDebuggerAction { @Override protected boolean editBreakpointSettings(XLineBreakpointProxy bp, @Nullable String editorSelection) { bp.setConditionEnabled(true); @@ -104,7 +104,7 @@ public class AddLineBreakpointAction extends DumbAwareAction implements ActionRe } } - public static class WithLogging extends AddLineBreakpointAction implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { + public static class WithLogging extends AddLineBreakpointAction implements SplitDebuggerAction { @Override protected boolean editBreakpointSettings(XLineBreakpointProxy bp, @Nullable String editorSelection) { bp.setSuspendPolicy(SuspendPolicy.NONE); diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/XDebuggerFramesList.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/XDebuggerFramesList.java index 97795d3c6f52..9e0f39713fe9 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/XDebuggerFramesList.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/XDebuggerFramesList.java @@ -5,7 +5,6 @@ import com.intellij.icons.AllIcons; import com.intellij.ide.DataManager; import com.intellij.ide.HelpTooltip; import com.intellij.openapi.actionSystem.*; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.ReadAction; import com.intellij.openapi.fileEditor.OpenFileDescriptor; @@ -17,6 +16,7 @@ import com.intellij.openapi.util.Key; import com.intellij.openapi.util.NlsContexts; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.pom.Navigatable; import com.intellij.psi.PsiManager; import com.intellij.psi.search.scope.NonProjectFilesScope; @@ -36,13 +36,11 @@ import com.intellij.util.concurrency.annotations.RequiresEdt; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.ui.*; import com.intellij.xdebugger.XDebugSession; -import com.intellij.xdebugger.XDebugSessionListener; import com.intellij.xdebugger.XDebuggerBundle; import com.intellij.xdebugger.XSourcePosition; import com.intellij.xdebugger.frame.XDropFrameHandler; import com.intellij.xdebugger.frame.XStackFrame; import com.intellij.xml.util.XmlStringUtil; -import kotlinx.coroutines.CoroutineScope; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -519,7 +517,7 @@ public class XDebuggerFramesList extends DebuggerFramesList implements UiCompati Color getBackgroundColor(); } - public static class CopyStackAction extends DumbAwareAction implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { + public static class CopyStackAction extends DumbAwareAction implements SplitDebuggerAction { @Override public void update(@NotNull AnActionEvent e) { XDebuggerFramesList framesList = e.getData(FRAMES_LIST); @@ -762,7 +760,7 @@ public class XDebuggerFramesList extends DebuggerFramesList implements UiCompati return session.getDropFrameHandler(); } - private static class ResetFrameAction extends DumbAwareAction implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { + private static class ResetFrameAction extends DumbAwareAction implements SplitDebuggerAction { @Override public void actionPerformed(@NotNull AnActionEvent e) { var inputEvent = e.getInputEvent(); diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XCopyWatchAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XCopyWatchAction.java index 0cf1a15015c0..cc4be6d6745f 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XCopyWatchAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XCopyWatchAction.java @@ -3,7 +3,7 @@ package com.intellij.xdebugger.impl.frame.actions; import com.intellij.openapi.actionSystem.ActionUpdateThread; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.xdebugger.XExpression; import com.intellij.xdebugger.impl.breakpoints.XExpressionImpl; import com.intellij.xdebugger.impl.frame.XWatchesView; @@ -14,7 +14,7 @@ import com.intellij.xdebugger.impl.ui.tree.nodes.XDebuggerTreeNode; import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeImpl; import org.jetbrains.annotations.NotNull; -public class XCopyWatchAction extends XWatchesTreeActionBase implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +public class XCopyWatchAction extends XWatchesTreeActionBase implements SplitDebuggerAction { @Override protected boolean isEnabled(@NotNull AnActionEvent e, @NotNull XDebuggerTree tree) { return !getSelectedNodes(tree, XValueNodeImpl.class).isEmpty(); diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XEditWatchAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XEditWatchAction.java index 7214500cf090..e52ce0605b21 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XEditWatchAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XEditWatchAction.java @@ -3,7 +3,7 @@ package com.intellij.xdebugger.impl.frame.actions; import com.intellij.openapi.actionSystem.ActionUpdateThread; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.xdebugger.impl.frame.XWatchesView; import com.intellij.xdebugger.impl.ui.tree.XDebuggerTree; import com.intellij.xdebugger.impl.ui.tree.nodes.WatchNodeImpl; @@ -15,7 +15,7 @@ import org.jetbrains.annotations.NotNull; import java.util.List; @ApiStatus.Internal -public class XEditWatchAction extends XWatchesTreeActionBase implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +public class XEditWatchAction extends XWatchesTreeActionBase implements SplitDebuggerAction { @Override public void update(final @NotNull AnActionEvent e) { XDebuggerTree tree = XDebuggerTree.getTree(e); diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XMoveWatchDown.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XMoveWatchDown.java index 36b25ae95977..513cd0f1dd50 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XMoveWatchDown.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XMoveWatchDown.java @@ -3,7 +3,7 @@ package com.intellij.xdebugger.impl.frame.actions; import com.intellij.openapi.actionSystem.ActionUpdateThread; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.ui.CommonActionsPanel; import com.intellij.util.containers.ContainerUtil; import com.intellij.xdebugger.impl.frame.XWatchesView; @@ -16,7 +16,7 @@ import org.jetbrains.annotations.NotNull; import java.util.List; -public class XMoveWatchDown extends XWatchesTreeActionBase implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +public class XMoveWatchDown extends XWatchesTreeActionBase implements SplitDebuggerAction { public XMoveWatchDown() { getTemplatePresentation().setIcon(CommonActionsPanel.Buttons.DOWN.getIcon()); } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XMoveWatchUp.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XMoveWatchUp.java index c0f97ce69508..bcd6db622fcb 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XMoveWatchUp.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XMoveWatchUp.java @@ -3,7 +3,7 @@ package com.intellij.xdebugger.impl.frame.actions; import com.intellij.openapi.actionSystem.ActionUpdateThread; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.ui.CommonActionsPanel; import com.intellij.util.containers.ContainerUtil; import com.intellij.xdebugger.impl.frame.XWatchesView; @@ -16,7 +16,7 @@ import org.jetbrains.annotations.NotNull; import java.util.List; -public class XMoveWatchUp extends XWatchesTreeActionBase implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +public class XMoveWatchUp extends XWatchesTreeActionBase implements SplitDebuggerAction { public XMoveWatchUp() { getTemplatePresentation().setIcon(CommonActionsPanel.Buttons.UP.getIcon()); } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XNewWatchAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XNewWatchAction.java index 45008d99d8f7..1651c98fd2ae 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XNewWatchAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XNewWatchAction.java @@ -3,8 +3,8 @@ package com.intellij.xdebugger.impl.frame.actions; import com.intellij.openapi.actionSystem.ActionUpdateThread; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; import com.intellij.openapi.project.DumbAwareAction; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.xdebugger.impl.frame.XDebugSessionProxy; import com.intellij.xdebugger.impl.frame.XVariablesViewBase; import com.intellij.xdebugger.impl.frame.XWatchesView; @@ -16,7 +16,7 @@ import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; @ApiStatus.Internal -public class XNewWatchAction extends DumbAwareAction implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +public class XNewWatchAction extends DumbAwareAction implements SplitDebuggerAction { @Override public void actionPerformed(@NotNull AnActionEvent e) { XWatchesView view = DebuggerUIUtil.getWatchesView(e); diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XPauseWatchAction.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XPauseWatchAction.kt index 3ffc6cd97c6b..1dd75e68b4c1 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XPauseWatchAction.kt +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XPauseWatchAction.kt @@ -2,17 +2,16 @@ package com.intellij.xdebugger.impl.frame.actions import com.intellij.icons.AllIcons -import com.intellij.idea.ActionsBundle import com.intellij.openapi.actionSystem.ActionUpdateThread import com.intellij.openapi.actionSystem.AnActionEvent -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.XDebuggerBundle import com.intellij.xdebugger.frame.XValuePlace import com.intellij.xdebugger.impl.frame.XWatchesView import com.intellij.xdebugger.impl.ui.tree.XDebuggerTree import com.intellij.xdebugger.impl.ui.tree.nodes.WatchNodeImpl -private class XPauseWatchAction : XWatchesTreeActionBase(), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +private class XPauseWatchAction : XWatchesTreeActionBase(), SplitDebuggerAction { override fun getActionUpdateThread(): ActionUpdateThread = ActionUpdateThread.EDT override fun isEnabled(e: AnActionEvent, tree: XDebuggerTree): Boolean { diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XRemoveAllWatchesAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XRemoveAllWatchesAction.java index f7902906feb6..51eb9ef2f242 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XRemoveAllWatchesAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XRemoveAllWatchesAction.java @@ -17,14 +17,14 @@ package com.intellij.xdebugger.impl.frame.actions; import com.intellij.openapi.actionSystem.ActionUpdateThread; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.xdebugger.impl.frame.XWatchesView; import com.intellij.xdebugger.impl.ui.tree.XDebuggerTree; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; @ApiStatus.Internal -public class XRemoveAllWatchesAction extends XWatchesTreeActionBase implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +public class XRemoveAllWatchesAction extends XWatchesTreeActionBase implements SplitDebuggerAction { @Override protected boolean isEnabled(@NotNull AnActionEvent e, @NotNull XDebuggerTree tree) { return tree.getRoot().getChildCount() > 0; diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XRemoveWatchAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XRemoveWatchAction.java index 7ff6f99183b4..f9f972b1c1e5 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XRemoveWatchAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XRemoveWatchAction.java @@ -18,7 +18,7 @@ package com.intellij.xdebugger.impl.frame.actions; import com.intellij.openapi.actionSystem.ActionPlaces; import com.intellij.openapi.actionSystem.ActionUpdateThread; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.xdebugger.impl.frame.XWatchesView; import com.intellij.xdebugger.impl.ui.tree.XDebuggerTree; import com.intellij.xdebugger.impl.ui.tree.nodes.WatchNodeImpl; @@ -28,7 +28,7 @@ import org.jetbrains.annotations.NotNull; import java.util.List; @ApiStatus.Internal -public class XRemoveWatchAction extends XWatchesTreeActionBase implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +public class XRemoveWatchAction extends XWatchesTreeActionBase implements SplitDebuggerAction { @Override public void update(@NotNull AnActionEvent e) { XDebuggerTree tree = XDebuggerTree.getTree(e); diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XSeparateWatchesAndVariables.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XSeparateWatchesAndVariables.java index 8c5f7cbc5e49..4541f9b50bbc 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XSeparateWatchesAndVariables.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/actions/XSeparateWatchesAndVariables.java @@ -4,12 +4,12 @@ package com.intellij.xdebugger.impl.frame.actions; import com.intellij.openapi.actionSystem.ActionUpdateThread; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.ToggleAction; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.xdebugger.impl.ui.DebuggerUIUtil; import com.intellij.xdebugger.impl.ui.XDebugSessionTab; import org.jetbrains.annotations.NotNull; -final class XSeparateWatchesAndVariables extends ToggleAction implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +final class XSeparateWatchesAndVariables extends ToggleAction implements SplitDebuggerAction { @Override public boolean isSelected(@NotNull AnActionEvent e) { e.getPresentation().setEnabled(DebuggerUIUtil.getSessionProxy(e) != null); diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/inline/AddInlineWatchAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/inline/AddInlineWatchAction.java index 357327262e98..f7af741b5ed5 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/inline/AddInlineWatchAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/inline/AddInlineWatchAction.java @@ -1,14 +1,14 @@ // Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.xdebugger.impl.inline; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.xdebugger.impl.DebuggerSupport; import com.intellij.xdebugger.impl.actions.DebuggerActionHandler; import com.intellij.xdebugger.impl.actions.XDebuggerActionBase; import com.intellij.xdebugger.impl.actions.handlers.XAddToInlineWatchesFromEditorActionHandler; import org.jetbrains.annotations.NotNull; -final class AddInlineWatchAction extends XDebuggerActionBase implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +final class AddInlineWatchAction extends XDebuggerActionBase implements SplitDebuggerAction { private static final XAddToInlineWatchesFromEditorActionHandler ourHandler = new XAddToInlineWatchesFromEditorActionHandler(); AddInlineWatchAction() { diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/pinned/items/actions/XDebuggerPinToTopAction.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/pinned/items/actions/XDebuggerPinToTopAction.kt index 26be0c022b3f..d789d92dde36 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/pinned/items/actions/XDebuggerPinToTopAction.kt +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/pinned/items/actions/XDebuggerPinToTopAction.kt @@ -4,8 +4,8 @@ package com.intellij.xdebugger.impl.pinned.items.actions import com.intellij.internal.statistic.collectors.fus.actions.persistence.ActionsCollectorImpl import com.intellij.openapi.actionSystem.* import com.intellij.openapi.actionSystem.impl.SimpleDataContext -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification import com.intellij.openapi.project.Project +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.XDebuggerBundle import com.intellij.xdebugger.impl.XDebuggerUtilImpl import com.intellij.xdebugger.impl.pinned.items.* @@ -16,7 +16,7 @@ import icons.PlatformDebuggerImplIcons import java.awt.event.MouseEvent import java.util.* -class XDebuggerPinToTopAction : XDebuggerTreeActionBase(), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +class XDebuggerPinToTopAction : XDebuggerTreeActionBase(), SplitDebuggerAction { companion object { fun pinToTopField(mouseEvent: MouseEvent?, node: XValueNodeImpl) { diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/ShowReferringObjectsAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/ShowReferringObjectsAction.java index 22f8becef58b..b4dce4d623a7 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/ShowReferringObjectsAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/ShowReferringObjectsAction.java @@ -4,8 +4,8 @@ package com.intellij.xdebugger.impl.ui.tree.actions; import com.intellij.openapi.actionSystem.ActionUpdateThread; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.Presentation; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; import com.intellij.openapi.ui.DialogWrapper; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.xdebugger.XDebugSession; import com.intellij.xdebugger.XDebuggerBundle; import com.intellij.xdebugger.XSourcePosition; @@ -22,8 +22,7 @@ import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -public class ShowReferringObjectsAction extends XDebuggerTreeActionBase - implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +public class ShowReferringObjectsAction extends XDebuggerTreeActionBase implements SplitDebuggerAction { @Override public @NotNull ActionUpdateThread getActionUpdateThread() { diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/SortValuesToggleAction.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/SortValuesToggleAction.kt index fa8d22cb4aab..49824db31f3c 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/SortValuesToggleAction.kt +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/SortValuesToggleAction.kt @@ -5,8 +5,8 @@ import com.intellij.configurationStore.saveSettingsForRemoteDevelopment import com.intellij.openapi.actionSystem.ActionUpdateThread import com.intellij.openapi.actionSystem.AnActionEvent import com.intellij.openapi.actionSystem.ToggleAction -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend import com.intellij.openapi.project.DumbAware +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.util.application import com.intellij.xdebugger.impl.XDebuggerUtilImpl import com.intellij.xdebugger.impl.settings.XDebuggerSettingManagerImpl @@ -14,7 +14,7 @@ import com.intellij.xdebugger.impl.ui.DebuggerUIUtil import org.jetbrains.annotations.ApiStatus @ApiStatus.Internal -class SortValuesToggleAction : ToggleAction(), DumbAware, FrontendOtherwiseBackend { +class SortValuesToggleAction : ToggleAction(), DumbAware, SplitDebuggerAction { override fun update(e: AnActionEvent) { super.update(e) diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XCompareWithClipboardAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XCompareWithClipboardAction.java index c957939b62c8..e6c8db503e5c 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XCompareWithClipboardAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XCompareWithClipboardAction.java @@ -19,15 +19,15 @@ import com.intellij.diff.DiffManager; import com.intellij.diff.DiffRequestFactory; import com.intellij.diff.requests.DiffRequest; import com.intellij.openapi.actionSystem.ActionUpdateThread; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; import com.intellij.openapi.project.Project; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.util.ui.UIUtil; import com.intellij.xdebugger.impl.ui.tree.XDebuggerTree; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; @ApiStatus.Internal -public class XCompareWithClipboardAction extends XFetchValueActionBase implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +public class XCompareWithClipboardAction extends XFetchValueActionBase implements SplitDebuggerAction { @Override protected void handle(final Project project, final String value, XDebuggerTree tree) { diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XCopyNameAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XCopyNameAction.java index 9901378aafb4..94219f4776a1 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XCopyNameAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XCopyNameAction.java @@ -17,8 +17,8 @@ package com.intellij.xdebugger.impl.ui.tree.actions; import com.intellij.openapi.actionSystem.ActionUpdateThread; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; import com.intellij.openapi.ide.CopyPasteManager; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeImpl; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; @@ -26,7 +26,7 @@ import org.jetbrains.annotations.NotNull; import java.awt.datatransfer.StringSelection; @ApiStatus.Internal -public class XCopyNameAction extends XDebuggerTreeActionBase implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +public class XCopyNameAction extends XDebuggerTreeActionBase implements SplitDebuggerAction { @Override protected void perform(XValueNodeImpl node, @NotNull String nodeName, AnActionEvent e) { diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XCopyValueAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XCopyValueAction.java index 6d205fef5e62..eba83d38e0bd 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XCopyValueAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XCopyValueAction.java @@ -16,9 +16,9 @@ package com.intellij.xdebugger.impl.ui.tree.actions; import com.intellij.openapi.actionSystem.ActionUpdateThread; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; import com.intellij.openapi.ide.CopyPasteManager; import com.intellij.openapi.project.Project; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.util.containers.ContainerUtil; import com.intellij.xdebugger.impl.frame.actions.XWatchesTreeActionBase; import com.intellij.xdebugger.impl.ui.tree.XDebuggerTree; @@ -49,6 +49,6 @@ public abstract class XCopyValueAction extends XFetchValueActionBase { return ActionUpdateThread.BGT; } - static class Simple extends XCopyValueAction implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { + static class Simple extends XCopyValueAction implements SplitDebuggerAction { } } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XInspectAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XInspectAction.java index a4e859219abc..6ca5b503b090 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XInspectAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XInspectAction.java @@ -3,7 +3,7 @@ package com.intellij.xdebugger.impl.ui.tree.actions; import com.intellij.openapi.actionSystem.ActionUpdateThread; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.xdebugger.frame.XValue; import com.intellij.xdebugger.impl.ui.DebuggerUIUtil; import com.intellij.xdebugger.impl.ui.tree.XDebuggerTree; @@ -13,7 +13,7 @@ import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; @ApiStatus.Internal -public class XInspectAction extends XDebuggerTreeActionBase implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +public class XInspectAction extends XDebuggerTreeActionBase implements SplitDebuggerAction { @Override public @NotNull ActionUpdateThread getActionUpdateThread() { return ActionUpdateThread.BGT; diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XJumpToSourceAction.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XJumpToSourceAction.kt index f6a64ae04521..ffed5821436f 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XJumpToSourceAction.kt +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XJumpToSourceAction.kt @@ -3,12 +3,12 @@ package com.intellij.xdebugger.impl.ui.tree.actions import com.intellij.openapi.actionSystem.ActionUpdateThread import com.intellij.openapi.actionSystem.AnActionEvent -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification import com.intellij.platform.debugger.impl.rpc.XDebuggerNavigationApi import com.intellij.platform.debugger.impl.rpc.XValueId +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeImpl -private class XJumpToSourceAction : XJumpToSourceActionBase(), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +private class XJumpToSourceAction : XJumpToSourceActionBase(), SplitDebuggerAction { override suspend fun navigateToSource(xValueId: XValueId): Boolean = XDebuggerNavigationApi.getInstance().navigateToXValue(xValueId).await() diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XJumpToTypeSourceAction.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XJumpToTypeSourceAction.kt index 199a983bf840..930f402a9522 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XJumpToTypeSourceAction.kt +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XJumpToTypeSourceAction.kt @@ -3,12 +3,12 @@ package com.intellij.xdebugger.impl.ui.tree.actions import com.intellij.openapi.actionSystem.ActionUpdateThread import com.intellij.openapi.actionSystem.AnActionEvent -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification import com.intellij.platform.debugger.impl.rpc.XDebuggerNavigationApi import com.intellij.platform.debugger.impl.rpc.XValueId +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeImpl -private class XJumpToTypeSourceAction : XJumpToSourceActionBase(), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +private class XJumpToTypeSourceAction : XJumpToSourceActionBase(), SplitDebuggerAction { override suspend fun navigateToSource(xValueId: XValueId): Boolean = XDebuggerNavigationApi.getInstance().navigateToXValueType(xValueId).await() diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XSetValueAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XSetValueAction.java index 09d4f6196872..67c3e397e5ab 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XSetValueAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XSetValueAction.java @@ -4,7 +4,7 @@ package com.intellij.xdebugger.impl.ui.tree.actions; import com.intellij.openapi.actionSystem.ActionUpdateThread; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.Presentation; -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction; import com.intellij.xdebugger.impl.ui.tree.SetValueInplaceEditor; import com.intellij.xdebugger.impl.ui.tree.nodes.WatchNode; import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeImpl; @@ -12,7 +12,7 @@ import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; @ApiStatus.Internal -public class XSetValueAction extends XDebuggerTreeActionBase implements ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +public class XSetValueAction extends XDebuggerTreeActionBase implements SplitDebuggerAction { @Override public @NotNull ActionUpdateThread getActionUpdateThread() { return ActionUpdateThread.BGT; diff --git a/plugins/stream-debugger-core/intellij.debugger.streams.shared/BUILD.bazel b/plugins/stream-debugger-core/intellij.debugger.streams.shared/BUILD.bazel index d59d2b8f6d51..56c6ef1d39ac 100644 --- a/plugins/stream-debugger-core/intellij.debugger.streams.shared/BUILD.bazel +++ b/plugins/stream-debugger-core/intellij.debugger.streams.shared/BUILD.bazel @@ -25,6 +25,7 @@ jvm_library( "//libraries/kotlinx/serialization/json", "//platform/xdebugger-impl:debugger-impl", "//platform/xdebugger-impl/rpc", + "//platform/xdebugger-impl/shared", ] ) ### auto-generated section `build intellij.debugger.streams.shared` end \ No newline at end of file diff --git a/plugins/stream-debugger-core/intellij.debugger.streams.shared/intellij.debugger.streams.shared.iml b/plugins/stream-debugger-core/intellij.debugger.streams.shared/intellij.debugger.streams.shared.iml index 09d0ad0a6773..95afde08a9e8 100644 --- a/plugins/stream-debugger-core/intellij.debugger.streams.shared/intellij.debugger.streams.shared.iml +++ b/plugins/stream-debugger-core/intellij.debugger.streams.shared/intellij.debugger.streams.shared.iml @@ -44,5 +44,6 @@ + \ No newline at end of file diff --git a/plugins/stream-debugger-core/intellij.debugger.streams.shared/src/com/intellij/debugger/streams/shared/TraceStreamAction.kt b/plugins/stream-debugger-core/intellij.debugger.streams.shared/src/com/intellij/debugger/streams/shared/TraceStreamAction.kt index a937652ea47e..6fd9f9cf9c43 100644 --- a/plugins/stream-debugger-core/intellij.debugger.streams.shared/src/com/intellij/debugger/streams/shared/TraceStreamAction.kt +++ b/plugins/stream-debugger-core/intellij.debugger.streams.shared/src/com/intellij/debugger/streams/shared/TraceStreamAction.kt @@ -3,14 +3,14 @@ package com.intellij.debugger.streams.shared import com.intellij.openapi.actionSystem.ActionUpdateThread import com.intellij.openapi.actionSystem.AnAction import com.intellij.openapi.actionSystem.AnActionEvent -import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification +import com.intellij.platform.debugger.impl.shared.SplitDebuggerAction import com.intellij.xdebugger.impl.ui.DebuggerUIUtil import kotlinx.coroutines.launch /** * @author Vitaliy.Bibaev */ -open class TraceStreamAction : AnAction(), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { +open class TraceStreamAction : AnAction(), SplitDebuggerAction { override fun update(e: AnActionEvent) { val project = e.project ?: return val presentation = e.presentation