From d0f34624bd5b660b7738ff7e43cacc3ce3992a33 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Fri, 1 May 2020 22:33:40 +0900 Subject: [PATCH] Debugger: Replace unsafe location() calls with safeLocation() --- .../src/org/jetbrains/kotlin/idea/KotlinExtraSteppingFilter.kt | 2 +- .../idea/debugger/stepping/RequestHintWithMethodFilter.kt | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/KotlinExtraSteppingFilter.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/KotlinExtraSteppingFilter.kt index d4ddead1c24..8c0c52a8636 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/KotlinExtraSteppingFilter.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/KotlinExtraSteppingFilter.kt @@ -22,7 +22,7 @@ class KotlinExtraSteppingFilter : ExtraSteppingFilter { val debugProcess = context.debugProcess ?: return false val positionManager = KotlinPositionManager(debugProcess) - val location = context.frameProxy?.location() ?: return false + val location = context.frameProxy?.safeLocation() ?: return false return runReadAction { shouldFilter(positionManager, location) } diff --git a/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/stepping/RequestHintWithMethodFilter.kt b/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/stepping/RequestHintWithMethodFilter.kt index 95267db88ed..eb55dc85416 100644 --- a/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/stepping/RequestHintWithMethodFilter.kt +++ b/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/stepping/RequestHintWithMethodFilter.kt @@ -26,6 +26,7 @@ import com.intellij.openapi.diagnostic.Logger import com.sun.jdi.VMDisconnectedException import com.sun.jdi.request.StepRequest import org.intellij.lang.annotations.MagicConstant +import org.jetbrains.kotlin.idea.debugger.safeLocation import java.lang.reflect.Field internal class RequestHintWithMethodFilter( @@ -63,7 +64,7 @@ internal class RequestHintWithMethodFilter( if (filter != null && frameProxy != null && filter !is BreakpointStepMethodFilter) { /*NODE: Debugger API. Base implementation works only for smart step into, and calls filter only if !isTheSameFrame(context). */ - if (filter.locationMatches(context.debugProcess, frameProxy.location())) { + if (filter.locationMatches(context.debugProcess, frameProxy.safeLocation())) { targetMethodMatched = true return filter.onReached(context, this) }