override fun getSuggestion()

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
    }