From 0f51ee667b2fa944315d6ddaf385e7b96d27addd Mon Sep 17 00:00:00 2001 From: Alexey Korovin Date: Wed, 9 Oct 2024 14:04:07 +0200 Subject: [PATCH] API changes GitOrigin-RevId: 0083fb392bde71c5408ea68e9641d0218cc5f77d --- .../ide/IdeCustomizableActionHelper.kt | 2 + platform/util/ui/api-dump.txt | 4 ++ .../xdebugger-api/api-dump-experimental.txt | 2 + .../xdebugger/frame/XExecutionStack.java | 5 ++ .../xdebugger-impl/api-dump-experimental.txt | 48 +++++++++++++++++++ .../actions/DebuggerThreadActionHandler.java | 2 + .../actions/FreezeActiveThreadAction.java | 2 + .../actions/FreezeInactiveThreadsAction.java | 2 + ...ezeInactiveThreadsAmongSelectedAction.java | 2 + .../actions/FreezeSelectedThreadsAction.java | 2 + .../impl/actions/ThawActiveThreadAction.java | 2 + .../impl/actions/ThawAllThreadsAction.java | 2 + .../actions/ThawSelectedThreadsAction.java | 2 + .../actions/XDebuggerIdeCustomizableAction.kt | 2 + .../impl/frame/XDebuggerThreadsList.kt | 9 +++- 15 files changed, 87 insertions(+), 1 deletion(-) diff --git a/platform/platform-impl/src/com/intellij/ide/IdeCustomizableActionHelper.kt b/platform/platform-impl/src/com/intellij/ide/IdeCustomizableActionHelper.kt index 57aa1f6fa4dc..f6fbcaf93491 100644 --- a/platform/platform-impl/src/com/intellij/ide/IdeCustomizableActionHelper.kt +++ b/platform/platform-impl/src/com/intellij/ide/IdeCustomizableActionHelper.kt @@ -5,7 +5,9 @@ import com.intellij.openapi.actionSystem.ActionManager import com.intellij.openapi.actionSystem.AnAction import com.intellij.openapi.actionSystem.AnActionEvent import com.intellij.ui.IdeUICustomization +import org.jetbrains.annotations.ApiStatus +@ApiStatus.Internal class IdeCustomizableActionHelper(private val action: AnAction) { private val id by lazy { ActionManager.getInstance().getId(action)!! } diff --git a/platform/util/ui/api-dump.txt b/platform/util/ui/api-dump.txt index 207d9dff7467..6b77114d334b 100644 --- a/platform/util/ui/api-dump.txt +++ b/platform/util/ui/api-dump.txt @@ -322,6 +322,8 @@ f:com.intellij.icons.AllIcons$Debugger - sf:ForceStepInto:javax.swing.Icon - sf:ForceStepOver:javax.swing.Icon - sf:Frame:javax.swing.Icon +- sf:Freeze:javax.swing.Icon +- sf:FreezeAll:javax.swing.Icon - sf:KillProcess:javax.swing.Icon - sf:LambdaBreakpoint:javax.swing.Icon - sf:MultipleBreakpoints:javax.swing.Icon @@ -337,6 +339,8 @@ f:com.intellij.icons.AllIcons$Debugger - sf:Selfreference:javax.swing.Icon - sf:ShowCurrentFrame:javax.swing.Icon - sf:SmartStepInto:javax.swing.Icon +- sf:Thaw:javax.swing.Icon +- sf:ThawAll:javax.swing.Icon - sf:ThreadAtBreakpoint:javax.swing.Icon - sf:ThreadCurrent:javax.swing.Icon - sf:ThreadFrozen:javax.swing.Icon diff --git a/platform/xdebugger-api/api-dump-experimental.txt b/platform/xdebugger-api/api-dump-experimental.txt index 4c06f6ceff66..2952f64ca6b7 100644 --- a/platform/xdebugger-api/api-dump-experimental.txt +++ b/platform/xdebugger-api/api-dump-experimental.txt @@ -16,6 +16,8 @@ a:com.intellij.xdebugger.evaluation.XDebuggerEditorsProvider *:com.intellij.xdebugger.frame.XDropFrameHandler - a:canDrop(com.intellij.xdebugger.frame.XStackFrame):Z - a:drop(com.intellij.xdebugger.frame.XStackFrame):V +a:com.intellij.xdebugger.frame.XExecutionStack +- *sf:SELECTED_STACKS:com.intellij.openapi.actionSystem.DataKey *:com.intellij.xdebugger.frame.XStringValueModifier - a:stringToXExpression(java.lang.String):com.intellij.xdebugger.XExpression *:com.intellij.xdebugger.ui.TextValueVisualizer diff --git a/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XExecutionStack.java b/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XExecutionStack.java index f100d3ef5292..4ac377b5366a 100644 --- a/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XExecutionStack.java +++ b/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XExecutionStack.java @@ -19,6 +19,11 @@ import java.util.List; * 'Debug' tool window */ public abstract class XExecutionStack { + + /** + * Data constant which contains a set of selected stacks on a view. Used to support actions that work on a group of stacks/threads. + */ + @ApiStatus.Experimental public static final DataKey> SELECTED_STACKS = DataKey.create("XExecutionStacks"); public static final XExecutionStack[] EMPTY_ARRAY = new XExecutionStack[0]; diff --git a/platform/xdebugger-impl/api-dump-experimental.txt b/platform/xdebugger-impl/api-dump-experimental.txt index 16cab6b7aae4..a7421d9eed2f 100644 --- a/platform/xdebugger-impl/api-dump-experimental.txt +++ b/platform/xdebugger-impl/api-dump-experimental.txt @@ -1,5 +1,53 @@ *:com.intellij.xdebugger.attach.XAttachRecentItemsMatcher - a:getMatchingAttachItems(com.intellij.xdebugger.impl.actions.AttachToProcessActionBase$RecentItem,java.util.List,Z,com.intellij.openapi.project.Project,com.intellij.openapi.util.UserDataHolder):java.util.List +*:com.intellij.xdebugger.impl.ThreadsActionsProvider +- getFreezeActiveThreadHandler():com.intellij.xdebugger.impl.actions.DebuggerActionHandler +- getFreezeInactiveThreadsAmongSelectedHandler():com.intellij.xdebugger.impl.actions.DebuggerActionHandler +- getFreezeInactiveThreadsHandler():com.intellij.xdebugger.impl.actions.DebuggerActionHandler +- getFreezeSelectedThreads():com.intellij.xdebugger.impl.actions.DebuggerActionHandler +- getThawActiveThreadHandler():com.intellij.xdebugger.impl.actions.DebuggerActionHandler +- getThawAllThreadsHandler():com.intellij.xdebugger.impl.actions.DebuggerActionHandler +- getThawSelectedThreads():com.intellij.xdebugger.impl.actions.DebuggerActionHandler +*c:com.intellij.xdebugger.impl.actions.DebuggerThreadActionHandler +- com.intellij.xdebugger.impl.actions.DebuggerActionHandler +- sf:FreezeActiveThread:com.intellij.xdebugger.impl.actions.DebuggerThreadActionHandler +- sf:FreezeInactiveThreads:com.intellij.xdebugger.impl.actions.DebuggerThreadActionHandler +- sf:FreezeInactiveThreadsAmongSelected:com.intellij.xdebugger.impl.actions.DebuggerThreadActionHandler +- sf:FreezeSelectedThreads:com.intellij.xdebugger.impl.actions.DebuggerThreadActionHandler +- sf:ThawActiveThread:com.intellij.xdebugger.impl.actions.DebuggerThreadActionHandler +- sf:ThawAllThreads:com.intellij.xdebugger.impl.actions.DebuggerThreadActionHandler +- sf:ThawSelectedThreads:com.intellij.xdebugger.impl.actions.DebuggerThreadActionHandler +- isEnabled(com.intellij.openapi.project.Project,com.intellij.openapi.actionSystem.AnActionEvent):Z +- isHidden(com.intellij.openapi.project.Project,com.intellij.openapi.actionSystem.AnActionEvent):Z +- perform(com.intellij.openapi.project.Project,com.intellij.openapi.actionSystem.AnActionEvent):V +*c:com.intellij.xdebugger.impl.actions.FreezeActiveThreadAction +- com.intellij.xdebugger.impl.actions.XDebuggerActionBase +- ():V +- p:getHandler(com.intellij.xdebugger.impl.DebuggerSupport):com.intellij.xdebugger.impl.actions.DebuggerActionHandler +*c:com.intellij.xdebugger.impl.actions.FreezeInactiveThreadsAction +- com.intellij.xdebugger.impl.actions.XDebuggerActionBase +- ():V +- p:getHandler(com.intellij.xdebugger.impl.DebuggerSupport):com.intellij.xdebugger.impl.actions.DebuggerActionHandler +*c:com.intellij.xdebugger.impl.actions.FreezeInactiveThreadsAmongSelectedAction +- com.intellij.xdebugger.impl.actions.XDebuggerActionBase +- ():V +- p:getHandler(com.intellij.xdebugger.impl.DebuggerSupport):com.intellij.xdebugger.impl.actions.DebuggerActionHandler +*c:com.intellij.xdebugger.impl.actions.FreezeSelectedThreadsAction +- com.intellij.xdebugger.impl.actions.XDebuggerActionBase +- ():V +- p:getHandler(com.intellij.xdebugger.impl.DebuggerSupport):com.intellij.xdebugger.impl.actions.DebuggerActionHandler +*c:com.intellij.xdebugger.impl.actions.ThawActiveThreadAction +- com.intellij.xdebugger.impl.actions.XDebuggerActionBase +- ():V +- p:getHandler(com.intellij.xdebugger.impl.DebuggerSupport):com.intellij.xdebugger.impl.actions.DebuggerActionHandler +*c:com.intellij.xdebugger.impl.actions.ThawAllThreadsAction +- com.intellij.xdebugger.impl.actions.XDebuggerActionBase +- ():V +- p:getHandler(com.intellij.xdebugger.impl.DebuggerSupport):com.intellij.xdebugger.impl.actions.DebuggerActionHandler +*c:com.intellij.xdebugger.impl.actions.ThawSelectedThreadsAction +- com.intellij.xdebugger.impl.actions.XDebuggerActionBase +- ():V +- p:getHandler(com.intellij.xdebugger.impl.DebuggerSupport):com.intellij.xdebugger.impl.actions.DebuggerActionHandler *e:com.intellij.xdebugger.impl.dfaassist.DfaHint - java.lang.Enum - sf:AIOOBE:com.intellij.xdebugger.impl.dfaassist.DfaHint diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/DebuggerThreadActionHandler.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/DebuggerThreadActionHandler.java index 311147493c48..ba1e58aa5018 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/DebuggerThreadActionHandler.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/DebuggerThreadActionHandler.java @@ -21,10 +21,12 @@ import com.intellij.openapi.project.Project; import com.intellij.xdebugger.XDebugSession; import com.intellij.xdebugger.impl.ThreadsActionsProvider; import com.intellij.xdebugger.impl.ui.DebuggerUIUtil; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import java.util.function.Function; +@ApiStatus.Experimental public class DebuggerThreadActionHandler extends DebuggerActionHandler { public static final DebuggerThreadActionHandler FreezeActiveThread = new DebuggerThreadActionHandler(provider -> provider.getFreezeActiveThreadHandler()); diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/FreezeActiveThreadAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/FreezeActiveThreadAction.java index 949aa6609768..fb693fc6a661 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/FreezeActiveThreadAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/FreezeActiveThreadAction.java @@ -16,8 +16,10 @@ package com.intellij.xdebugger.impl.actions; import com.intellij.xdebugger.impl.DebuggerSupport; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; +@ApiStatus.Experimental public class FreezeActiveThreadAction extends XDebuggerIdeCustomizableAction { @Override @NotNull diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/FreezeInactiveThreadsAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/FreezeInactiveThreadsAction.java index 88c622593122..e4b30d90d7f1 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/FreezeInactiveThreadsAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/FreezeInactiveThreadsAction.java @@ -16,8 +16,10 @@ package com.intellij.xdebugger.impl.actions; import com.intellij.xdebugger.impl.DebuggerSupport; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; +@ApiStatus.Experimental public class FreezeInactiveThreadsAction extends XDebuggerIdeCustomizableAction { @Override @NotNull diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/FreezeInactiveThreadsAmongSelectedAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/FreezeInactiveThreadsAmongSelectedAction.java index 3824e8a08c25..83736b911b1c 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/FreezeInactiveThreadsAmongSelectedAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/FreezeInactiveThreadsAmongSelectedAction.java @@ -16,8 +16,10 @@ package com.intellij.xdebugger.impl.actions; import com.intellij.xdebugger.impl.DebuggerSupport; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; +@ApiStatus.Experimental public class FreezeInactiveThreadsAmongSelectedAction extends XDebuggerIdeCustomizableAction { @Override @NotNull diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/FreezeSelectedThreadsAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/FreezeSelectedThreadsAction.java index a9563886aa7e..353953bd32c7 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/FreezeSelectedThreadsAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/FreezeSelectedThreadsAction.java @@ -16,8 +16,10 @@ package com.intellij.xdebugger.impl.actions; import com.intellij.xdebugger.impl.DebuggerSupport; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; +@ApiStatus.Experimental public class FreezeSelectedThreadsAction extends XDebuggerIdeCustomizableAction { @Override @NotNull diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ThawActiveThreadAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ThawActiveThreadAction.java index b4a4b13a045c..6f031bb1b2e8 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ThawActiveThreadAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ThawActiveThreadAction.java @@ -16,8 +16,10 @@ package com.intellij.xdebugger.impl.actions; import com.intellij.xdebugger.impl.DebuggerSupport; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; +@ApiStatus.Experimental public class ThawActiveThreadAction extends XDebuggerIdeCustomizableAction { @Override @NotNull diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ThawAllThreadsAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ThawAllThreadsAction.java index d4f0202100cb..ed2c4f2833a5 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ThawAllThreadsAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ThawAllThreadsAction.java @@ -16,8 +16,10 @@ package com.intellij.xdebugger.impl.actions; import com.intellij.xdebugger.impl.DebuggerSupport; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; +@ApiStatus.Experimental public class ThawAllThreadsAction extends XDebuggerIdeCustomizableAction { @Override @NotNull diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ThawSelectedThreadsAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ThawSelectedThreadsAction.java index 4337afb1d3d4..75d62909021e 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ThawSelectedThreadsAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/ThawSelectedThreadsAction.java @@ -16,8 +16,10 @@ package com.intellij.xdebugger.impl.actions; import com.intellij.xdebugger.impl.DebuggerSupport; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; +@ApiStatus.Experimental public class ThawSelectedThreadsAction extends XDebuggerIdeCustomizableAction { @Override @NotNull diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/XDebuggerIdeCustomizableAction.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/XDebuggerIdeCustomizableAction.kt index 3090afc04a76..e829554e8b55 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/XDebuggerIdeCustomizableAction.kt +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/XDebuggerIdeCustomizableAction.kt @@ -3,7 +3,9 @@ package com.intellij.xdebugger.impl.actions import com.intellij.ide.IdeCustomizableActionHelper import com.intellij.openapi.actionSystem.AnActionEvent +import org.jetbrains.annotations.ApiStatus +@ApiStatus.Internal abstract class XDebuggerIdeCustomizableAction : XDebuggerActionBase() { private val customizableActionHelper by lazy { IdeCustomizableActionHelper(this) } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/XDebuggerThreadsList.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/XDebuggerThreadsList.kt index a37b8b9c8c54..9ea4863c02c2 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/XDebuggerThreadsList.kt +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/XDebuggerThreadsList.kt @@ -16,6 +16,7 @@ import com.intellij.util.ui.UIUtil import com.intellij.xdebugger.XDebuggerBundle import com.intellij.xdebugger.frame.XExecutionStack import com.intellij.xdebugger.frame.XExecutionStack.AdditionalDisplayInfo +import org.jetbrains.annotations.ApiStatus import org.jetbrains.annotations.Nls import org.jetbrains.annotations.Nullable import java.awt.Component @@ -30,7 +31,13 @@ class XDebuggerThreadsList(private val renderer: ListCellRenderer ) : JBList(CollectionListModel()), UiDataProvider { private var mySelectedFrame: StackInfo? = null - private var stackUnderMouse: StackInfo? = null + /** + * Deprecated. + * Use [com.intellij.xdebugger.frame.XExecutionStack.SELECTED_STACKS] data key to get a set of selected stacks from the data context. + */ + @ApiStatus.Obsolete + public var stackUnderMouse: StackInfo? = null + private set val elementCount: Int get() = model.size