in src/main/kotlin/org/jetbrains/plugins/feature/suggester/suggesters/RunToCursorSuggester.kt [46:79]
override fun getSuggestion(action: Action): Suggestion {
when (action) {
is DebugSessionPausedAction -> {
if (State.debugSessionPaused && isOnTheSameLine(action.position, State.addedBreakpointPosition)) {
State.isPausedOnBreakpoint = true
} else {
State.reset()
State.debugSessionPaused = true
}
}
is BreakpointAddedAction -> {
if (!State.isBreakpointAdded) {
State.apply {
addedBreakpointPosition = action.position
breakpointAddedTimeMillis = action.timeMillis
}
} else {
State.reset()
}
}
is BreakpointRemovedAction -> {
if (State.isPausedOnBreakpoint &&
isOnTheSameLine(action.position, State.addedBreakpointPosition) &&
!State.isOutOfDate(action.timeMillis)
) {
State.reset()
return createSuggestion()
}
State.reset()
}
}
return NoSuggestion
}