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