[rd debugger] IDEA-377734 Move mute renderers action to frontend

GitOrigin-RevId: 38a3aa2a8c4ca9991e4d1de3c3bd2b51e67bc044
This commit is contained in:
Maksim Zuev
2025-08-20 10:54:25 +00:00
committed by intellij-monorepo-bot
parent bb4679f390
commit 2a885a7037
12 changed files with 101 additions and 44 deletions
+2
View File
@@ -33,6 +33,8 @@ jvm_library(
"//java/execution/openapi:java-execution",
"//platform/xdebugger-impl/shared",
"//platform/xdebugger-impl/rpc",
"//platform/projectModel-api:projectModel",
"//platform/util/jdom",
],
runtime_deps = [":backend_resources"]
)
@@ -53,5 +53,7 @@
<orderEntry type="module" module-name="intellij.java.execution" />
<orderEntry type="module" module-name="intellij.platform.debugger.impl.shared" />
<orderEntry type="module" module-name="intellij.platform.debugger.impl.rpc" />
<orderEntry type="module" module-name="intellij.platform.projectModel" />
<orderEntry type="module" module-name="intellij.platform.util.jdom" />
</component>
</module>
@@ -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.java.debugger.impl.backend
import com.intellij.debugger.actions.MuteRendererUtils
import com.intellij.debugger.engine.DebugProcessImpl
import com.intellij.debugger.engine.JavaDebugProcess
import com.intellij.debugger.impl.DebuggerSession
@@ -21,9 +22,12 @@ internal class BackendJavaDebuggerManagerApi : JavaDebuggerManagerApi {
val javaProcess = debuggerSession.process
val sessionStateFlow = debuggerSession.sessionStateFlow
val renderersFlow = MuteRendererUtils.getOrCreateFlow(xSession.sessionData)
return JavaDebuggerSessionDto(
initialState = getJavaSessionState(debuggerSession, javaProcess),
stateFlow = sessionStateFlow.map { getJavaSessionState(debuggerSession, javaProcess) }.toRpc(),
areRenderersMutedInitial = renderersFlow.value,
areRenderersMutedFlow = renderersFlow.toRpc(),
)
}
}
@@ -3,6 +3,7 @@ package com.intellij.java.debugger.impl.backend
import com.intellij.debugger.actions.*
import com.intellij.debugger.engine.*
import com.intellij.debugger.settings.NodeRendererSettings
import com.intellij.execution.filters.ExceptionFilters
import com.intellij.ide.ui.icons.rpcId
import com.intellij.java.debugger.impl.shared.engine.NodeRendererId
@@ -87,6 +88,13 @@ internal class BackendJavaDebuggerSessionApi : JavaDebuggerSessionApi {
}
}
override suspend fun muteRenderers(sessionId: XDebugSessionId, state: Boolean) {
val xSession = sessionId.findValue() ?: return
val renderersFlow = MuteRendererUtils.getFlow(xSession.sessionData)
renderersFlow.value = state
NodeRendererSettings.getInstance().fireRenderersChanged()
}
override suspend fun resumeThread(executionStackId: XExecutionStackId) {
invokeThreadCommand(executionStackId, ThreadCommand.RESUME)
}