[rd debugger] IJPL-219714 Prepare for classes move: minimize dependencies on xdebugger-impl in UI components

GitOrigin-RevId: 2d6b1349f634604298617ff0fa3290329f03eb7c
This commit is contained in:
Maksim Zuev
2026-02-05 11:38:25 +00:00
committed by intellij-monorepo-bot
parent 901001078b
commit 32af6cf348
20 changed files with 111 additions and 103 deletions
@@ -3,6 +3,7 @@ package com.intellij.xdebugger.settings;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.application.ApplicationManager;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
public abstract class XDebuggerSettingsManager implements Disposable {
@@ -13,6 +14,9 @@ public abstract class XDebuggerSettingsManager implements Disposable {
public interface DataViewSettings {
boolean isSortValues();
@ApiStatus.Internal
void setSortValues(boolean sortValues);
boolean isAutoExpressions();
int getValueLookupDelay();
@@ -490,7 +490,7 @@
<projectListeners>
<listener class="com.intellij.xdebugger.impl.dashboard.XDebuggerRunDashboardUpdater"
topic="com.intellij.execution.ExecutionListener"/>
<listener class="com.intellij.xdebugger.impl.MonolithListenerAdapter"
<listener class="com.intellij.xdebugger.impl.proxy.MonolithListenerAdapter"
topic="com.intellij.xdebugger.XDebuggerManagerListener"/>
<listener class="com.intellij.xdebugger.impl.ExecutionPointManagerChangeListener"
topic="com.intellij.xdebugger.impl.XDebuggerManagerProxyListener"/>
@@ -0,0 +1,23 @@
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.xdebugger.impl
import com.intellij.util.messages.Topic
import com.intellij.platform.debugger.impl.shared.proxy.XDebugSessionProxy
import org.jetbrains.annotations.ApiStatus
/**
* [XDebugSessionProxy] analogue of [com.intellij.xdebugger.XDebuggerManagerListener]
*/
@ApiStatus.Internal
interface XDebuggerManagerProxyListener {
fun sessionStarted(session: XDebugSessionProxy) {}
fun sessionStopped(session: XDebugSessionProxy) {}
fun activeSessionChanged(previousSession: XDebugSessionProxy?, currentSession: XDebugSessionProxy?) {}
companion object {
@JvmField
@Topic.ProjectLevel
val TOPIC: Topic<XDebuggerManagerProxyListener> =
Topic("XDebuggerManagerListener proxy events", XDebuggerManagerProxyListener::class.java)
}
}
@@ -920,17 +920,11 @@ public class XDebuggerUtilImpl extends XDebuggerUtil {
}
public static void rebuildAllSessionsViews(@Nullable Project project) {
if (project == null) return;
XDebugManagerProxy.getInstance().getSessions(project).stream()
.filter(XDebugSessionProxy::isSuspended)
.forEach(XDebugSessionProxy::rebuildViews);
DebuggerUIUtil.rebuildAllSessionsViews(project);
}
public static void rebuildTreeAndViews(XDebuggerTree tree) {
if (tree.isDetached()) {
tree.rebuild();
}
rebuildAllSessionsViews(tree.getProject());
DebuggerUIUtil.rebuildTreeAndViews(tree);
}
@Override
@@ -8,6 +8,7 @@ import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.NotNullLazyValue;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.impl.http.HttpVirtualFile;
import com.intellij.platform.debugger.impl.shared.XDebuggerUtilImplShared;
import com.intellij.pom.Navigatable;
import com.intellij.pom.NonNavigatable;
import com.intellij.psi.PsiElement;
@@ -161,7 +162,7 @@ public abstract class XSourcePositionImpl implements XSourcePosition {
@Override
public @NotNull Navigatable createNavigatable(@NotNull Project project) {
return XDebuggerUtilImpl.createNavigatable(project, this);
return XDebuggerUtilImplShared.createNavigatable(project, this);
}
@Override
@@ -32,7 +32,7 @@ import com.intellij.xdebugger.evaluation.XDebuggerEvaluator;
import com.intellij.xdebugger.impl.XDebuggerUtilImpl;
import com.intellij.xdebugger.impl.actions.XDebuggerActions;
import com.intellij.xdebugger.impl.breakpoints.XExpressionImpl;
import com.intellij.xdebugger.impl.proxy.MonolithSessionProxyKt;
import com.intellij.platform.debugger.impl.ui.XDebuggerEntityConverter;
import com.intellij.xdebugger.impl.settings.XDebuggerSettingManagerImpl;
import com.intellij.xdebugger.impl.ui.XDebugSessionTab;
import com.intellij.xdebugger.impl.ui.XDebuggerEditorBase;
@@ -83,7 +83,7 @@ public class XDebuggerEvaluationDialog extends DialogWrapper {
@NotNull XExpression text,
@Nullable XSourcePosition sourcePosition,
boolean isCodeFragmentEvaluationSupported) {
this(MonolithSessionProxyKt.asProxy(session),
this(XDebuggerEntityConverter.asProxy(session),
editorsProvider, text, sourcePosition, isCodeFragmentEvaluationSupported);
}
@@ -4,7 +4,7 @@ package com.intellij.xdebugger.impl.frame;
import com.intellij.platform.debugger.impl.shared.proxy.XDebugSessionProxy;
import com.intellij.xdebugger.XDebugSession;
import com.intellij.xdebugger.XDebugSessionListener;
import com.intellij.xdebugger.impl.proxy.MonolithSessionProxyKt;
import com.intellij.platform.debugger.impl.ui.XDebuggerEntityConverter;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
@@ -23,7 +23,7 @@ public final class XDebugViewSessionListener implements XDebugSessionListener {
*/
@ApiStatus.Obsolete
public static void attach(@NotNull XDebugView debugView, @NotNull XDebugSession session) {
XDebugSessionProxy proxy = MonolithSessionProxyKt.asProxy(session);
XDebugSessionProxy proxy = XDebuggerEntityConverter.asProxy(session);
attach(debugView, proxy);
}
@@ -7,6 +7,7 @@ import com.intellij.openapi.util.NlsSafe
import com.intellij.platform.debugger.impl.rpc.XDebugSessionApi
import com.intellij.platform.debugger.impl.shared.proxy.XDebugSessionProxy
import com.intellij.platform.debugger.impl.ui.DebuggerUIUtilShared
import com.intellij.platform.debugger.impl.ui.XDebuggerEntityConverter
import com.intellij.ui.AutoScrollToSourceHandler
import com.intellij.ui.SimpleTextAttributes
import com.intellij.util.concurrency.annotations.RequiresEdt
@@ -16,7 +17,6 @@ import com.intellij.xdebugger.frame.*
import com.intellij.xdebugger.frame.presentation.XRegularValuePresentation
import com.intellij.xdebugger.frame.presentation.XValuePresentation
import com.intellij.xdebugger.impl.actions.XDebuggerActions.THREADS_VIEW_POPUP_GROUP
import com.intellij.xdebugger.impl.proxy.asProxy
import com.intellij.xdebugger.impl.ui.DebuggerUIUtil
import com.intellij.xdebugger.impl.ui.tree.XDebuggerTree
import com.intellij.xdebugger.impl.ui.tree.XDebuggerTreePanel
@@ -45,7 +45,7 @@ class XThreadsView(project: Project, session: XDebugSessionProxy) : XDebugView()
private var wasShowing = false
@ApiStatus.Obsolete
constructor(project: Project, session: XDebugSession) : this(project, session.asProxy())
constructor(project: Project, session: XDebugSession) : this(project, XDebuggerEntityConverter.asProxy(session))
private val treePanel = XDebuggerTreePanel(project, session.editorsProvider, this, null, THREADS_VIEW_POPUP_GROUP, null)
@@ -17,7 +17,7 @@ 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.proxy.MonolithSessionProxyKt;
import com.intellij.xdebugger.impl.ui.tree.XDebuggerTree;
import com.intellij.xdebugger.impl.ui.tree.nodes.XValueContainerNode;
import org.jetbrains.annotations.ApiStatus;
@@ -40,7 +40,7 @@ public class XVariablesView extends XVariablesViewBase {
*/
@Deprecated
public XVariablesView(@NotNull XDebugSessionImpl session) {
this(MonolithSessionProxyKt.asProxy(session));
this(XDebuggerEntityConverter.asProxy(session));
}
public XVariablesView(@NotNull XDebugSessionProxy proxy) {
@@ -170,7 +170,7 @@ public class XVariablesView extends XVariablesViewBase {
@ApiStatus.Obsolete
public static @Nullable InlineVariablesInfo get(@Nullable XDebugSession session) {
if (session == null) return null;
return get(MonolithSessionProxyKt.asProxy(session));
return get(XDebuggerEntityConverter.asProxy(session));
}
@ApiStatus.Internal
@@ -187,7 +187,7 @@ public class XVariablesView extends XVariablesViewBase {
@ApiStatus.Obsolete
public static void set(@Nullable XDebugSession session, InlineVariablesInfo info) {
if (session != null) {
set(MonolithSessionProxyKt.asProxy(session), info);
set(XDebuggerEntityConverter.asProxy(session), info);
}
}
@@ -39,6 +39,7 @@ 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.toolWindow.InternalDecoratorImpl;
import com.intellij.ui.ClickListener;
import com.intellij.ui.CollectionComboBoxModel;
@@ -73,12 +74,7 @@ import com.intellij.xdebugger.impl.inline.InlineWatchNode;
import com.intellij.xdebugger.impl.inline.InlineWatchesRootNode;
import com.intellij.xdebugger.impl.inline.XInlineWatchesView;
import com.intellij.xdebugger.impl.messages.XDebuggerImplBundle;
import com.intellij.xdebugger.impl.proxy.MonolithSessionProxyKt;
import com.intellij.xdebugger.impl.ui.DebuggerSessionTabBase;
import com.intellij.xdebugger.impl.ui.DebuggerUIUtil;
import com.intellij.xdebugger.impl.ui.XDebugSessionTab;
import com.intellij.xdebugger.impl.ui.XDebuggerEmbeddedComboBox;
import com.intellij.xdebugger.impl.ui.XDebuggerExpressionComboBox;
import com.intellij.xdebugger.impl.ui.*;
import com.intellij.xdebugger.impl.ui.tree.XDebuggerTree;
import com.intellij.xdebugger.impl.ui.tree.XDebuggerTreeState;
import com.intellij.xdebugger.impl.ui.tree.actions.XWatchTransferable;
@@ -133,7 +129,7 @@ public class XWatchesViewImpl extends XVariablesView implements DnDNativeTarget,
*/
@Deprecated
public XWatchesViewImpl(@NotNull XDebugSessionImpl session, boolean watchesInVariables) {
this(MonolithSessionProxyKt.asProxy(session), watchesInVariables);
this(XDebuggerEntityConverter.asProxy(session), watchesInVariables);
}
public XWatchesViewImpl(@NotNull XDebugSessionProxy session, boolean watchesInVariables) {
@@ -145,7 +141,7 @@ public class XWatchesViewImpl extends XVariablesView implements DnDNativeTarget,
*/
@Deprecated
protected XWatchesViewImpl(@NotNull XDebugSessionImpl session, boolean watchesInVariables, boolean vertical) {
this(MonolithSessionProxyKt.asProxy(session), watchesInVariables, vertical);
this(XDebuggerEntityConverter.asProxy(session), watchesInVariables, vertical);
}
protected XWatchesViewImpl(@NotNull XDebugSessionProxy session, boolean watchesInVariables, boolean vertical) {
@@ -157,7 +153,7 @@ public class XWatchesViewImpl extends XVariablesView implements DnDNativeTarget,
*/
@Deprecated
public XWatchesViewImpl(@NotNull XDebugSessionImpl session, boolean watchesInVariables, boolean vertical, boolean withToolbar) {
this(MonolithSessionProxyKt.asProxy(session), watchesInVariables, vertical, withToolbar);
this(XDebuggerEntityConverter.asProxy(session), watchesInVariables, vertical, withToolbar);
}
public XWatchesViewImpl(@NotNull XDebugSessionProxy session, boolean watchesInVariables, boolean vertical, boolean withToolbar) {
@@ -19,7 +19,7 @@ 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.xdebugger.impl.proxy.MonolithSessionProxyKt;
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.nodes.XValueNodeImpl;
@@ -132,7 +132,7 @@ public class XDebuggerTreeInlayPopup<D> extends XDebuggerTreePopup<D> {
@NotNull XSourcePosition position,
@NotNull XDebugSession session,
Runnable hideRunnable) {
XDebugSessionProxy proxy = MonolithSessionProxyKt.asProxy(session);
XDebugSessionProxy proxy = XDebuggerEntityConverter.asProxy(session);
new XDebuggerTreeInlayPopup<>(creator, editor, point, position, proxy, hideRunnable, valueNode).show(initialItem);
}
@@ -1,33 +1,13 @@
// 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
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.xdebugger.impl.proxy
import com.intellij.frontend.FrontendApplicationInfo
import com.intellij.frontend.FrontendType
import com.intellij.platform.debugger.impl.shared.proxy.XDebugSessionProxy
import com.intellij.util.messages.Topic
import com.intellij.xdebugger.SplitDebuggerMode
import com.intellij.xdebugger.XDebugProcess
import com.intellij.xdebugger.XDebugSession
import com.intellij.xdebugger.XDebuggerManagerListener
import com.intellij.xdebugger.impl.proxy.asProxy
import org.jetbrains.annotations.ApiStatus
/**
* [XDebugSessionProxy] analogue of [com.intellij.xdebugger.XDebuggerManagerListener]
*/
@ApiStatus.Internal
interface XDebuggerManagerProxyListener {
fun sessionStarted(session: XDebugSessionProxy) {}
fun sessionStopped(session: XDebugSessionProxy) {}
fun activeSessionChanged(previousSession: XDebugSessionProxy?, currentSession: XDebugSessionProxy?) {}
companion object {
@JvmField
@Topic.ProjectLevel
val TOPIC: Topic<XDebuggerManagerProxyListener> =
Topic("XDebuggerManagerListener proxy events", XDebuggerManagerProxyListener::class.java)
}
}
import com.intellij.xdebugger.impl.XDebuggerManagerProxyListener
private class MonolithListenerAdapter : XDebuggerManagerListener {
private val shouldTriggerListener: Boolean
@@ -15,6 +15,7 @@ import com.intellij.openapi.project.Project
import com.intellij.openapi.util.Key
import com.intellij.openapi.util.getOrCreateUserData
import com.intellij.platform.debugger.impl.rpc.XDebugSessionId
import com.intellij.platform.debugger.impl.shared.XDebuggerMonolithAccessPoint
import com.intellij.platform.debugger.impl.shared.proxy.XBreakpointProxy
import com.intellij.platform.debugger.impl.shared.proxy.XDebugSessionProxy
import com.intellij.platform.debugger.impl.shared.proxy.XSmartStepIntoHandlerEntry
@@ -32,12 +33,13 @@ import com.intellij.xdebugger.frame.XStackFrame
import com.intellij.xdebugger.frame.XSuspendContext
import com.intellij.xdebugger.impl.XDebugSessionImpl
import com.intellij.xdebugger.impl.XSourceKind
import com.intellij.xdebugger.impl.updateExecutionPosition
import com.intellij.xdebugger.impl.XSteppingSuspendContext
import com.intellij.xdebugger.impl.breakpoints.XBreakpointBase
import com.intellij.xdebugger.impl.frame.XValueMarkers
import com.intellij.xdebugger.impl.rpc.models.findValue
import com.intellij.xdebugger.impl.ui.XDebugSessionData
import com.intellij.xdebugger.impl.ui.XDebugSessionTab
import com.intellij.xdebugger.impl.updateExecutionPosition
import com.intellij.xdebugger.ui.XDebugTabLayouter
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
@@ -48,7 +50,7 @@ import kotlinx.coroutines.withContext
import java.util.concurrent.ConcurrentHashMap
import javax.swing.event.HyperlinkListener
internal class MonolithSessionProxy(val session: XDebugSession) : XDebugSessionProxy {
private class MonolithSessionProxy(val session: XDebugSession) : XDebugSessionProxy {
val sessionImpl: XDebugSessionImpl get() = session as XDebugSessionImpl
private val sessionImplIfAvailable get() = session as? XDebugSessionImpl
@@ -315,4 +317,18 @@ private class XDebugSessionProxyKeeper {
}
internal fun XDebugSession.asProxy(): XDebugSessionProxy =
project.service<XDebugSessionProxyKeeper>().getOrCreateProxy(this)
project.service<XDebugSessionProxyKeeper>().getOrCreateProxy(this)
internal class XDebuggerMonolithAccessPointImpl : XDebuggerMonolithAccessPoint {
override fun getSession(proxy: XDebugSessionProxy): XDebugSession? {
return proxy.id.findValue()
}
override fun getSessionNonSplitOnly(proxy: XDebugSessionProxy): XDebugSession? {
return (proxy as? MonolithSessionProxy)?.session
}
override fun asProxy(session: XDebugSession): XDebugSessionProxy {
return session.asProxy()
}
}
@@ -11,6 +11,7 @@ import com.intellij.platform.debugger.impl.shared.XDebuggerWatchesManager
import com.intellij.platform.debugger.impl.shared.proxy.XBreakpointManagerProxy
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.xdebugger.SplitDebuggerMode
import com.intellij.xdebugger.XDebuggerManager
import com.intellij.xdebugger.frame.XExecutionStack
@@ -42,7 +43,7 @@ internal class MonolithXDebugManagerProxy : XDebugManagerProxy {
}
override suspend fun <T> withId(value: XValue, session: XDebugSessionProxy, block: suspend (XValueId) -> T): T {
val sessionImpl = (session as MonolithSessionProxy).sessionImpl
val sessionImpl = findSessionImpl(session)
return withTemporaryXValueId(value, sessionImpl, block)
}
@@ -57,7 +58,7 @@ internal class MonolithXDebugManagerProxy : XDebugManagerProxy {
}
override suspend fun <T> withId(stack: XExecutionStack, session: XDebugSessionProxy, block: suspend (XExecutionStackId) -> T): T {
val sessionImpl = (session as MonolithSessionProxy).sessionImpl
val sessionImpl = findSessionImpl(session)
return withCoroutineScopeForId(block) { scope ->
val (_, id) = stack.getOrStoreGlobally(scope, sessionImpl)
id
@@ -89,6 +90,13 @@ internal class MonolithXDebugManagerProxy : XDebugManagerProxy {
override fun hasBackendCounterpart(xValue: XValue): Boolean {
return true
}
private fun findSessionImpl(session: XDebugSessionProxy): XDebugSessionImpl {
val monolithSession = XDebuggerEntityConverter.getSessionNonSplitOnly(session) ?: error("Expected to have monolith session: $session")
val sessionImpl = monolithSession as XDebugSessionImpl
return sessionImpl
}
}
@ApiStatus.Internal
@@ -1,21 +0,0 @@
// 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.proxy
import com.intellij.platform.debugger.impl.shared.XDebuggerMonolithAccessPoint
import com.intellij.platform.debugger.impl.shared.proxy.XDebugSessionProxy
import com.intellij.xdebugger.XDebugSession
import com.intellij.xdebugger.impl.rpc.models.findValue
internal class XDebuggerMonolithAccessPointImpl : XDebuggerMonolithAccessPoint {
override fun getSession(proxy: XDebugSessionProxy): XDebugSession? {
return proxy.id.findValue()
}
override fun getSessionNonSplitOnly(proxy: XDebugSessionProxy): XDebugSession? {
return (proxy as? MonolithSessionProxy)?.session
}
override fun asProxy(session: XDebugSession): XDebugSessionProxy {
return session.asProxy()
}
}
@@ -65,7 +65,6 @@ import com.intellij.xdebugger.breakpoints.XBreakpointListener;
import com.intellij.xdebugger.frame.XFullValueEvaluator;
import com.intellij.xdebugger.frame.XValue;
import com.intellij.xdebugger.frame.XValueModifier;
import com.intellij.xdebugger.impl.XDebuggerUtilImpl;
import com.intellij.xdebugger.impl.breakpoints.XBreakpointBase;
import com.intellij.xdebugger.impl.breakpoints.ui.BreakpointsDialogFactory;
import com.intellij.xdebugger.impl.breakpoints.ui.XLightBreakpointPropertiesPanel;
@@ -554,7 +553,7 @@ public final class DebuggerUIUtil {
tree.rebuildAndRestore(treeState);
}
});
XDebuggerUtilImpl.rebuildAllSessionsViews(project);
rebuildAllSessionsViews(project);
}
@Override
@@ -563,7 +562,7 @@ public final class DebuggerUIUtil {
tree.rebuildAndRestore(treeState);
errorConsumer.consume(errorMessage);
});
XDebuggerUtilImpl.rebuildAllSessionsViews(project);
rebuildAllSessionsViews(project);
}
});
}
@@ -626,4 +625,20 @@ public final class DebuggerUIUtil {
e.getPresentation().setVisible(enable);
}
}
@ApiStatus.Internal
public static void rebuildAllSessionsViews(@Nullable Project project) {
if (project == null) return;
XDebugManagerProxy.getInstance().getSessions(project).stream()
.filter(XDebugSessionProxy::isSuspended)
.forEach(XDebugSessionProxy::rebuildViews);
}
@ApiStatus.Internal
public static void rebuildTreeAndViews(XDebuggerTree tree) {
if (tree.isDetached()) {
tree.rebuild();
}
rebuildAllSessionsViews(tree.getProject());
}
}
@@ -26,13 +26,13 @@ import com.intellij.openapi.util.Key;
import com.intellij.openapi.util.TextRange;
import com.intellij.openapi.util.registry.Registry;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.platform.debugger.impl.shared.XDebuggerUtilImplShared;
import com.intellij.pom.Navigatable;
import com.intellij.ui.AppUIUtil;
import com.intellij.util.concurrency.ThreadingAssertions;
import com.intellij.util.messages.MessageBusConnection;
import com.intellij.xdebugger.XDebuggerUtil;
import com.intellij.xdebugger.XSourcePosition;
import com.intellij.xdebugger.impl.XDebuggerUtilImpl;
import com.intellij.xdebugger.impl.settings.DataViewsConfigurableUi;
import com.intellij.xdebugger.impl.settings.XDebuggerSettingManagerImpl;
import com.intellij.xdebugger.ui.DebuggerColors;
@@ -241,7 +241,7 @@ public class ExecutionPointHighlighter {
return (OpenFileDescriptor)navigatable;
}
else {
return XDebuggerUtilImpl.createOpenFileDescriptor(project, position);
return XDebuggerUtilImplShared.createOpenFileDescriptor(project, position);
}
}
@@ -1,4 +1,4 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.xdebugger.impl.ui;
import com.intellij.openapi.editor.Document;
@@ -53,16 +53,9 @@ import com.intellij.xdebugger.XDebuggerBundle;
import com.intellij.xdebugger.impl.XDebugSessionImpl;
import com.intellij.xdebugger.impl.XDebugSessionSelectionService;
import com.intellij.xdebugger.impl.actions.XDebuggerActions;
import com.intellij.xdebugger.impl.frame.XDebugView;
import com.intellij.xdebugger.impl.frame.XDebugViewSessionListener;
import com.intellij.xdebugger.impl.frame.XFramesView;
import com.intellij.xdebugger.impl.frame.XThreadsView;
import com.intellij.xdebugger.impl.frame.XVariablesView;
import com.intellij.xdebugger.impl.frame.XVariablesViewBase;
import com.intellij.xdebugger.impl.frame.XWatchesView;
import com.intellij.xdebugger.impl.frame.XWatchesViewImpl;
import com.intellij.xdebugger.impl.frame.*;
import com.intellij.platform.debugger.impl.ui.XDebuggerEntityConverter;
import com.intellij.xdebugger.impl.messages.XDebuggerImplBundle;
import com.intellij.xdebugger.impl.proxy.MonolithSessionProxyKt;
import com.intellij.xdebugger.impl.settings.XDebuggerSettingManagerImpl;
import com.intellij.xdebugger.ui.XDebugTabLayouter;
import org.jetbrains.annotations.ApiStatus;
@@ -100,7 +93,7 @@ public class XDebugSessionTab extends DebuggerSessionTabBase {
@Nullable Icon icon,
@Nullable ExecutionEnvironment environment,
@Nullable RunContentDescriptor contentToReuse) {
XDebugSessionProxy proxy = MonolithSessionProxyKt.asProxy(session);
XDebugSessionProxy proxy = XDebuggerEntityConverter.asProxy(session);
boolean forceNewDebuggerUi = XDebugSessionTabCustomizerKt.forceShowNewDebuggerUi(session.getDebugProcess());
boolean withFramesCustomization = XDebugSessionTabCustomizerKt.allowFramesViewCustomization(session.getDebugProcess());
@Nullable String defaultFramesViewKey = XDebugSessionTabCustomizerKt.getDefaultFramesViewKey(session.getDebugProcess());
@@ -552,7 +545,7 @@ public class XDebugSessionTab extends DebuggerSessionTabBase {
*/
@Deprecated
public static void showWatchesView(@NotNull XDebugSessionImpl session) {
showWatchesView(MonolithSessionProxyKt.asProxy(session));
showWatchesView(XDebuggerEntityConverter.asProxy(session));
}
public static void showWatchesView(@NotNull XDebugSessionProxy session) {
@@ -567,7 +560,7 @@ public class XDebugSessionTab extends DebuggerSessionTabBase {
@Deprecated
public static void showFramesView(@Nullable XDebugSessionImpl session) {
if (session == null) return;
showFramesView(MonolithSessionProxyKt.asProxy(session));
showFramesView(XDebuggerEntityConverter.asProxy(session));
}
@ApiStatus.Internal
@@ -8,9 +8,8 @@ import com.intellij.openapi.actionSystem.ToggleAction
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 com.intellij.xdebugger.impl.ui.DebuggerUIUtil
import com.intellij.xdebugger.settings.XDebuggerSettingsManager
import org.jetbrains.annotations.ApiStatus
@ApiStatus.Internal
@@ -27,12 +26,12 @@ class SortValuesToggleAction : ToggleAction(), DumbAware, SplitDebuggerAction {
}
override fun isSelected(e: AnActionEvent): Boolean {
return XDebuggerSettingManagerImpl.getInstanceImpl().dataViewSettings.isSortValues
return XDebuggerSettingsManager.getInstance().dataViewSettings.isSortValues
}
override fun setSelected(e: AnActionEvent, state: Boolean) {
XDebuggerSettingManagerImpl.getInstanceImpl().dataViewSettings.isSortValues = state
XDebuggerSettingsManager.getInstance().dataViewSettings.isSortValues = state
saveSettingsForRemoteDevelopment(e.coroutineScope, application)
XDebuggerUtilImpl.rebuildAllSessionsViews(e.project)
DebuggerUIUtil.rebuildAllSessionsViews(e.project)
}
}