[debugger] Move files to rpc and shared modules

GitOrigin-RevId: 1e37f0230a944bc0cb443b1b3e9313b470c68fa8
This commit is contained in:
Nikolay Rykunov
2025-05-11 10:57:10 +00:00
committed by intellij-monorepo-bot
parent 5df93862d2
commit 1f1c7fb9f8
93 changed files with 480 additions and 321 deletions
@@ -50,5 +50,7 @@
<orderEntry type="module" module-name="intellij.platform.ide.rpc" />
<orderEntry type="module" module-name="intellij.platform.core.ui" />
<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" />
</component>
</module>
@@ -8,11 +8,11 @@ import com.intellij.debugger.engine.executeOnDMT
import com.intellij.execution.filters.ExceptionFilters
import com.intellij.ide.ui.icons.rpcId
import com.intellij.java.debugger.impl.shared.rpc.*
import com.intellij.platform.xdebugger.impl.rpc.toRpc
import com.intellij.unscramble.CompoundDumpItem
import com.intellij.unscramble.DumpItem
import com.intellij.xdebugger.impl.rpc.XDebugSessionId
import com.intellij.xdebugger.impl.rpc.models.findValue
import com.intellij.xdebugger.impl.rpc.toRpc
import fleet.util.channels.use
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.Dispatchers
@@ -45,5 +45,7 @@
<orderEntry type="library" name="kotlinx-serialization-json" level="project" />
<orderEntry type="module" module-name="intellij.java.debugger.impl.shared" />
<orderEntry type="module" module-name="intellij.platform.debugger.impl.frontend" />
<orderEntry type="module" module-name="intellij.platform.debugger.impl.shared" />
<orderEntry type="module" module-name="intellij.platform.debugger.impl.rpc" />
</component>
</module>
@@ -86,6 +86,7 @@
<orderEntry type="module" module-name="intellij.java.debugger.impl.shared" />
<orderEntry type="module" module-name="intellij.platform.eel.provider" />
<orderEntry type="module" module-name="intellij.java.codeserver.highlighting" />
<orderEntry type="module" module-name="intellij.platform.debugger.impl.shared" />
</component>
<component name="copyright">
<Base>
@@ -50,5 +50,7 @@
<orderEntry type="module" module-name="intellij.platform.execution.impl" />
<orderEntry type="module" module-name="intellij.java.frontback.impl" />
<orderEntry type="module" module-name="intellij.platform.util.coroutines" />
<orderEntry type="module" module-name="intellij.platform.debugger.impl.rpc" />
<orderEntry type="module" module-name="intellij.platform.debugger.impl.shared" />
</component>
</module>
@@ -19,11 +19,11 @@ 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.xdebugger.impl.rpc.toSimpleTextAttributes
import com.intellij.ui.SimpleTextAttributes
import com.intellij.unscramble.DumpItem
import com.intellij.util.BitUtil
import com.intellij.xdebugger.impl.frame.XDebugSessionProxy
import com.intellij.xdebugger.impl.rpc.toSimpleTextAttributes
import com.intellij.xdebugger.impl.ui.DebuggerUIUtil
import fleet.rpc.core.util.map
import kotlinx.coroutines.Dispatchers
@@ -5,7 +5,7 @@ import com.intellij.execution.filters.Filter
import com.intellij.ide.ui.icons.IconId
import com.intellij.openapi.util.NlsSafe
import com.intellij.platform.rpc.RemoteApiProviderService
import com.intellij.xdebugger.impl.rpc.SerializableSimpleTextAttributes
import com.intellij.platform.xdebugger.impl.rpc.SerializableSimpleTextAttributes
import com.intellij.xdebugger.impl.rpc.XDebugSessionId
import fleet.rpc.RemoteApi
import fleet.rpc.Rpc
@@ -35,7 +35,7 @@
<module name="intellij.platform.debugger.impl.frontend"/>
<module name="intellij.platform.debugger.impl.backend"/>
<module name="intellij.platform.debugger.impl.shared" loading="embedded"/>
<module name="intellij.platform.debugger.impl.rpc"/>
<module name="intellij.platform.debugger.impl.rpc" loading="embedded"/>
<module name="intellij.platform.bookmarks.backend"/>
<module name="intellij.platform.bookmarks.frontend"/>
@@ -59,5 +59,7 @@
<orderEntry type="module" module-name="intellij.platform.execution.impl" />
<orderEntry type="module" module-name="intellij.platform.ide.util.io" />
<orderEntry type="module" module-name="intellij.platform.execution.impl.backend" />
<orderEntry type="module" module-name="intellij.platform.debugger.impl.shared" />
<orderEntry type="module" module-name="intellij.platform.debugger.impl.rpc" />
</component>
</module>
@@ -8,6 +8,7 @@ import com.intellij.openapi.application.EDT
import com.intellij.openapi.application.edtWriteAction
import com.intellij.platform.project.ProjectId
import com.intellij.platform.project.findProject
import com.intellij.platform.xdebugger.impl.rpc.XBreakpointApi
import com.intellij.xdebugger.XDebuggerManager
import com.intellij.xdebugger.breakpoints.SuspendPolicy
import com.intellij.xdebugger.breakpoints.XLineBreakpoint
@@ -16,14 +17,8 @@ import com.intellij.xdebugger.impl.breakpoints.XBreakpointManagerImpl
import com.intellij.xdebugger.impl.breakpoints.XBreakpointProxy.Monolith.Companion.getEditorsProvider
import com.intellij.xdebugger.impl.breakpoints.XBreakpointUtil
import com.intellij.xdebugger.impl.breakpoints.XLineBreakpointImpl
import com.intellij.xdebugger.impl.rpc.XBreakpointApi
import com.intellij.xdebugger.impl.rpc.XBreakpointId
import com.intellij.xdebugger.impl.rpc.XBreakpointTypeId
import com.intellij.xdebugger.impl.rpc.XExpressionDto
import com.intellij.xdebugger.impl.rpc.XSourcePositionDto
import com.intellij.xdebugger.impl.rpc.*
import com.intellij.xdebugger.impl.rpc.models.findValue
import com.intellij.xdebugger.impl.rpc.sourcePosition
import com.intellij.xdebugger.impl.rpc.xExpression
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
@@ -40,7 +40,6 @@ import kotlinx.coroutines.flow.channelFlow
import org.jetbrains.concurrency.Promise
import org.jetbrains.concurrency.await
import org.jetbrains.concurrency.resolvedPromise
import kotlin.collections.map
internal class BackendXBreakpointTypeApi : XBreakpointTypeApi {
override suspend fun getBreakpointTypeList(project: ProjectId): XBreakpointTypeList {
@@ -13,6 +13,7 @@ import com.intellij.ide.vfs.virtualFile
import com.intellij.openapi.application.EDT
import com.intellij.openapi.application.readAction
import com.intellij.openapi.util.NlsContexts
import com.intellij.platform.xdebugger.impl.rpc.*
import com.intellij.ui.ColoredTextContainer
import com.intellij.ui.SimpleTextAttributes
import com.intellij.xdebugger.XSourcePosition
@@ -4,8 +4,8 @@ package com.intellij.platform.debugger.impl.backend
import com.intellij.platform.project.ProjectId
import com.intellij.platform.project.findProject
import com.intellij.xdebugger.impl.breakpoints.ui.BreakpointsDialogFactory
import com.intellij.xdebugger.impl.rpc.ShowBreakpointDialogRequest
import com.intellij.xdebugger.impl.rpc.XDebuggerBreakpointsDialogApi
import com.intellij.platform.xdebugger.impl.rpc.ShowBreakpointDialogRequest
import com.intellij.platform.xdebugger.impl.rpc.XDebuggerBreakpointsDialogApi
import kotlinx.coroutines.channels.awaitClose
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.channelFlow
@@ -16,12 +16,19 @@ import com.intellij.xdebugger.frame.XValue
import com.intellij.xdebugger.impl.XDebugSessionImpl
import com.intellij.xdebugger.impl.evaluate.quick.XDebuggerDocumentOffsetEvaluator
import com.intellij.xdebugger.impl.evaluate.quick.common.ValueHintType
import com.intellij.xdebugger.impl.rpc.*
import com.intellij.xdebugger.impl.rpc.XFullValueEvaluatorDto.FullValueEvaluatorLinkAttributes
import com.intellij.platform.xdebugger.impl.rpc.*
import com.intellij.platform.xdebugger.impl.rpc.XFullValueEvaluatorDto.FullValueEvaluatorLinkAttributes
import com.intellij.xdebugger.impl.rpc.XExpressionDto
import com.intellij.xdebugger.impl.rpc.XSourcePositionDto
import com.intellij.xdebugger.impl.rpc.XStackFrameId
import com.intellij.xdebugger.impl.rpc.XValueMarkerDto
import com.intellij.xdebugger.impl.rpc.models.BackendXValueModel
import com.intellij.xdebugger.impl.rpc.models.BackendXValueModelsManager
import com.intellij.xdebugger.impl.rpc.models.XStackFrameModel
import com.intellij.xdebugger.impl.rpc.models.findValue
import com.intellij.xdebugger.impl.rpc.sourcePosition
import com.intellij.xdebugger.impl.rpc.toRpc
import com.intellij.xdebugger.impl.rpc.xExpression
import fleet.rpc.core.RpcFlow
import fleet.rpc.core.toRpc
import kotlinx.coroutines.*
@@ -1,6 +1,6 @@
// 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.backend
import com.intellij.xdebugger.impl.rpc.XDebuggerLuxApi
import com.intellij.platform.xdebugger.impl.rpc.XDebuggerLuxApi
internal class BackendXDebuggerLuxApi : XDebuggerLuxApi
@@ -19,9 +19,25 @@ import com.intellij.xdebugger.impl.XDebuggerUtilImpl.reshowInlayRunToCursor
import com.intellij.xdebugger.impl.XSteppingSuspendContext
import com.intellij.xdebugger.impl.breakpoints.XBreakpointBase
import com.intellij.xdebugger.impl.frame.XDebugSessionProxy.Companion.useFeProxy
import com.intellij.xdebugger.impl.rpc.*
import com.intellij.platform.xdebugger.impl.rpc.*
import com.intellij.xdebugger.impl.rpc.SuspendData
import com.intellij.xdebugger.impl.rpc.XBreakpointEvent
import com.intellij.xdebugger.impl.rpc.XBreakpointsSetDto
import com.intellij.xdebugger.impl.rpc.XDebugSessionDataDto
import com.intellij.xdebugger.impl.rpc.XDebugSessionDto
import com.intellij.xdebugger.impl.rpc.XDebugSessionId
import com.intellij.xdebugger.impl.rpc.XDebugSessionState
import com.intellij.xdebugger.impl.rpc.XDebugSessionsList
import com.intellij.xdebugger.impl.rpc.XDebuggerEditorsProviderDto
import com.intellij.xdebugger.impl.rpc.XDebuggerManagerApi
import com.intellij.xdebugger.impl.rpc.XDebuggerManagerSessionEvent
import com.intellij.xdebugger.impl.rpc.XDebuggerSessionEvent
import com.intellij.xdebugger.impl.rpc.XExecutionStackDto
import com.intellij.xdebugger.impl.rpc.XSmartStepIntoHandlerDto
import com.intellij.xdebugger.impl.rpc.XSuspendContextDto
import com.intellij.xdebugger.impl.rpc.models.findValue
import com.intellij.xdebugger.impl.rpc.models.getOrStoreGlobally
import com.intellij.xdebugger.impl.rpc.toRpc
import com.intellij.xdebugger.impl.settings.XDebuggerSettingManagerImpl
import fleet.rpc.core.toRpc
import kotlinx.coroutines.*
@@ -5,9 +5,9 @@ import com.intellij.openapi.application.EDT
import com.intellij.openapi.components.Service
import com.intellij.openapi.components.service
import com.intellij.openapi.project.Project
import com.intellij.platform.xdebugger.impl.rpc.XDebuggerNavigationApi
import com.intellij.xdebugger.frame.XNavigatable
import com.intellij.xdebugger.frame.XValue
import com.intellij.xdebugger.impl.rpc.XDebuggerNavigationApi
import com.intellij.xdebugger.impl.rpc.XValueId
import com.intellij.xdebugger.impl.rpc.models.BackendXValueModel
import com.intellij.xdebugger.impl.ui.tree.actions.computeSourcePositionWithTimeout
@@ -3,21 +3,11 @@ package com.intellij.platform.debugger.impl.backend
import com.intellij.platform.debugger.impl.backend.hotswap.BackendXDebuggerHotSwapApi
import com.intellij.platform.rpc.backend.RemoteApiProvider
import com.intellij.xdebugger.impl.rpc.XBreakpointApi
import com.intellij.platform.xdebugger.impl.rpc.*
import com.intellij.xdebugger.impl.rpc.XBreakpointTypeApi
import com.intellij.xdebugger.impl.rpc.XDebugSessionApi
import com.intellij.xdebugger.impl.rpc.XDebuggerBreakpointsDialogApi
import com.intellij.xdebugger.impl.rpc.XDebuggerEvaluatorApi
import com.intellij.xdebugger.impl.rpc.XDebuggerHotSwapApi
import com.intellij.xdebugger.impl.rpc.XDebuggerLuxApi
import com.intellij.xdebugger.impl.rpc.XDebuggerManagerApi
import com.intellij.xdebugger.impl.rpc.XDebuggerNavigationApi
import com.intellij.xdebugger.impl.rpc.XDebuggerValueLookupHintsRemoteApi
import com.intellij.xdebugger.impl.rpc.XDebuggerValueMarkupApi
import com.intellij.xdebugger.impl.rpc.XDebuggerValueModifierApi
import com.intellij.xdebugger.impl.rpc.XDependentBreakpointManagerApi
import com.intellij.xdebugger.impl.rpc.XExecutionStackApi
import com.intellij.xdebugger.impl.rpc.XValueApi
import fleet.rpc.remoteApiDescriptor
private class BackendXDebuggerRemoteApiProviders : RemoteApiProvider {
@@ -21,8 +21,8 @@ import com.intellij.xdebugger.evaluation.ExpressionInfo
import com.intellij.xdebugger.evaluation.XDebuggerEvaluator
import com.intellij.xdebugger.impl.evaluate.quick.XValueHint
import com.intellij.xdebugger.impl.evaluate.quick.common.ValueHintType
import com.intellij.xdebugger.impl.rpc.RemoteValueHintId
import com.intellij.xdebugger.impl.rpc.XDebuggerValueLookupHintsRemoteApi
import com.intellij.platform.xdebugger.impl.rpc.RemoteValueHintId
import com.intellij.platform.xdebugger.impl.rpc.XDebuggerValueLookupHintsRemoteApi
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.channels.awaitClose
import kotlinx.coroutines.flow.Flow
@@ -1,10 +1,10 @@
// 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.backend
import com.intellij.platform.xdebugger.impl.rpc.XDebuggerValueMarkupApi
import com.intellij.ui.JBColor
import com.intellij.xdebugger.impl.XDebugSessionImpl
import com.intellij.xdebugger.impl.frame.XValueMarkers
import com.intellij.xdebugger.impl.rpc.XDebuggerValueMarkupApi
import com.intellij.xdebugger.impl.rpc.XValueId
import com.intellij.xdebugger.impl.rpc.XValueMarkerDto
import com.intellij.xdebugger.impl.rpc.models.BackendXValueModel
@@ -4,7 +4,10 @@ package com.intellij.platform.debugger.impl.backend
import com.intellij.openapi.util.NlsContexts
import com.intellij.xdebugger.frame.XValueModifier
import com.intellij.xdebugger.impl.rpc.models.BackendXValueModel
import com.intellij.xdebugger.impl.rpc.*
import com.intellij.platform.xdebugger.impl.rpc.*
import com.intellij.xdebugger.impl.rpc.XExpressionDto
import com.intellij.xdebugger.impl.rpc.XValueId
import com.intellij.xdebugger.impl.rpc.xExpression
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.Deferred
@@ -5,17 +5,17 @@ import com.intellij.openapi.application.EDT
import com.intellij.openapi.project.Project
import com.intellij.platform.project.ProjectId
import com.intellij.platform.project.findProject
import com.intellij.platform.xdebugger.impl.rpc.XBreakpointDependenciesDto
import com.intellij.platform.xdebugger.impl.rpc.XBreakpointDependencyDto
import com.intellij.platform.xdebugger.impl.rpc.XBreakpointDependencyEvent
import com.intellij.platform.xdebugger.impl.rpc.XDependentBreakpointManagerApi
import com.intellij.xdebugger.XDebuggerManager
import com.intellij.xdebugger.breakpoints.XBreakpoint
import com.intellij.xdebugger.impl.XDebuggerManagerImpl
import com.intellij.xdebugger.impl.breakpoints.XBreakpointBase
import com.intellij.xdebugger.impl.breakpoints.XDependentBreakpointListener
import com.intellij.xdebugger.impl.breakpoints.XDependentBreakpointManager
import com.intellij.xdebugger.impl.rpc.XBreakpointDependenciesDto
import com.intellij.xdebugger.impl.rpc.XBreakpointDependencyDto
import com.intellij.xdebugger.impl.rpc.XBreakpointDependencyEvent
import com.intellij.xdebugger.impl.rpc.XBreakpointId
import com.intellij.xdebugger.impl.rpc.XDependentBreakpointManagerApi
import com.intellij.xdebugger.impl.rpc.models.findValue
import fleet.rpc.core.toRpc
import kotlinx.coroutines.Dispatchers
@@ -2,9 +2,14 @@
package com.intellij.platform.debugger.impl.backend
import com.intellij.openapi.util.NlsContexts
import com.intellij.platform.xdebugger.impl.rpc.XExecutionStackApi
import com.intellij.platform.xdebugger.impl.rpc.XStackFrameDto
import com.intellij.platform.xdebugger.impl.rpc.XStackFramesEvent
import com.intellij.platform.xdebugger.impl.rpc.XValueComputeChildrenEvent
import com.intellij.xdebugger.frame.XExecutionStack
import com.intellij.xdebugger.frame.XStackFrame
import com.intellij.xdebugger.impl.rpc.*
import com.intellij.xdebugger.impl.rpc.XExecutionStackId
import com.intellij.xdebugger.impl.rpc.XStackFrameId
import com.intellij.xdebugger.impl.rpc.models.findValue
import kotlinx.coroutines.Deferred
import kotlinx.coroutines.async
@@ -4,18 +4,16 @@ package com.intellij.platform.debugger.impl.backend
import com.intellij.ide.ui.icons.rpcId
import com.intellij.openapi.util.NlsContexts
import com.intellij.platform.util.coroutines.childScope
import com.intellij.platform.xdebugger.impl.rpc.XFullValueEvaluatorResult
import com.intellij.platform.xdebugger.impl.rpc.XInlineDebuggerDataDto
import com.intellij.platform.xdebugger.impl.rpc.XValueApi
import com.intellij.platform.xdebugger.impl.rpc.XValueComputeChildrenEvent
import com.intellij.ui.SimpleTextAttributes
import com.intellij.xdebugger.Obsolescent
import com.intellij.xdebugger.XDebuggerBundle
import com.intellij.xdebugger.XSourcePosition
import com.intellij.xdebugger.frame.XCompositeNode
import com.intellij.xdebugger.frame.XDebuggerTreeNodeHyperlink
import com.intellij.xdebugger.frame.*
import com.intellij.xdebugger.frame.XFullValueEvaluator.XFullValueEvaluationCallback
import com.intellij.xdebugger.frame.XInlineDebuggerDataCallback
import com.intellij.xdebugger.frame.XNavigatable
import com.intellij.xdebugger.frame.XValue
import com.intellij.xdebugger.frame.XValueChildrenList
import com.intellij.xdebugger.frame.XValueContainer
import com.intellij.xdebugger.impl.XDebugSessionImpl
import com.intellij.xdebugger.impl.rpc.*
import com.intellij.xdebugger.impl.rpc.models.BackendXValueModel
@@ -56,5 +56,7 @@
<orderEntry type="module" module-name="intellij.platform.execution.impl.frontend" />
<orderEntry type="module" module-name="intellij.platform.testFramework" scope="TEST" />
<orderEntry type="module" module-name="intellij.platform.testExtensions" scope="TEST" />
<orderEntry type="module" module-name="intellij.platform.debugger.impl.shared" />
<orderEntry type="module" module-name="intellij.platform.debugger.impl.rpc" />
</component>
</module>
@@ -10,6 +10,7 @@ import com.intellij.openapi.util.Disposer
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.platform.project.projectId
import com.intellij.platform.util.coroutines.childScope
import com.intellij.platform.xdebugger.impl.rpc.XBreakpointApi
import com.intellij.xdebugger.impl.XDebuggerUtilImpl
import com.intellij.xdebugger.impl.XLineBreakpointInstallationInfo
import com.intellij.xdebugger.impl.breakpoints.*
@@ -9,19 +9,21 @@ import com.intellij.openapi.editor.markup.GutterIconRenderer
import com.intellij.openapi.project.Project
import com.intellij.openapi.util.NlsSafe
import com.intellij.platform.util.coroutines.childScope
import com.intellij.platform.xdebugger.impl.rpc.*
import com.intellij.pom.Navigatable
import com.intellij.xdebugger.XExpression
import com.intellij.xdebugger.XSourcePosition
import com.intellij.xdebugger.breakpoints.SuspendPolicy
import com.intellij.xdebugger.evaluation.XDebuggerEditorsProvider
import com.intellij.xdebugger.impl.breakpoints.BreakpointGutterIconRenderer
import com.intellij.xdebugger.impl.breakpoints.CustomizedBreakpointPresentation
import com.intellij.xdebugger.impl.breakpoints.*
import com.intellij.xdebugger.impl.breakpoints.XBreakpointBase.calculateIcon
import com.intellij.xdebugger.impl.breakpoints.XBreakpointManagerProxy
import com.intellij.xdebugger.impl.breakpoints.XBreakpointProxy
import com.intellij.xdebugger.impl.breakpoints.XBreakpointTypeProxy
import com.intellij.xdebugger.impl.breakpoints.XLineBreakpointTypeProxy
import com.intellij.xdebugger.impl.rpc.*
import com.intellij.xdebugger.impl.rpc.XBreakpointCustomPresentationDto
import com.intellij.xdebugger.impl.rpc.XBreakpointDto
import com.intellij.xdebugger.impl.rpc.XBreakpointDtoState
import com.intellij.xdebugger.impl.rpc.XBreakpointId
import com.intellij.xdebugger.impl.rpc.sourcePosition
import com.intellij.xdebugger.impl.rpc.toRpc
import com.intellij.xdebugger.impl.rpc.xExpression
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.cancel
import kotlinx.coroutines.flow.MutableStateFlow
@@ -10,6 +10,7 @@ import com.intellij.openapi.fileEditor.TextEditor
import com.intellij.openapi.project.Project
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.platform.project.projectId
import com.intellij.platform.xdebugger.impl.rpc.XBreakpointApi
import com.intellij.util.ThreeState
import com.intellij.xdebugger.breakpoints.SuspendPolicy
import com.intellij.xdebugger.breakpoints.XBreakpoint
@@ -19,7 +20,6 @@ import com.intellij.xdebugger.impl.breakpoints.XBreakpointProxy
import com.intellij.xdebugger.impl.breakpoints.XBreakpointTypeProxy
import com.intellij.xdebugger.impl.breakpoints.XLineBreakpointTypeProxy
import com.intellij.xdebugger.impl.frame.XDebugManagerProxy
import com.intellij.xdebugger.impl.rpc.XBreakpointApi
import com.intellij.xdebugger.impl.rpc.XBreakpointTypeApi
import com.intellij.xdebugger.impl.rpc.XBreakpointTypeDto
import com.intellij.xdebugger.impl.rpc.XLineBreakpointTypeInfo
@@ -9,7 +9,7 @@ import com.intellij.openapi.diagnostic.getOrLogException
import com.intellij.openapi.project.Project
import com.intellij.platform.project.projectId
import com.intellij.xdebugger.impl.breakpoints.ui.BreakpointsDialogFactory
import com.intellij.xdebugger.impl.rpc.XDebuggerBreakpointsDialogApi
import com.intellij.platform.xdebugger.impl.rpc.XDebuggerBreakpointsDialogApi
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@@ -39,7 +39,20 @@ import com.intellij.xdebugger.impl.XSourceKind
import com.intellij.xdebugger.impl.breakpoints.XBreakpointProxy
import com.intellij.xdebugger.impl.frame.*
import com.intellij.xdebugger.impl.inline.DebuggerInlayListener
import com.intellij.xdebugger.impl.rpc.*
import com.intellij.platform.xdebugger.impl.rpc.*
import com.intellij.xdebugger.impl.rpc.SuspendData
import com.intellij.xdebugger.impl.rpc.XDebugSessionApi
import com.intellij.xdebugger.impl.rpc.XDebugSessionDataDto
import com.intellij.xdebugger.impl.rpc.XDebugSessionDto
import com.intellij.xdebugger.impl.rpc.XDebugSessionId
import com.intellij.xdebugger.impl.rpc.XDebugSessionState
import com.intellij.xdebugger.impl.rpc.XDebuggerSessionEvent
import com.intellij.xdebugger.impl.rpc.XDebuggerSessionTabDto
import com.intellij.xdebugger.impl.rpc.XDebuggerSessionTabInfo
import com.intellij.xdebugger.impl.rpc.XDebuggerSessionTabInfoCallback
import com.intellij.xdebugger.impl.rpc.XSourcePositionDto
import com.intellij.xdebugger.impl.rpc.consoleView
import com.intellij.xdebugger.impl.rpc.sourcePosition
import com.intellij.xdebugger.impl.ui.XDebugSessionData
import com.intellij.xdebugger.impl.ui.XDebugSessionTab
import com.intellij.xdebugger.ui.XDebugTabLayouter
@@ -3,12 +3,12 @@ package com.intellij.platform.debugger.impl.frontend
import com.intellij.openapi.project.Project
import com.intellij.platform.project.projectId
import com.intellij.platform.xdebugger.impl.rpc.XBreakpointDependencyDto
import com.intellij.platform.xdebugger.impl.rpc.XBreakpointDependencyEvent
import com.intellij.platform.xdebugger.impl.rpc.XDependentBreakpointManagerApi
import com.intellij.xdebugger.impl.breakpoints.XBreakpointProxy
import com.intellij.xdebugger.impl.breakpoints.XDependentBreakpointManagerProxy
import com.intellij.xdebugger.impl.rpc.XBreakpointDependencyDto
import com.intellij.xdebugger.impl.rpc.XBreakpointDependencyEvent
import com.intellij.xdebugger.impl.rpc.XBreakpointId
import com.intellij.xdebugger.impl.rpc.XDependentBreakpointManagerApi
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.launch
@@ -10,11 +10,11 @@ import com.intellij.openapi.editor.markup.RangeHighlighter
import com.intellij.openapi.project.Project
import com.intellij.openapi.util.TextRange
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.platform.xdebugger.impl.rpc.XBreakpointApi
import com.intellij.xdebugger.XDebuggerUtil
import com.intellij.xdebugger.XSourcePosition
import com.intellij.xdebugger.impl.breakpoints.*
import com.intellij.xdebugger.impl.frame.XDebugSessionProxy.Companion.useFeLineBreakpointProxy
import com.intellij.xdebugger.impl.rpc.XBreakpointApi
import com.intellij.xdebugger.impl.rpc.XBreakpointDto
import com.intellij.xdebugger.impl.rpc.XLineBreakpointInfo
import com.intellij.xdebugger.impl.rpc.toTextRange
@@ -8,7 +8,7 @@ import com.intellij.platform.debugger.impl.frontend.evaluate.quick.FrontendXValu
import com.intellij.ui.JBColor
import com.intellij.xdebugger.frame.XValue
import com.intellij.xdebugger.impl.frame.XValueMarkers
import com.intellij.xdebugger.impl.rpc.XDebuggerValueMarkupApi
import com.intellij.platform.xdebugger.impl.rpc.XDebuggerValueMarkupApi
import com.intellij.xdebugger.impl.rpc.XValueMarkerDto
import com.intellij.xdebugger.impl.ui.tree.ValueMarkup
import kotlinx.coroutines.CoroutineScope
@@ -12,7 +12,9 @@ import com.intellij.xdebugger.XSourcePosition
import com.intellij.xdebugger.evaluation.XDebuggerEvaluator
import com.intellij.xdebugger.impl.evaluate.quick.XDebuggerDocumentOffsetEvaluator
import com.intellij.xdebugger.impl.evaluate.quick.common.ValueHintType
import com.intellij.xdebugger.impl.rpc.*
import com.intellij.platform.xdebugger.impl.rpc.*
import com.intellij.xdebugger.impl.rpc.XStackFrameId
import com.intellij.xdebugger.impl.rpc.toRpc
import fleet.util.logging.logger
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Deferred
@@ -3,10 +3,10 @@ package com.intellij.platform.debugger.impl.frontend.evaluate.quick
import com.intellij.ide.ui.icons.icon
import com.intellij.openapi.application.EDT
import com.intellij.platform.xdebugger.impl.rpc.XFullValueEvaluatorDto
import com.intellij.platform.xdebugger.impl.rpc.XFullValueEvaluatorResult
import com.intellij.platform.xdebugger.impl.rpc.XValueApi
import com.intellij.xdebugger.frame.XFullValueEvaluator
import com.intellij.xdebugger.impl.rpc.XFullValueEvaluatorDto
import com.intellij.xdebugger.impl.rpc.XFullValueEvaluatorResult
import com.intellij.xdebugger.impl.rpc.XValueApi
import com.intellij.xdebugger.impl.rpc.XValueId
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
@@ -15,7 +15,13 @@ import com.intellij.xdebugger.Obsolescent
import com.intellij.xdebugger.XExpression
import com.intellij.xdebugger.frame.*
import com.intellij.xdebugger.frame.presentation.XValuePresentation
import com.intellij.xdebugger.impl.rpc.*
import com.intellij.platform.xdebugger.impl.rpc.*
import com.intellij.xdebugger.impl.rpc.XSourcePositionDto
import com.intellij.xdebugger.impl.rpc.XValueAdvancedPresentationPart
import com.intellij.xdebugger.impl.rpc.XValueMarkerDto
import com.intellij.xdebugger.impl.rpc.XValueSerializedPresentation
import com.intellij.xdebugger.impl.rpc.sourcePosition
import com.intellij.xdebugger.impl.rpc.xExpression
import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeEx
import kotlinx.coroutines.*
import kotlinx.coroutines.flow.*
@@ -8,7 +8,7 @@ import com.intellij.ui.SimpleTextAttributes
import com.intellij.xdebugger.frame.XCompositeNode
import com.intellij.xdebugger.frame.XValueChildrenList
import com.intellij.xdebugger.frame.XValueContainer
import com.intellij.xdebugger.impl.rpc.XValueComputeChildrenEvent
import com.intellij.platform.xdebugger.impl.rpc.XValueComputeChildrenEvent
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.async
@@ -7,9 +7,9 @@ import com.intellij.openapi.project.Project
import com.intellij.xdebugger.XExpression
import com.intellij.xdebugger.frame.XValueModifier
import com.intellij.xdebugger.impl.breakpoints.XExpressionImpl
import com.intellij.xdebugger.impl.rpc.SetValueResult
import com.intellij.xdebugger.impl.rpc.XDebuggerValueModifierApi
import com.intellij.xdebugger.impl.rpc.XValueDto
import com.intellij.platform.xdebugger.impl.rpc.SetValueResult
import com.intellij.platform.xdebugger.impl.rpc.XDebuggerValueModifierApi
import com.intellij.platform.xdebugger.impl.rpc.XValueDto
import com.intellij.xdebugger.impl.rpc.toRpc
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch
@@ -18,7 +18,7 @@ import com.intellij.xdebugger.impl.evaluate.quick.common.AbstractValueHint
import com.intellij.xdebugger.impl.evaluate.quick.common.QuickEvaluateHandler
import com.intellij.xdebugger.impl.evaluate.quick.common.ValueHintType
import com.intellij.xdebugger.impl.frame.XDebugSessionProxy.Companion.useFeProxy
import com.intellij.xdebugger.impl.rpc.XDebuggerValueLookupHintsRemoteApi
import com.intellij.platform.xdebugger.impl.rpc.XDebuggerValueLookupHintsRemoteApi
import com.intellij.xdebugger.settings.XDebuggerSettingsManager
import kotlinx.coroutines.*
import kotlinx.coroutines.future.asCompletableFuture
@@ -10,8 +10,8 @@ import com.intellij.xdebugger.evaluation.ExpressionInfo
import com.intellij.xdebugger.impl.evaluate.childCoroutineScope
import com.intellij.xdebugger.impl.evaluate.quick.common.AbstractValueHint
import com.intellij.xdebugger.impl.evaluate.quick.common.ValueHintType
import com.intellij.xdebugger.impl.rpc.RemoteValueHintId
import com.intellij.xdebugger.impl.rpc.XDebuggerValueLookupHintsRemoteApi
import com.intellij.platform.xdebugger.impl.rpc.RemoteValueHintId
import com.intellij.platform.xdebugger.impl.rpc.XDebuggerValueLookupHintsRemoteApi
import kotlinx.coroutines.*
import java.awt.Point
@@ -4,12 +4,12 @@ package com.intellij.platform.debugger.impl.frontend.frame
import com.intellij.ide.ui.icons.icon
import com.intellij.openapi.project.Project
import com.intellij.platform.debugger.impl.frontend.storage.getOrCreateStackFrame
import com.intellij.platform.xdebugger.impl.rpc.XExecutionStackApi
import com.intellij.platform.xdebugger.impl.rpc.XStackFramesEvent
import com.intellij.xdebugger.frame.XExecutionStack
import com.intellij.xdebugger.frame.XStackFrame
import com.intellij.xdebugger.impl.rpc.XExecutionStackApi
import com.intellij.xdebugger.impl.rpc.XExecutionStackDto
import com.intellij.xdebugger.impl.rpc.XExecutionStackId
import com.intellij.xdebugger.impl.rpc.XStackFramesEvent
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch
@@ -9,13 +9,16 @@ import com.intellij.openapi.util.NlsContexts
import com.intellij.platform.debugger.impl.frontend.evaluate.quick.FrontendXValueContainer
import com.intellij.platform.debugger.impl.frontend.evaluate.quick.createFrontendXDebuggerEvaluator
import com.intellij.platform.debugger.impl.frontend.storage.currentPresentation
import com.intellij.platform.xdebugger.impl.rpc.*
import com.intellij.ui.ColoredTextContainer
import com.intellij.xdebugger.XSourcePosition
import com.intellij.xdebugger.evaluation.XDebuggerEvaluator
import com.intellij.xdebugger.frame.XCompositeNode
import com.intellij.xdebugger.frame.XStackFrame
import com.intellij.xdebugger.impl.frame.XDebuggerFramesList
import com.intellij.xdebugger.impl.rpc.*
import com.intellij.xdebugger.impl.rpc.XSourcePositionDto
import com.intellij.xdebugger.impl.rpc.XStackFrameId
import com.intellij.xdebugger.impl.rpc.sourcePosition
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.MutableStateFlow
@@ -3,11 +3,11 @@ package com.intellij.platform.debugger.impl.frontend.frame
import com.intellij.openapi.project.Project
import com.intellij.platform.debugger.impl.frontend.storage.getOrCreateStackFrame
import com.intellij.platform.xdebugger.impl.rpc.XStackFrameDto
import com.intellij.xdebugger.frame.XExecutionStack
import com.intellij.xdebugger.frame.XSuspendContext
import com.intellij.xdebugger.impl.rpc.XDebugSessionApi
import com.intellij.xdebugger.impl.rpc.XExecutionStacksEvent
import com.intellij.xdebugger.impl.rpc.XStackFrameDto
import com.intellij.xdebugger.impl.rpc.XSuspendContextDto
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.cancel
@@ -3,9 +3,9 @@ package com.intellij.platform.debugger.impl.frontend.storage
import com.intellij.openapi.project.Project
import com.intellij.platform.debugger.impl.frontend.frame.FrontendXStackFrame
import com.intellij.xdebugger.impl.rpc.XStackFrameDto
import com.intellij.platform.xdebugger.impl.rpc.XStackFrameDto
import com.intellij.platform.xdebugger.impl.rpc.XStackFramePresentation
import com.intellij.xdebugger.impl.rpc.XStackFrameId
import com.intellij.xdebugger.impl.rpc.XStackFramePresentation
import fleet.multiplatform.shims.ConcurrentHashMap
import kotlinx.coroutines.CoroutineScope
import kotlin.coroutines.AbstractCoroutineContextElement
@@ -71,5 +71,7 @@
<orderEntry type="library" name="kotlinx-serialization-json" level="project" />
<orderEntry type="module" module-name="intellij.platform.project" />
<orderEntry type="module" module-name="intellij.platform.ide.codeinsight.inline" />
<orderEntry type="module" module-name="intellij.platform.debugger.impl.shared" />
<orderEntry type="module" module-name="intellij.platform.debugger.impl.rpc" />
</component>
</module>
@@ -37,8 +37,6 @@
<extensionPoint name="xdebugger.xValueCustomDescriptorSerializerProvider"
interface="com.intellij.xdebugger.frame.XValueCustomDescriptorSerializerProvider" dynamic="true"/>
<extensionPoint name="xdebugger.consoleViewDataConverter" interface="com.intellij.xdebugger.impl.rpc.XDebuggerConsoleViewConverter"
dynamic="true"/>
<extensionPoint name="xdebugger.managerProxy" interface="com.intellij.xdebugger.impl.frame.XDebugManagerProxy"
dynamic="true"/>
</extensionPoints>
@@ -36,6 +36,13 @@
<orderEntry type="library" name="kotlin-stdlib" level="project" />
<orderEntry type="module" module-name="intellij.platform.kernel" />
<orderEntry type="module" module-name="intellij.platform.debugger" />
<orderEntry type="library" name="kotlinx-serialization-core" level="project" />
<orderEntry type="library" name="kotlinx-serialization-json" level="project" />
<orderEntry type="module" module-name="intellij.platform.debugger.impl.shared" />
<orderEntry type="module" module-name="intellij.platform.project" />
<orderEntry type="module" module-name="intellij.platform.ide.impl" />
<orderEntry type="module" module-name="intellij.platform.ide.rpc" />
<orderEntry type="module" module-name="intellij.platform.core.ui" />
<orderEntry type="module" module-name="intellij.platform.execution.impl" />
</component>
</module>
@@ -1,18 +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.xdebugger.impl.rpc
package com.intellij.platform.xdebugger.impl.rpc
import com.intellij.ide.rpc.BackendDocumentId
import com.intellij.ide.rpc.FrontendDocumentId
import com.intellij.platform.project.ProjectId
import com.intellij.platform.rpc.Id
import com.intellij.platform.rpc.RemoteApiProviderService
import com.intellij.platform.rpc.UID
import com.intellij.xdebugger.breakpoints.SuspendPolicy
import com.intellij.xdebugger.evaluation.EvaluationMode
import com.intellij.xdebugger.impl.rpc.XBreakpointId
import com.intellij.xdebugger.impl.rpc.XBreakpointTypeId
import com.intellij.xdebugger.impl.rpc.XExpressionDto
import com.intellij.xdebugger.impl.rpc.XSourcePositionDto
import fleet.rpc.RemoteApi
import fleet.rpc.Rpc
import fleet.rpc.remoteApiDescriptor
import kotlinx.serialization.Serializable
import org.jetbrains.annotations.ApiStatus
@ApiStatus.Internal
@@ -23,21 +24,21 @@ interface XBreakpointApi : RemoteApi<Unit> {
suspend fun setSuspendPolicy(breakpointId: XBreakpointId, suspendPolicy: SuspendPolicy)
suspend fun setDefaultSuspendPolicy(project: ProjectId, breakpointTypeId: XBreakpointTypeId, policy: SuspendPolicy)
suspend fun setConditionEnabled(breakpointId: XBreakpointId, enabled: Boolean)
suspend fun setConditionExpression(breakpointId: XBreakpointId, condition: XExpressionDto?)
suspend fun setLogMessage(breakpointId: XBreakpointId, enabled: Boolean)
suspend fun setLogStack(breakpointId: XBreakpointId, enabled: Boolean)
suspend fun setLogExpressionEnabled(breakpointId: XBreakpointId, enabled: Boolean)
suspend fun setLogExpressionObject(breakpointId: XBreakpointId, logExpression: XExpressionDto?)
suspend fun setTemporary(breakpointId: XBreakpointId, isTemporary: Boolean)
suspend fun setUserDescription(breakpointId: XBreakpointId, description: String?)
suspend fun setFileUrl(breakpointId: XBreakpointId, fileUrl: String?)
@@ -54,8 +55,4 @@ interface XBreakpointApi : RemoteApi<Unit> {
return RemoteApiProviderService.resolve(remoteApiDescriptor<XBreakpointApi>())
}
}
}
@ApiStatus.Internal
@Serializable
data class XBreakpointId(override val uid: UID) : Id
}
@@ -1,8 +1,9 @@
// 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.rpc
package com.intellij.platform.xdebugger.impl.rpc
import com.intellij.platform.project.ProjectId
import com.intellij.platform.rpc.RemoteApiProviderService
import com.intellij.xdebugger.impl.rpc.XBreakpointId
import fleet.rpc.RemoteApi
import fleet.rpc.Rpc
import fleet.rpc.remoteApiDescriptor
@@ -0,0 +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.platform.xdebugger.impl.rpc
import com.intellij.execution.process.ProcessHandler
import com.intellij.execution.ui.ConsoleView
import com.intellij.execution.ui.RunContentDescriptor
import com.intellij.openapi.extensions.ExtensionPointName
import com.intellij.platform.project.ProjectId
import com.intellij.xdebugger.XDebugProcess
import com.intellij.xdebugger.impl.rpc.RemoteXDebuggerConsoleViewData
import com.intellij.xdebugger.impl.rpc.XDebuggerConsoleViewData
import kotlinx.serialization.Serializable
import org.jetbrains.annotations.ApiStatus
@@ -1,17 +1,22 @@
// 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.rpc
package com.intellij.platform.xdebugger.impl.rpc
import com.intellij.ide.rpc.DocumentId
import com.intellij.ide.ui.icons.IconId
import com.intellij.openapi.editor.colors.TextAttributesKey
import com.intellij.openapi.util.NlsContexts
import com.intellij.openapi.util.NlsSafe
import com.intellij.platform.rpc.Id
import com.intellij.platform.rpc.RemoteApiProviderService
import com.intellij.ui.SimpleTextAttributes
import com.intellij.xdebugger.frame.XDebuggerTreeNodeHyperlink
import com.intellij.xdebugger.frame.XValueDescriptor
import com.intellij.xdebugger.impl.evaluate.quick.common.ValueHintType
import com.intellij.xdebugger.impl.rpc.XExpressionDto
import com.intellij.xdebugger.impl.rpc.XSourcePositionDto
import com.intellij.xdebugger.impl.rpc.XStackFrameId
import com.intellij.xdebugger.impl.rpc.XValueId
import com.intellij.xdebugger.impl.rpc.XValueMarkerDto
import com.intellij.xdebugger.impl.rpc.XValueSerializedPresentation
import fleet.rpc.RemoteApi
import fleet.rpc.Rpc
import fleet.rpc.core.DeferredSerializer
@@ -83,13 +88,6 @@ sealed interface XEvaluationResult {
data class EvaluationError(val errorMessage: @NlsContexts.DialogMessage String) : XEvaluationResult
}
/**
* @see com.intellij.xdebugger.impl.rpc.models.BackendXValueModel
*/
@ApiStatus.Internal
@Serializable
data class XValueId(override val uid: com.intellij.platform.rpc.UID) : Id
@ApiStatus.Internal
@Serializable
data class XValueDto(
@@ -112,31 +110,6 @@ data class XValueMarkerId(val id: UID)
@Serializable
data class XDebuggerEvaluatorDto(val canEvaluateInDocument: Boolean)
@ApiStatus.Internal
@Serializable
sealed interface XValueSerializedPresentation {
@ApiStatus.Internal
@Serializable
data class SimplePresentation(
@JvmField val icon: IconId?,
@JvmField val presentationType: String?,
@JvmField val value: String,
@JvmField val hasChildren: Boolean,
) : XValueSerializedPresentation
@ApiStatus.Internal
@Serializable
data class AdvancedPresentation(
@JvmField val icon: IconId?,
@JvmField val hasChildren: Boolean,
@JvmField val separator: String,
@JvmField val isShownName: Boolean,
@JvmField val presentationType: String?,
@JvmField val isAsync: Boolean,
@JvmField val parts: List<XValueAdvancedPresentationPart>,
) : XValueSerializedPresentation
}
@ApiStatus.Internal
@Serializable
data class XFullValueEvaluatorDto(
@@ -165,47 +138,3 @@ sealed interface XFullValueEvaluatorResult {
data class EvaluationError(val errorMessage: @NlsContexts.DialogMessage String) : XFullValueEvaluatorResult
}
@ApiStatus.Internal
@Serializable
sealed interface XValueAdvancedPresentationPart {
@ApiStatus.Internal
@Serializable
data class Value(@JvmField val value: String) : XValueAdvancedPresentationPart
@ApiStatus.Internal
@Serializable
data class StringValue(@JvmField val value: String) : XValueAdvancedPresentationPart
@ApiStatus.Internal
@Serializable
data class NumericValue(@JvmField val value: String) : XValueAdvancedPresentationPart
@ApiStatus.Internal
@Serializable
data class KeywordValue(@JvmField val value: String) : XValueAdvancedPresentationPart
// TODO[IJPL-160146]: support [TextAttributesKey] serialization
@ApiStatus.Internal
@Serializable
data class ValueWithAttributes(@JvmField val value: String, @Transient @JvmField val key: TextAttributesKey? = null) : XValueAdvancedPresentationPart
@ApiStatus.Internal
@Serializable
data class StringValueWithHighlighting(
@JvmField val value: String,
@JvmField val additionalSpecialCharsToHighlight: String?,
@JvmField val maxLength: Int,
) : XValueAdvancedPresentationPart
@ApiStatus.Internal
@Serializable
data class Comment(@JvmField val comment: String) : XValueAdvancedPresentationPart
@ApiStatus.Internal
@Serializable
data class SpecialSymbol(@JvmField val symbol: String) : XValueAdvancedPresentationPart
@ApiStatus.Internal
@Serializable
data class Error(@JvmField val error: String) : XValueAdvancedPresentationPart
}
@@ -1,5 +1,5 @@
// 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.rpc
package com.intellij.platform.xdebugger.impl.rpc
import com.intellij.platform.rpc.RemoteApiProviderService
import fleet.rpc.RemoteApi
@@ -1,7 +1,8 @@
// 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.rpc
package com.intellij.platform.xdebugger.impl.rpc
import com.intellij.platform.rpc.RemoteApiProviderService
import com.intellij.xdebugger.impl.rpc.XValueId
import fleet.rpc.RemoteApi
import fleet.rpc.Rpc
import fleet.rpc.remoteApiDescriptor
@@ -1,5 +1,5 @@
// 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.rpc
package com.intellij.platform.xdebugger.impl.rpc
import com.intellij.openapi.editor.impl.EditorId
import com.intellij.platform.project.ProjectId
@@ -1,7 +1,9 @@
// 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.rpc
package com.intellij.platform.xdebugger.impl.rpc
import com.intellij.platform.rpc.RemoteApiProviderService
import com.intellij.xdebugger.impl.rpc.XValueId
import com.intellij.xdebugger.impl.rpc.XValueMarkerDto
import fleet.rpc.RemoteApi
import fleet.rpc.Rpc
import fleet.rpc.remoteApiDescriptor
@@ -1,8 +1,10 @@
// 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.rpc
package com.intellij.platform.xdebugger.impl.rpc
import com.intellij.openapi.util.NlsContexts
import com.intellij.platform.rpc.RemoteApiProviderService
import com.intellij.xdebugger.impl.rpc.XExpressionDto
import com.intellij.xdebugger.impl.rpc.XValueId
import fleet.rpc.RemoteApi
import fleet.rpc.Rpc
import fleet.rpc.remoteApiDescriptor
@@ -1,9 +1,9 @@
// 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.rpc
package com.intellij.platform.xdebugger.impl.rpc
import com.intellij.platform.project.ProjectId
import com.intellij.platform.rpc.RemoteApiProviderService
import com.intellij.xdebugger.impl.breakpoints.XBreakpointProxy
import com.intellij.xdebugger.impl.rpc.XBreakpointId
import fleet.rpc.RemoteApi
import fleet.rpc.Rpc
import fleet.rpc.core.RpcFlow
@@ -1,7 +1,9 @@
// 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.rpc
package com.intellij.platform.xdebugger.impl.rpc
import com.intellij.platform.rpc.RemoteApiProviderService
import com.intellij.xdebugger.impl.rpc.XExecutionStackId
import com.intellij.xdebugger.impl.rpc.XStackFrameId
import fleet.rpc.RemoteApi
import fleet.rpc.Rpc
import fleet.rpc.remoteApiDescriptor
@@ -1,5 +1,5 @@
// 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.rpc
package com.intellij.platform.xdebugger.impl.rpc
import com.intellij.ide.ui.colors.ColorId
import com.intellij.ide.ui.colors.color
@@ -9,35 +9,13 @@ import com.intellij.openapi.util.NlsContexts
import com.intellij.platform.rpc.Id
import com.intellij.platform.rpc.UID
import com.intellij.ui.SimpleTextAttributes
import com.intellij.xdebugger.impl.rpc.XExecutionStackId
import com.intellij.xdebugger.impl.rpc.XSourcePositionDto
import com.intellij.xdebugger.impl.rpc.XStackFrameId
import kotlinx.serialization.Serializable
import org.jetbrains.annotations.ApiStatus
import org.jetbrains.annotations.Nls
@ApiStatus.Internal
@Serializable
sealed interface XExecutionStacksEvent {
@Serializable
data class NewExecutionStacks(val stacks: List<XExecutionStackDto>, val last: Boolean) : XExecutionStacksEvent
@Serializable
data class ErrorOccurred(val errorMessage: @NlsContexts.DialogMessage String) : XExecutionStacksEvent
}
/**
* @see com.intellij.xdebugger.impl.rpc.models.XExecutionStackModel
*/
@ApiStatus.Internal
@Serializable
data class XExecutionStackId(override val uid: UID) : Id
@ApiStatus.Internal
@Serializable
data class XExecutionStackDto(
val executionStackId: XExecutionStackId,
val displayName: @Nls String,
val icon: IconId?,
)
@ApiStatus.Internal
@Serializable
sealed interface XStackFramesEvent {
@@ -49,14 +27,6 @@ sealed interface XStackFramesEvent {
data class ErrorOccurred(val errorMessage: @NlsContexts.DialogMessage String) : XStackFramesEvent
}
/**
* @see com.intellij.xdebugger.impl.rpc.models.XStackFrameValueIdType
* @see com.intellij.xdebugger.impl.rpc.models.XStackFrameModel
*/
@ApiStatus.Internal
@Serializable
data class XStackFrameId(override val uid: UID) : Id
@ApiStatus.Internal
@Serializable
data class XStackFrameDto(
@@ -1,8 +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.rpc
package com.intellij.platform.xdebugger.impl.rpc
import com.intellij.platform.rpc.RemoteApiProviderService
import com.intellij.util.ThreeState
import com.intellij.xdebugger.impl.rpc.XExpressionDto
import com.intellij.xdebugger.impl.rpc.XSourcePositionDto
import com.intellij.xdebugger.impl.rpc.XValueId
import com.intellij.xdebugger.impl.rpc.XValueSerializedPresentation
import fleet.rpc.RemoteApi
import fleet.rpc.Rpc
import fleet.rpc.core.RpcFlow
@@ -0,0 +1,5 @@
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
@Internal
package com.intellij.platform.xdebugger.impl.rpc;
import org.jetbrains.annotations.ApiStatus.Internal;
@@ -36,5 +36,10 @@
<orderEntry type="library" name="kotlin-stdlib" level="project" />
<orderEntry type="module" module-name="intellij.platform.kernel" />
<orderEntry type="module" module-name="intellij.platform.debugger" />
<orderEntry type="library" name="kotlinx-serialization-core" level="project" />
<orderEntry type="library" name="kotlinx-serialization-json" level="project" />
<orderEntry type="module" module-name="intellij.platform.ide.rpc" />
<orderEntry type="module" module-name="intellij.platform.project" />
<orderEntry type="module" module-name="intellij.platform.editor.ui" />
</component>
</module>
@@ -1,3 +1,6 @@
<idea-plugin>
<extensionPoints>
<extensionPoint name="xdebugger.consoleViewDataConverter" interface="com.intellij.xdebugger.impl.rpc.XDebuggerConsoleViewConverter"
dynamic="true"/>
</extensionPoints>
</idea-plugin>
@@ -0,0 +1,40 @@
// 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.xdebugger.impl.shared
import com.intellij.openapi.fileEditor.OpenFileDescriptor
import com.intellij.openapi.project.Project
import com.intellij.pom.Navigatable
import com.intellij.xdebugger.XSourcePosition
import org.jetbrains.annotations.ApiStatus
@ApiStatus.Internal
object XDebuggerUtilImplShared {
@ApiStatus.Internal
@JvmStatic
fun createNavigatable(project: Project, position: XSourcePosition): Navigatable {
return XSourcePositionNavigatable(project, position)
}
@ApiStatus.Internal
@JvmStatic
fun createOpenFileDescriptor(project: Project, position: XSourcePosition): OpenFileDescriptor {
return if (position.getOffset() != -1)
OpenFileDescriptor(project, position.getFile(), position.getOffset())
else
OpenFileDescriptor(project, position.getFile(), position.getLine(), 0)
}
private class XSourcePositionNavigatable(private val myProject: Project, private val myPosition: XSourcePosition) : Navigatable {
override fun navigate(requestFocus: Boolean) {
createOpenFileDescriptor(myProject, myPosition).navigate(requestFocus)
}
override fun canNavigate(): Boolean {
return myPosition.getFile().isValid()
}
override fun canNavigateToSource(): Boolean {
return canNavigate()
}
}
}
@@ -0,0 +1,11 @@
// 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.evaluate.quick.common
import kotlinx.serialization.Serializable
@Serializable
enum class ValueHintType {
MOUSE_OVER_HINT,
MOUSE_ALT_OVER_HINT,
MOUSE_CLICK_HINT
}
@@ -0,0 +1,11 @@
// 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.rpc
import com.intellij.platform.rpc.Id
import com.intellij.platform.rpc.UID
import kotlinx.serialization.Serializable
import org.jetbrains.annotations.ApiStatus
@ApiStatus.Internal
@Serializable
data class XBreakpointId(override val uid: UID) : Id
@@ -0,0 +1,9 @@
// 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.rpc
import kotlinx.serialization.Serializable
import org.jetbrains.annotations.ApiStatus
@ApiStatus.Internal
@Serializable
data class XBreakpointTypeId(val id: String)
@@ -0,0 +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.rpc
import com.intellij.platform.rpc.Id
import com.intellij.platform.rpc.UID
import kotlinx.serialization.Serializable
import org.jetbrains.annotations.ApiStatus
/**
* @see XDebugSessionId.findValue
* @see com.intellij.xdebugger.impl.XDebugSessionImpl.id
*/
@ApiStatus.Internal
@Serializable
data class XDebugSessionId(override val uid: UID) : Id
@@ -11,6 +11,23 @@ import kotlinx.serialization.Serializable
import kotlinx.serialization.Transient
import org.jetbrains.annotations.ApiStatus
// TODO: should be moved to RPC module!!
@ApiStatus.Internal
@Serializable
class XDebuggerConsoleViewData(@Serializable internal val remoteData: RemoteXDebuggerConsoleViewData? = null, @Transient internal val localConsole: ConsoleView? = null)
@ApiStatus.Internal
@Serializable
data class RemoteXDebuggerConsoleViewData(
val projectId: ProjectId,
val executionId: Long,
val idBased: Boolean,
val testFramework: String,
val uniqueId: String,
val consoleId: Int,
val runnerLayoutUiId: Int?,
)
@ApiStatus.Internal
suspend fun ConsoleView.toRpc(contentDescriptor: RunContentDescriptor, debugProcess: XDebugProcess?): XDebuggerConsoleViewData {
val remoteData = XDebuggerConsoleViewConverter.EP_NAME.extensionList.firstNotNullOfOrNull {
@@ -42,20 +59,4 @@ interface XDebuggerConsoleViewConverter {
suspend fun convert(consoleView: ConsoleView, contentDescriptor: RunContentDescriptor, debugProcess: XDebugProcess?): RemoteXDebuggerConsoleViewData?
suspend fun convert(remoteData: RemoteXDebuggerConsoleViewData, processHandler: ProcessHandler): ConsoleView?
}
@ApiStatus.Internal
@Serializable
class XDebuggerConsoleViewData internal constructor(@Serializable internal val remoteData: RemoteXDebuggerConsoleViewData? = null, @Transient internal val localConsole: ConsoleView? = null)
@ApiStatus.Internal
@Serializable
data class RemoteXDebuggerConsoleViewData(
val projectId: ProjectId,
val executionId: Long,
val idBased: Boolean,
val testFramework: String,
val uniqueId: String,
val consoleId: Int,
val runnerLayoutUiId: Int?,
)
}
@@ -0,0 +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.rpc
import com.intellij.platform.rpc.Id
import com.intellij.platform.rpc.UID
import kotlinx.serialization.Serializable
import org.jetbrains.annotations.ApiStatus
/**
* @see com.intellij.xdebugger.impl.rpc.models.XExecutionStackModel
*/
@ApiStatus.Internal
@Serializable
data class XExecutionStackId(override val uid: UID) : Id
@@ -8,6 +8,7 @@ import kotlinx.serialization.Serializable
import kotlinx.serialization.Transient
import org.jetbrains.annotations.ApiStatus
// TODO: move to RPC module!!
@ApiStatus.Internal
@Serializable
data class XExpressionDto(
@@ -6,6 +6,7 @@ import com.intellij.ide.vfs.VirtualFileId
import kotlinx.serialization.Serializable
import org.jetbrains.annotations.ApiStatus
// TODO: should be moved to RPC module!!
@ApiStatus.Internal
@Serializable
data class XFileColorDto(
@@ -6,13 +6,14 @@ import com.intellij.ide.vfs.rpcId
import com.intellij.ide.vfs.virtualFile
import com.intellij.openapi.project.Project
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.platform.xdebugger.impl.shared.XDebuggerUtilImplShared
import com.intellij.pom.Navigatable
import com.intellij.xdebugger.XSourcePosition
import com.intellij.xdebugger.impl.XDebuggerUtilImpl
import kotlinx.serialization.Serializable
import kotlinx.serialization.Transient
import org.jetbrains.annotations.ApiStatus
// TODO: move to RPC module!!
@ApiStatus.Internal
@Serializable
data class XSourcePositionDto(
@@ -52,6 +53,6 @@ private class SerializedXSourcePosition(private val dto: XSourcePositionDto) : X
}
override fun createNavigatable(project: Project): Navigatable {
return XDebuggerUtilImpl.createNavigatable(project, this)
return XDebuggerUtilImplShared.createNavigatable(project, this)
}
}
}
@@ -0,0 +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.rpc
import com.intellij.platform.rpc.Id
import com.intellij.platform.rpc.UID
import kotlinx.serialization.Serializable
import org.jetbrains.annotations.ApiStatus
/**
* @see com.intellij.xdebugger.impl.rpc.models.XStackFrameValueIdType
* @see com.intellij.xdebugger.impl.rpc.models.XStackFrameModel
*/
@ApiStatus.Internal
@Serializable
data class XStackFrameId(override val uid: UID) : Id
@@ -0,0 +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.rpc
import com.intellij.platform.rpc.Id
import kotlinx.serialization.Serializable
import org.jetbrains.annotations.ApiStatus
/**
* @see com.intellij.xdebugger.impl.rpc.models.BackendXValueModel
*/
@ApiStatus.Internal
@Serializable
data class XValueId(override val uid: com.intellij.platform.rpc.UID) : Id
@@ -5,7 +5,7 @@ import kotlinx.serialization.Serializable
import kotlinx.serialization.Transient
import java.awt.Color
// TODO: move to RPC module!!
// TODO[IJPL-160146]: Implement implement Color serialization
@Serializable
data class XValueMarkerDto(val text: String, @Transient val color: Color? = null, val tooltipText: String?)
@@ -0,0 +1,78 @@
// 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.rpc
import com.intellij.ide.ui.icons.IconId
import com.intellij.openapi.editor.colors.TextAttributesKey
import kotlinx.serialization.Serializable
import kotlinx.serialization.Transient
import org.jetbrains.annotations.ApiStatus
@ApiStatus.Internal
@Serializable
sealed interface XValueSerializedPresentation {
@ApiStatus.Internal
@Serializable
data class SimplePresentation(
@JvmField val icon: IconId?,
@JvmField val presentationType: String?,
@JvmField val value: String,
@JvmField val hasChildren: Boolean,
) : XValueSerializedPresentation
@ApiStatus.Internal
@Serializable
data class AdvancedPresentation(
@JvmField val icon: IconId?,
@JvmField val hasChildren: Boolean,
@JvmField val separator: String,
@JvmField val isShownName: Boolean,
@JvmField val presentationType: String?,
@JvmField val isAsync: Boolean,
@JvmField val parts: List<XValueAdvancedPresentationPart>,
) : XValueSerializedPresentation
}
@ApiStatus.Internal
@Serializable
sealed interface XValueAdvancedPresentationPart {
@ApiStatus.Internal
@Serializable
data class Value(@JvmField val value: String) : XValueAdvancedPresentationPart
@ApiStatus.Internal
@Serializable
data class StringValue(@JvmField val value: String) : XValueAdvancedPresentationPart
@ApiStatus.Internal
@Serializable
data class NumericValue(@JvmField val value: String) : XValueAdvancedPresentationPart
@ApiStatus.Internal
@Serializable
data class KeywordValue(@JvmField val value: String) : XValueAdvancedPresentationPart
// TODO[IJPL-160146]: support [TextAttributesKey] serialization
@ApiStatus.Internal
@Serializable
data class ValueWithAttributes(@JvmField val value: String, @Transient @JvmField val key: TextAttributesKey? = null) : XValueAdvancedPresentationPart
@ApiStatus.Internal
@Serializable
data class StringValueWithHighlighting(
@JvmField val value: String,
@JvmField val additionalSpecialCharsToHighlight: String?,
@JvmField val maxLength: Int,
) : XValueAdvancedPresentationPart
@ApiStatus.Internal
@Serializable
data class Comment(@JvmField val comment: String) : XValueAdvancedPresentationPart
@ApiStatus.Internal
@Serializable
data class SpecialSymbol(@JvmField val symbol: String) : XValueAdvancedPresentationPart
@ApiStatus.Internal
@Serializable
data class Error(@JvmField val error: String) : XValueAdvancedPresentationPart
}
@@ -0,0 +1,5 @@
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
@Internal
package com.intellij.xdebugger.impl.rpc;
import org.jetbrains.annotations.ApiStatus.Internal;
@@ -25,7 +25,6 @@ import com.intellij.openapi.actionSystem.AnAction
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.application.EDT
import com.intellij.openapi.application.ReadAction
import com.intellij.openapi.application.readAction
import com.intellij.openapi.diagnostic.Logger
import com.intellij.openapi.editor.markup.GutterIconRenderer
import com.intellij.openapi.project.Project
@@ -26,6 +26,7 @@ import com.intellij.openapi.util.Ref;
import com.intellij.openapi.util.TextRange;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.platform.xdebugger.impl.shared.XDebuggerUtilImplShared;
import com.intellij.pom.Navigatable;
import com.intellij.psi.*;
import com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil;
@@ -959,37 +960,10 @@ public class XDebuggerUtilImpl extends XDebuggerUtil {
}
public static Navigatable createNavigatable(Project project, XSourcePosition position) {
return new XSourcePositionNavigatable(project, position);
}
private static class XSourcePositionNavigatable implements Navigatable {
private final Project myProject;
private final XSourcePosition myPosition;
private XSourcePositionNavigatable(Project project, XSourcePosition position) {
myProject = project;
myPosition = position;
}
@Override
public void navigate(boolean requestFocus) {
createOpenFileDescriptor(myProject, myPosition).navigate(requestFocus);
}
@Override
public boolean canNavigate() {
return myPosition.getFile().isValid();
}
@Override
public boolean canNavigateToSource() {
return canNavigate();
}
return XDebuggerUtilImplShared.createNavigatable(project, position);
}
public static @NotNull OpenFileDescriptor createOpenFileDescriptor(@NotNull Project project, @NotNull XSourcePosition position) {
return position.getOffset() != -1
? new OpenFileDescriptor(project, position.getFile(), position.getOffset())
: new OpenFileDescriptor(project, position.getFile(), position.getLine(), 0);
return XDebuggerUtilImplShared.createOpenFileDescriptor(project, position);
}
}
@@ -5,11 +5,11 @@ import com.intellij.openapi.actionSystem.AnActionEvent
import com.intellij.openapi.actionSystem.PlatformCoreDataKeys
import com.intellij.openapi.application.EDT
import com.intellij.openapi.project.Project
import com.intellij.platform.xdebugger.impl.rpc.XDebuggerValueMarkupApi
import com.intellij.ui.ComponentUtil
import com.intellij.xdebugger.impl.actions.MarkObjectActionHandler
import com.intellij.xdebugger.impl.frame.XDebugSessionProxy
import com.intellij.xdebugger.impl.frame.XValueMarkers
import com.intellij.xdebugger.impl.rpc.XDebuggerValueMarkupApi
import com.intellij.xdebugger.impl.rpc.XValueMarkerDto
import com.intellij.xdebugger.impl.rpc.withId
import com.intellij.xdebugger.impl.ui.DebuggerUIUtil
@@ -6,7 +6,6 @@ import com.intellij.featureStatistics.FeatureUsageTracker;
import com.intellij.icons.AllIcons;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.editor.markup.GutterDraggableObject;
import com.intellij.openapi.editor.markup.GutterIconRenderer;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Comparing;
@@ -17,7 +17,6 @@ import com.intellij.pom.Navigatable;
import com.intellij.ui.*;
import com.intellij.ui.popup.util.DetailView;
import com.intellij.util.concurrency.AppExecutorUtil;
import com.intellij.xdebugger.breakpoints.XBreakpoint;
import com.intellij.xdebugger.impl.breakpoints.ui.BreakpointItem;
import com.intellij.xdebugger.impl.breakpoints.ui.XLightBreakpointPropertiesPanel;
import com.intellij.xdebugger.impl.rpc.XBreakpointId;
@@ -6,7 +6,6 @@ import com.intellij.ide.DataManager;
import com.intellij.ide.util.treeView.TreeState;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.project.DumbAware;
import com.intellij.openapi.project.DumbAwareToggleAction;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.DialogWrapper;
@@ -26,8 +25,6 @@ import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.ui.JBUI;
import com.intellij.util.ui.tree.TreeUtil;
import com.intellij.xdebugger.XDebuggerBundle;
import com.intellij.xdebugger.breakpoints.XBreakpoint;
import com.intellij.xdebugger.breakpoints.XBreakpointType;
import com.intellij.xdebugger.breakpoints.ui.XBreakpointGroupingRule;
import com.intellij.xdebugger.impl.breakpoints.*;
import com.intellij.xdebugger.impl.breakpoints.ui.grouping.XBreakpointCustomGroup;
@@ -10,13 +10,13 @@ import com.intellij.openapi.components.service
import com.intellij.openapi.editor.impl.editorId
import com.intellij.openapi.project.Project
import com.intellij.platform.project.projectId
import com.intellij.platform.xdebugger.impl.rpc.XValueApi
import com.intellij.util.ThreeState
import com.intellij.xdebugger.frame.XInlineDebuggerDataCallback
import com.intellij.xdebugger.frame.XValue
import com.intellij.xdebugger.impl.frame.XDebugManagerProxy
import com.intellij.xdebugger.impl.frame.XDebugSessionProxy
import com.intellij.xdebugger.impl.rpc.XDebuggerManagerApi
import com.intellij.xdebugger.impl.rpc.XValueApi
import com.intellij.xdebugger.impl.rpc.sourcePosition
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
@@ -1,25 +0,0 @@
/*
* Copyright 2000-2009 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.intellij.xdebugger.impl.evaluate.quick.common
import kotlinx.serialization.Serializable
@Serializable
enum class ValueHintType {
MOUSE_OVER_HINT,
MOUSE_ALT_OVER_HINT,
MOUSE_CLICK_HINT
}
@@ -75,10 +75,6 @@ fun XBreakpointTypeSerializableStandardPanels.standardPanel(): XBreakpointType.S
}
}
@ApiStatus.Internal
@Serializable
data class XBreakpointTypeId(val id: String)
@ApiStatus.Internal
@Serializable
sealed interface XToggleLineBreakpointResponse
@@ -9,6 +9,7 @@ import com.intellij.ide.rpc.FrontendDocumentId
import com.intellij.ide.ui.icons.IconId
import com.intellij.ide.vfs.VirtualFileId
import com.intellij.openapi.util.NlsContexts
import kotlinx.serialization.Transient
import com.intellij.openapi.util.NlsSafe
import com.intellij.platform.rpc.Id
import com.intellij.platform.rpc.RemoteApiProviderService
@@ -24,7 +25,6 @@ import fleet.rpc.remoteApiDescriptor
import kotlinx.coroutines.channels.SendChannel
import kotlinx.coroutines.flow.Flow
import kotlinx.serialization.Serializable
import kotlinx.serialization.Transient
import org.jetbrains.annotations.ApiStatus
import org.jetbrains.annotations.Nls
@@ -88,14 +88,6 @@ interface XDebugSessionApi : RemoteApi<Unit> {
}
}
/**
* @see XDebugSessionId.findValue
* @see com.intellij.xdebugger.impl.XDebugSessionImpl.id
*/
@ApiStatus.Internal
@Serializable
data class XDebugSessionId(override val uid: UID) : Id
@ApiStatus.Internal
@Serializable
data class XDebugSessionDto(
@@ -113,6 +105,24 @@ data class XDebugSessionDto(
val activeNonLineBreakpointIdFlow: RpcFlow<XBreakpointId?>,
)
@ApiStatus.Internal
@Serializable
sealed interface XExecutionStacksEvent {
@Serializable
data class NewExecutionStacks(val stacks: List<XExecutionStackDto>, val last: Boolean) : XExecutionStacksEvent
@Serializable
data class ErrorOccurred(val errorMessage: @NlsContexts.DialogMessage String) : XExecutionStacksEvent
}
@ApiStatus.Internal
@Serializable
data class XExecutionStackDto(
val executionStackId: XExecutionStackId,
val displayName: @Nls String,
val icon: IconId?,
)
// TODO: should be moved to platform
@ApiStatus.Internal
@@ -4,6 +4,7 @@ package com.intellij.xdebugger.impl.rpc
import com.intellij.openapi.editor.impl.EditorId
import com.intellij.platform.project.ProjectId
import com.intellij.platform.rpc.RemoteApiProviderService
import com.intellij.platform.xdebugger.impl.rpc.XStackFrameDto
import fleet.rpc.RemoteApi
import fleet.rpc.Rpc
import fleet.rpc.core.DeferredSerializer
@@ -25,7 +25,7 @@ import org.jetbrains.annotations.ApiStatus
/**
* Model which holds reference to the [XValue].
* This model allows sending [XValueId] to a client and afterward retrieving [XValue] by this id.
* This model allows sending [com.intellij.platform.xdebugger.impl.rpc.XValueId] to a client and afterward retrieving [XValue] by this id.
*
* Since [XValue] implementation is provided by plugins we cannot easily extend this API to support
* [XFullValueEvaluator], [ValueMarkup] etc. which are needed for the RPC backend implementation.
@@ -33,7 +33,7 @@ import org.jetbrains.annotations.ApiStatus
*
* [BackendXValueModel] can be created by [BackendXValueModelsManager.createXValueModel] function.
*
* @see [XValueId]
* @see [com.intellij.platform.xdebugger.impl.rpc.XValueId]
*/
@ApiStatus.Internal
class BackendXValueModel internal constructor(
@@ -5,9 +5,9 @@ import com.intellij.openapi.actionSystem.ActionUpdateThread
import com.intellij.openapi.actionSystem.AnActionEvent
import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification
import com.intellij.openapi.project.Project
import com.intellij.platform.xdebugger.impl.rpc.XDebuggerNavigationApi
import com.intellij.xdebugger.frame.XValue
import com.intellij.xdebugger.impl.frame.XDebugSessionProxy
import com.intellij.xdebugger.impl.rpc.XDebuggerNavigationApi
import com.intellij.xdebugger.impl.rpc.withId
import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeImpl
@@ -5,9 +5,9 @@ import com.intellij.openapi.actionSystem.ActionUpdateThread
import com.intellij.openapi.actionSystem.AnActionEvent
import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification
import com.intellij.openapi.project.Project
import com.intellij.platform.xdebugger.impl.rpc.XDebuggerNavigationApi
import com.intellij.xdebugger.frame.XValue
import com.intellij.xdebugger.impl.frame.XDebugSessionProxy
import com.intellij.xdebugger.impl.rpc.XDebuggerNavigationApi
import com.intellij.xdebugger.impl.rpc.withId
import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeImpl