[rd debugger] IJPL-215910 Split debugger: never called split actions on backend

GitOrigin-RevId: e8d8c1daecad5e713df4b892e140544e7d286898
This commit is contained in:
Maksim Zuev
2025-11-03 13:51:05 +00:00
committed by intellij-monorepo-bot
parent 01841e35c9
commit 74e2a095d0
70 changed files with 159 additions and 140 deletions
@@ -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
@@ -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
@@ -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
}
@@ -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
}
@@ -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)
}
@@ -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
@@ -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)
}
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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;
@@ -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 {
@@ -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) {
@@ -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)
}
@@ -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
@@ -45,5 +45,6 @@
<orderEntry type="module" module-name="intellij.platform.editor.ui" />
<orderEntry type="module" module-name="intellij.platform.rpc.topics" />
<orderEntry type="module" module-name="intellij.platform.debugger.impl.rpc" />
<orderEntry type="module" module-name="intellij.platform.ide.impl" />
</component>
</module>
@@ -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
}
}
@@ -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();
}
@@ -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)
}
@@ -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() {
@@ -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() {
@@ -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
}
@@ -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
}
@@ -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
}
@@ -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
@@ -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
@@ -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
}
@@ -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)
@@ -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)
}
@@ -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) }
}
@@ -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) {
@@ -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
}
@@ -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
}
@@ -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 {
@@ -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();
@@ -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
@@ -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
}
@@ -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
}
@@ -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<XBreakpointProxy> breakpoints = findLineBreakpoints(e);
@@ -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() {
@@ -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() {
@@ -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
}
@@ -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
}
@@ -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();
@@ -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);
@@ -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();
@@ -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();
@@ -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);
@@ -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());
}
@@ -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());
}
@@ -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);
@@ -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 {
@@ -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;
@@ -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);
@@ -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);
@@ -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() {
@@ -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) {
@@ -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() {
@@ -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)
@@ -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) {
@@ -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) {
@@ -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 {
}
}
@@ -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;
@@ -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()
@@ -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()
@@ -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;
@@ -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
@@ -44,5 +44,6 @@
<orderEntry type="module" module-name="intellij.libraries.kotlinx.serialization.json" />
<orderEntry type="module" module-name="intellij.platform.debugger.impl" />
<orderEntry type="module" module-name="intellij.platform.debugger.impl.rpc" />
<orderEntry type="module" module-name="intellij.platform.debugger.impl.shared" />
</component>
</module>
@@ -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