mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[debugger] IDEA-390563 Cleanup: deduplicate code
IJ-CR-208950 (cherry picked from commit 806ed0ca279cbecb47182308e64916e4c1a68487) IJ-CR-208950 GitOrigin-RevId: 169d394c66ca8bfe405c474836691d6f28d75a2c
This commit is contained in:
committed by
intellij-monorepo-bot
parent
974e900c47
commit
f0d14cef90
+24
-24
@@ -171,38 +171,18 @@ internal class BackendXBreakpointTypeApi : XBreakpointTypeApi {
|
||||
}
|
||||
|
||||
if (request.placement == XLineBreakpointVerticalPlacement.INTER_LINE) {
|
||||
val lineVariant = readAction { variants.firstOrNull { !it.isMultiVariant && it.highlightRange == null } }
|
||||
if (lineVariant == null) {
|
||||
val fullLineVariant = readAction { variants.firstOrNull { !it.isMultiVariant && it.highlightRange == null } }
|
||||
if (fullLineVariant == null) {
|
||||
LOG.debug { "[$requestId] No full-line variant found for inter-line breakpoint, returning XNoBreakpointPossibleResponse" }
|
||||
return XNoBreakpointPossibleResponse
|
||||
}
|
||||
|
||||
val variantText = readAction { lineVariant.text }
|
||||
LOG.debug { "[$requestId] Using full-line variant for inter-line breakpoint: $variantText" }
|
||||
|
||||
if (request.hasBreakpoints) {
|
||||
LOG.debug { "[$requestId] Breakpoint exists, returning XRemoveBreakpointResponse" }
|
||||
return XRemoveBreakpointResponse
|
||||
}
|
||||
|
||||
val breakpoint = createBreakpointByVariant(project, lineVariant, position, request)
|
||||
LOG.debug { "[$requestId] Created inter-line breakpoint: $breakpoint, returning XLineBreakpointInstalledResponse" }
|
||||
return XLineBreakpointInstalledResponse(breakpoint.breakpointId)
|
||||
return toggleSingleVariantBreakpoint(fullLineVariant, requestId, request, project, position)
|
||||
}
|
||||
|
||||
val singleVariant = variants.singleOrNull()
|
||||
if (singleVariant != null) {
|
||||
val variantText = readAction { singleVariant.text }
|
||||
LOG.debug { "[$requestId] Single variant found: $variantText" }
|
||||
|
||||
if (request.hasBreakpoints) {
|
||||
LOG.debug { "[$requestId] Breakpoint exists, returning XRemoveBreakpointResponse" }
|
||||
return XRemoveBreakpointResponse
|
||||
}
|
||||
|
||||
val breakpoint = createBreakpointByVariant(project, singleVariant, position, request)
|
||||
LOG.debug { "[$requestId] Created breakpoint: $breakpoint, returning XLineBreakpointInstalledResponse" }
|
||||
return XLineBreakpointInstalledResponse(breakpoint.breakpointId)
|
||||
return toggleSingleVariantBreakpoint(singleVariant, requestId, request, project, position)
|
||||
}
|
||||
|
||||
LOG.debug { "[$requestId] Multiple variants found (${variants.size}), creating selection dialog" }
|
||||
@@ -238,6 +218,26 @@ internal class BackendXBreakpointTypeApi : XBreakpointTypeApi {
|
||||
return XLineBreakpointMultipleVariantResponse(variantDtos, selectionCallback)
|
||||
}
|
||||
|
||||
private suspend fun toggleSingleVariantBreakpoint(
|
||||
singleVariant: XLineBreakpointType<XBreakpointProperties<*>>.XLineBreakpointVariant,
|
||||
requestId: Int,
|
||||
request: XLineBreakpointInstallationRequest,
|
||||
project: Project,
|
||||
position: XSourcePosition,
|
||||
): XToggleLineBreakpointResponse {
|
||||
val variantText = readAction { singleVariant.text }
|
||||
LOG.debug { "[$requestId] Single variant found: $variantText" }
|
||||
|
||||
if (request.hasBreakpoints) {
|
||||
LOG.debug { "[$requestId] Breakpoint exists, returning XRemoveBreakpointResponse" }
|
||||
return XRemoveBreakpointResponse
|
||||
}
|
||||
|
||||
val breakpoint = createBreakpointByVariant(project, singleVariant, position, request)
|
||||
LOG.debug { "[$requestId] Created breakpoint: $breakpoint, returning XLineBreakpointInstalledResponse" }
|
||||
return XLineBreakpointInstalledResponse(breakpoint.breakpointId)
|
||||
}
|
||||
|
||||
private suspend fun createBreakpointByVariant(
|
||||
project: Project,
|
||||
variant: XLineBreakpointType<XBreakpointProperties<*>>.XLineBreakpointVariant,
|
||||
|
||||
Reference in New Issue
Block a user