[rd debugger] IJPL-219714 Fix dependencies before classes move

GitOrigin-RevId: bb57908fea272e6d7df28570211c7b008be5f4f0
This commit is contained in:
Maksim Zuev
2026-02-11 15:12:35 +01:00
committed by intellij-monorepo-bot
parent 417aa0b847
commit 8b4badadb1
18 changed files with 53 additions and 52 deletions

View File

@@ -98,7 +98,7 @@ internal class BackendJavaDebuggerSessionApi : JavaDebuggerSessionApi {
for (javaValue in javaValues) {
withDebugContext(javaValue.evaluationContext.suspendContext) {
javaValue.setRenderer(renderer, null)
javaValue.setRenderer(renderer)
}
}
for (xValueModel in xValueModels) {

View File

@@ -7,6 +7,7 @@ import com.intellij.debugger.engine.JavaValue
import com.intellij.debugger.impl.DebuggerContextImpl
import com.intellij.debugger.ui.impl.watch.ValueDescriptorImpl
import com.intellij.openapi.actionSystem.AnActionEvent
import com.intellij.openapi.util.registry.Registry
import com.intellij.platform.debugger.impl.shared.proxy.XDebugSessionProxy
import com.intellij.platform.debugger.impl.ui.XDebuggerEntityConverter
import com.intellij.xdebugger.frame.XValue
@@ -15,6 +16,11 @@ import org.jetbrains.annotations.ApiStatus
@ApiStatus.Internal
object JvmDebuggerUtils {
@JvmStatic
fun isBreakpointInstrumentationSwitchedOn(): Boolean {
return Registry.`is`("debugger.breakpoint.instrumentation")
}
@JvmStatic
fun findProxyFromContext(debuggerContext: DebuggerContextImpl): XDebugSessionProxy? {
val session = debuggerContext.debuggerSession?.xDebugSession ?: return null

View File

@@ -1,6 +1,7 @@
// 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.debugger.engine
import com.intellij.debugger.JvmDebuggerUtils
import com.intellij.debugger.engine.events.SuspendContextCommandImpl
import com.intellij.debugger.impl.DebuggerContextImpl
import com.intellij.debugger.impl.DebuggerUtilsAsync
@@ -150,7 +151,7 @@ private suspend fun <R> tryToBreakOnAnyMethodAndEvaluate(
@ApiStatus.Internal
fun <Self : XBreakpoint<P>, P : XBreakpointProperties<*>, S : BreakpointState> shouldInstrumentBreakpoint(xB: XBreakpointBase<Self, P, S>): Boolean {
if (!XBreakpointUtil.isBreakpointInstrumentationSwitchedOn()) {
if (!JvmDebuggerUtils.isBreakpointInstrumentationSwitchedOn()) {
return false
}
if (xB.isLogMessage || xB.isLogStack) return false

View File

@@ -720,6 +720,11 @@ public class JavaValue extends XNamedValue implements NodeDescriptorProvider, XV
};
}
@ApiStatus.Internal
public void setRenderer(NodeRenderer nodeRenderer) {
setRenderer(nodeRenderer, null);
}
public void setRenderer(NodeRenderer nodeRenderer, @Nullable final XValueNodeImpl node) {
DebuggerManagerThreadImpl.assertIsManagerThread();
myValueDescriptor.setRenderer(nodeRenderer);

View File

@@ -18,13 +18,11 @@ import com.intellij.ide.plugins.IdeaPluginDescriptor;
import com.intellij.idea.ActionsBundle;
import com.intellij.idea.AppMode;
import com.intellij.notification.NotificationGroup;
import com.intellij.notification.NotificationGroupManager;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.actionSystem.ActionPlaces;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.DataContext;
import com.intellij.openapi.actionSystem.DataKey;
import com.intellij.openapi.actionSystem.IdeActions;
import com.intellij.openapi.actionSystem.ex.ActionManagerEx;
import com.intellij.openapi.application.ApplicationManager;
@@ -74,6 +72,7 @@ import com.intellij.xdebugger.impl.evaluate.ValueLookupManagerController;
import com.intellij.xdebugger.impl.pinned.items.XDebuggerPinToTopManager;
import com.intellij.xdebugger.impl.settings.ShowBreakpointsOverLineNumbersAction;
import com.intellij.xdebugger.impl.settings.XDebuggerSettingManagerImpl;
import com.intellij.xdebugger.impl.ui.DebuggerUIUtil;
import com.intellij.xdebugger.ui.DebuggerColors;
import kotlinx.coroutines.CoroutineScope;
import kotlinx.coroutines.flow.MutableStateFlow;
@@ -99,7 +98,6 @@ import static com.intellij.platform.debugger.impl.shared.CoroutineUtilsKt.create
@ApiStatus.Internal
@State(name = "XDebuggerManager", storages = @Storage(StoragePathMacros.WORKSPACE_FILE))
public final class XDebuggerManagerImpl extends XDebuggerManager implements PersistentStateComponent<XDebuggerState>, Disposable {
public static final DataKey<Integer> ACTIVE_LINE_NUMBER = DataKey.create("active.line.number");
private static final ExecutorService EXECUTION_POINT_ICON_EXECUTOR =
AppExecutorUtil.createBoundedApplicationPoolExecutor("Execution point icon updater", 1);
@@ -443,7 +441,7 @@ public final class XDebuggerManagerImpl extends XDebuggerManager implements Pers
}
public static @NotNull NotificationGroup getNotificationGroup() {
return NotificationGroupManager.getInstance().getNotificationGroup("Debugger messages");
return DebuggerUIUtil.getNotificationGroup();
}
private final class GutterUiRunToCursorEditorListener implements EditorMouseMotionListener, EditorMouseListener {

View File

@@ -18,7 +18,6 @@ import com.intellij.ui.ExperimentalUI;
import com.intellij.util.ModalityUiUtil;
import com.intellij.xdebugger.XSourcePosition;
import com.intellij.xdebugger.breakpoints.SuspendPolicy;
import com.intellij.xdebugger.impl.XDebuggerManagerImpl;
import com.intellij.xdebugger.impl.XSourcePositionImpl;
import com.intellij.xdebugger.impl.breakpoints.XBreakpointUtil;
import com.intellij.xdebugger.impl.breakpoints.XExpressionImpl;
@@ -75,7 +74,7 @@ public class AddLineBreakpointAction extends DumbAwareAction implements SplitDeb
if (gutter instanceof EditorGutterComponentEx) {
Object lineNumber = ((EditorGutterComponentEx)gutter).getClientProperty("active.line.number");
if (!(lineNumber instanceof Integer)) {
lineNumber = e.getData(XDebuggerManagerImpl.ACTIVE_LINE_NUMBER);
lineNumber = e.getData(DebuggerUIUtil.ACTIVE_LINE_NUMBER);
}
if (lineNumber != null) {
LogicalPosition pos = new LogicalPosition((Integer)lineNumber, 0);

View File

@@ -9,6 +9,7 @@ import com.intellij.openapi.application.ModalityState;
import com.intellij.openapi.application.ReadAction;
import com.intellij.openapi.components.PersistentStateComponent;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.extensions.ExtensionPointListener;
import com.intellij.openapi.extensions.PluginDescriptor;
import com.intellij.openapi.progress.ProgressManager;
@@ -42,6 +43,7 @@ import com.intellij.xdebugger.breakpoints.XLineBreakpoint;
import com.intellij.xdebugger.breakpoints.XLineBreakpointType;
import com.intellij.xdebugger.impl.BreakpointManagerState;
import com.intellij.xdebugger.impl.XDebuggerManagerImpl;
import com.intellij.xdebugger.impl.XDebuggerUtilImpl;
import com.intellij.xdebugger.impl.proxy.MonolithBreakpointManagerKt;
import kotlinx.coroutines.CoroutineScope;
import one.util.streamex.StreamEx;
@@ -726,6 +728,11 @@ public final class XBreakpointManagerImpl implements XBreakpointManager {
return state;
}
public void removeBreakpointsInDocument(Document document) {
var breakpoints = XDebuggerUtilImpl.getDocumentBreakpoints(document, myLineBreakpointManager);
removeBreakpoints(breakpoints);
}
public void rememberRemovedBreakpoint(@NotNull XBreakpointBase breakpoint) {
myLastRemovedBreakpoint = new RemovedBreakpointData(breakpoint);
}

View File

@@ -22,7 +22,6 @@ import com.intellij.openapi.util.Pair
import com.intellij.openapi.util.TextRange
import com.intellij.openapi.util.component1
import com.intellij.openapi.util.component2
import com.intellij.openapi.util.registry.Registry
import com.intellij.openapi.util.text.StringUtil
import com.intellij.platform.debugger.impl.shared.proxy.XBreakpointProxy
import com.intellij.platform.debugger.impl.shared.proxy.XDebugManagerProxy
@@ -59,12 +58,6 @@ import java.util.concurrent.CompletableFuture
import kotlin.math.max
object XBreakpointUtil {
@ApiStatus.Internal
@JvmStatic
fun isBreakpointInstrumentationSwitchedOn(): Boolean {
return Registry.`is`("debugger.breakpoint.instrumentation")
}
/**
* The forcibly shortened version of [XBreakpointType.getShortText].
*/

View File

@@ -11,7 +11,6 @@ import com.intellij.xdebugger.XDebuggerBundle;
import com.intellij.xdebugger.XExpression;
import com.intellij.xdebugger.XSourcePosition;
import com.intellij.xdebugger.evaluation.XDebuggerEditorsProvider;
import com.intellij.xdebugger.impl.XDebuggerUtilImpl;
import com.intellij.xdebugger.impl.ui.DebuggerUIUtil;
import com.intellij.xdebugger.impl.ui.XDebuggerExpressionComboBox;
import org.jetbrains.annotations.ApiStatus;

View File

@@ -24,16 +24,11 @@ import com.intellij.xdebugger.XExpression;
import com.intellij.xdebugger.XSourcePosition;
import com.intellij.xdebugger.breakpoints.SuspendPolicy;
import com.intellij.xdebugger.breakpoints.XBreakpoint;
import com.intellij.xdebugger.breakpoints.XBreakpointManager;
import com.intellij.xdebugger.breakpoints.XBreakpointType;
import com.intellij.xdebugger.breakpoints.XLineBreakpoint;
import com.intellij.xdebugger.breakpoints.XLineBreakpointType;
import com.intellij.xdebugger.breakpoints.ui.XBreakpointCustomPropertiesPanel;
import com.intellij.xdebugger.evaluation.XDebuggerEditorsProvider;
import com.intellij.xdebugger.impl.XDebuggerUtilImpl;
import com.intellij.xdebugger.impl.breakpoints.XBreakpointBase;
import com.intellij.xdebugger.impl.breakpoints.XBreakpointManagerImpl;
import com.intellij.xdebugger.impl.proxy.MonolithBreakpointManagerKt;
import com.intellij.xdebugger.impl.ui.DebuggerUIUtil;
import com.intellij.xdebugger.impl.ui.XDebuggerExpressionComboBox;
import org.jetbrains.annotations.ApiStatus;
@@ -136,16 +131,6 @@ public class XLightBreakpointPropertiesPanel implements XSuspendPolicyPanel.Dele
this(project, breakpointManager, breakpoint, showAllOptions, showAllOptions, isEditorBalloon);
}
/**
* @deprecated Use the proxy option instead
*/
@Deprecated
public XLightBreakpointPropertiesPanel(Project project, XBreakpointManager breakpointManager, XBreakpointBase breakpoint,
boolean showActionOptions, boolean showAllOptions, boolean isEditorBalloon) {
this(project, MonolithBreakpointManagerKt.asProxy((XBreakpointManagerImpl)breakpointManager),
XDebuggerEntityConverter.asProxy(breakpoint), showActionOptions, showAllOptions, isEditorBalloon);
}
private final @NotNull XBreakpointManagerProxy myBreakpointManager;
public XLightBreakpointPropertiesPanel(Project project, XBreakpointManagerProxy breakpointManager, XBreakpointProxy breakpoint,

View File

@@ -5,13 +5,13 @@ import com.intellij.codeInsight.inline.completion.InlineCompletion;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.editor.ex.EditorEx;
import com.intellij.openapi.project.Project;
import com.intellij.platform.debugger.impl.shared.proxy.XDebugManagerProxy;
import com.intellij.platform.debugger.impl.shared.proxy.XDebugSessionProxy;
import com.intellij.ui.JBSplitter;
import com.intellij.xdebugger.XDebuggerBundle;
import com.intellij.xdebugger.XDebuggerManager;
import com.intellij.xdebugger.XExpression;
import com.intellij.xdebugger.XSourcePosition;
import com.intellij.xdebugger.evaluation.XDebuggerEditorsProvider;
import com.intellij.xdebugger.impl.XDebugSessionImpl;
import com.intellij.xdebugger.impl.breakpoints.XExpressionImpl;
import com.intellij.xdebugger.impl.ui.XDebuggerEditorBase;
import com.intellij.xdebugger.impl.ui.XDebuggerExpressionEditor;
@@ -38,9 +38,9 @@ public class CodeFragmentInputComponent extends EvaluationInputComponent {
@Override
protected void prepareEditor(EditorEx editor) {
super.prepareEditor(editor);
XDebugSessionImpl session = (XDebugSessionImpl)XDebuggerManager.getInstance(project).getCurrentSession();
if (session != null) {
InlineCompletion.INSTANCE.install(editor, session.getCoroutineScope());
XDebugSessionProxy proxy = XDebugManagerProxy.getInstance().getCurrentSessionProxy(project);
if (proxy != null) {
InlineCompletion.INSTANCE.install(editor, proxy.getCoroutineScope());
}
}
};

View File

@@ -23,6 +23,7 @@ import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vcs.changes.issueLinks.LinkMouseListenerBase;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.platform.debugger.impl.shared.proxy.XDebugSessionProxy;
import com.intellij.platform.debugger.impl.ui.XDebuggerEntityConverter;
import com.intellij.ui.SimpleColoredComponent;
import com.intellij.ui.SimpleColoredComponentWithProgress;
import com.intellij.ui.SimpleColoredText;
@@ -39,7 +40,6 @@ import com.intellij.xdebugger.frame.XFullValueEvaluator;
import com.intellij.xdebugger.frame.XValue;
import com.intellij.xdebugger.frame.XValuePlace;
import com.intellij.xdebugger.frame.presentation.XValuePresentation;
import com.intellij.xdebugger.impl.XDebugSessionImpl;
import com.intellij.xdebugger.impl.actions.handlers.XDebuggerEvaluateActionHandler;
import com.intellij.xdebugger.impl.evaluate.XEvaluationOrigin;
import com.intellij.xdebugger.impl.evaluate.quick.common.AbstractValueHint;
@@ -89,7 +89,7 @@ public class XValueHint extends AbstractValueHint {
@NotNull XDebugSession session,
boolean fromKeyboard) {
this(project, session.getDebugProcess().getEditorsProvider(), editor, point, type, offset, expressionInfo, evaluator,
((XDebugSessionImpl)session).getValueMarkers(), session.getCurrentPosition(), fromKeyboard);
XDebuggerEntityConverter.asProxy(session).getValueMarkers(), session.getCurrentPosition(), fromKeyboard);
}
@ApiStatus.Internal

View File

@@ -15,7 +15,6 @@ import com.intellij.xdebugger.XDebugSession;
import com.intellij.xdebugger.XDebuggerBundle;
import com.intellij.xdebugger.XSourcePosition;
import com.intellij.xdebugger.frame.XStackFrame;
import com.intellij.xdebugger.impl.XDebugSessionImpl;
import com.intellij.xdebugger.impl.inline.InlineDebugRenderer;
import com.intellij.xdebugger.impl.ui.tree.XDebuggerTree;
import com.intellij.xdebugger.impl.ui.tree.nodes.XValueContainerNode;
@@ -106,7 +105,7 @@ public class XVariablesView extends XVariablesViewBase {
*/
@Deprecated
@ApiStatus.Internal
public final @Nullable XDebugSessionImpl getSession() {
public final @Nullable XDebugSession getSession() {
XDebugSessionProxy proxy = getSessionProxy();
if (proxy == null) return null;
XDebugSession xDebugSession = XDebuggerEntityConverter.getSessionNonSplitOnly(proxy);
@@ -114,10 +113,7 @@ public class XVariablesView extends XVariablesViewBase {
Logger.getInstance(XVariablesView.class).error("This method can be used only with monolith session proxies, got: " +
proxy + " of type " + proxy.getClass() + " instead");
}
if (xDebugSession instanceof XDebugSessionImpl session) {
return session;
}
return null;
return xDebugSession;
}
@ApiStatus.Internal

View File

@@ -309,7 +309,8 @@ public final class InlineDebugRenderer extends InlineDebugRendererBase {
return attributes;
}
static class Variable {
@ApiStatus.Internal
public static class Variable {
private final int lineNumber;
private final String name;
@@ -337,7 +338,8 @@ public final class InlineDebugRenderer extends InlineDebugRendererBase {
}
}
static class VariableValue {
@ApiStatus.Internal
public static class VariableValue {
// TODO: this has to be specified somewhere in XValuePresentation
private static final java.util.List<Couple<String>> ARRAYS_WRAPPERS = java.util.List.of(Couple.of("[", "]"), Couple.of("{", "}"));
private static final String ARRAY_DELIMITER = ", ";

View File

@@ -13,15 +13,15 @@ import com.intellij.openapi.util.registry.Registry;
import com.intellij.platform.debugger.impl.shared.XDebuggerWatchesManager;
import com.intellij.platform.debugger.impl.shared.proxy.XDebugManagerProxy;
import com.intellij.platform.debugger.impl.shared.proxy.XDebugSessionProxy;
import com.intellij.platform.debugger.impl.ui.XDebuggerEntityConverter;
import com.intellij.ui.AppUIUtil;
import com.intellij.xdebugger.XDebugSession;
import com.intellij.xdebugger.XDebuggerBundle;
import com.intellij.xdebugger.XSourcePosition;
import com.intellij.xdebugger.impl.evaluate.quick.common.DebuggerTreeCreator;
import com.intellij.xdebugger.impl.evaluate.quick.common.XDebuggerTreePopup;
import com.intellij.platform.debugger.impl.ui.XDebuggerEntityConverter;
import com.intellij.xdebugger.impl.ui.DebuggerUIUtil;
import com.intellij.xdebugger.impl.ui.tree.actions.XDebuggerTreeActionBase;
import com.intellij.xdebugger.impl.ui.tree.actions.XDebuggerTreeSplitActionBase;
import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeImpl;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
@@ -62,7 +62,7 @@ public class XDebuggerTreeInlayPopup<D> extends XDebuggerTreePopup<D> {
return toolbarActions;
}
private class AddInlineWatch extends XDebuggerTreeActionBase {
private class AddInlineWatch extends XDebuggerTreeSplitActionBase {
private AddInlineWatch() {
ActionUtil.mergeFrom(this, "Debugger.AddInlineWatch");

View File

@@ -37,7 +37,7 @@ final class XDebuggerConfigurableProvider extends DebuggerConfigurableProvider {
@Override
public void generalApplied(@NotNull DebuggerSettingsCategory category) {
XDebuggerSettingManagerImpl.getInstanceImpl().forEachSettings(settings -> settings.generalApplied(category));
XDebuggerSettingsManager.getInstance().forEachSettings(settings -> settings.generalApplied(category));
}
@Override

View File

@@ -6,6 +6,8 @@ import com.intellij.codeWithMe.ClientId;
import com.intellij.frontend.FrontendApplicationInfo;
import com.intellij.frontend.FrontendType;
import com.intellij.ide.nls.NlsMessages;
import com.intellij.notification.NotificationGroup;
import com.intellij.notification.NotificationGroupManager;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.actionSystem.ActionManager;
import com.intellij.openapi.actionSystem.ActionPlaces;
@@ -115,6 +117,9 @@ public final class DebuggerUIUtil {
private final static Logger LOG = Logger.getInstance(DebuggerUIUtil.class);
@ApiStatus.Internal
public static final DataKey<Integer> ACTIVE_LINE_NUMBER = DataKey.create("active.line.number");
@ApiStatus.Internal
public static final DataKey<Integer> LINE_NUMBER = DataKey.create("x.debugger.line.number");
@@ -124,6 +129,11 @@ public final class DebuggerUIUtil {
private DebuggerUIUtil() {
}
@ApiStatus.Internal
public static @NotNull NotificationGroup getNotificationGroup() {
return NotificationGroupManager.getInstance().getNotificationGroup("Debugger messages");
}
public static void enableEditorOnCheck(final JCheckBox checkbox, final JComponent textfield) {
checkbox.addActionListener(e -> {
boolean selected = checkbox.isSelected();

View File

@@ -10,7 +10,7 @@ import com.intellij.util.Alarm;
import com.intellij.util.concurrency.Semaphore;
import com.intellij.xdebugger.XDebuggerBundle;
import com.intellij.xdebugger.frame.XFullValueEvaluator;
import com.intellij.xdebugger.impl.XDebuggerManagerImpl;
import com.intellij.xdebugger.impl.ui.DebuggerUIUtil;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -44,7 +44,7 @@ public class HeadlessValueEvaluationCallbackBase implements XFullValueEvaluator.
public void errorOccurred(@NotNull String errorMessage) {
try {
String message = XDebuggerBundle.message("load.value.task.error", errorMessage);
XDebuggerManagerImpl.getNotificationGroup().createNotification(message, NotificationType.ERROR).notify(myProject);
DebuggerUIUtil.getNotificationGroup().createNotification(message, NotificationType.ERROR).notify(myProject);
}
finally {
evaluationComplete(errorMessage);