From ffeef6c18d9d55b85d0e94845330d2fff13d86e8 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Fri, 15 Nov 2019 01:13:54 +0900 Subject: [PATCH] EA-210460: Use 'safeAllLineLocations()' instead of throwing 'allLineLocations()' --- .../jetbrains/kotlin/idea/debugger/DebuggerClassNameProvider.kt | 2 +- .../kotlin/idea/debugger/KotlinSourcePositionProvider.kt | 2 +- .../debugger/filter/KotlinSyntheticTypeComponentProviderBase.kt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/DebuggerClassNameProvider.kt b/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/DebuggerClassNameProvider.kt index 8cd61f6e20c..af52af15fcf 100644 --- a/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/DebuggerClassNameProvider.kt +++ b/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/DebuggerClassNameProvider.kt @@ -306,7 +306,7 @@ private fun DebugProcess.findTargetClasses(outerClass: ReferenceType, lineAt: In val targetClasses = ArrayList(1) try { - for (location in outerClass.allLineLocations()) { + for (location in outerClass.safeAllLineLocations()) { val locationLine = location.lineNumber() - 1 if (locationLine < 0) { // such locations are not correspond to real lines in code diff --git a/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/KotlinSourcePositionProvider.kt b/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/KotlinSourcePositionProvider.kt index 2711ea63bb0..33f59042c1a 100644 --- a/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/KotlinSourcePositionProvider.kt +++ b/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/KotlinSourcePositionProvider.kt @@ -127,7 +127,7 @@ class KotlinSourcePositionProvider : SourcePositionProvider() { val debugProcess = context.debugProcess if (debugProcess != null) { try { - val locations = type.allLineLocations() + val locations = type.safeAllLineLocations() if (!locations.isEmpty()) { val lastLocation = locations.get(locations.size - 1) return debugProcess.positionManager.getSourcePosition(lastLocation) diff --git a/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/filter/KotlinSyntheticTypeComponentProviderBase.kt b/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/filter/KotlinSyntheticTypeComponentProviderBase.kt index 8093a083701..de16a6f7969 100644 --- a/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/filter/KotlinSyntheticTypeComponentProviderBase.kt +++ b/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/filter/KotlinSyntheticTypeComponentProviderBase.kt @@ -47,7 +47,7 @@ abstract class KotlinSyntheticTypeComponentProviderBase: SyntheticTypeComponentP return false } - return !typeComponent.declaringType().allLineLocations().any { it.lineNumber() != 1 } + return !typeComponent.declaringType().safeAllLineLocations().any { it.lineNumber() != 1 } } catch(e: AbsentInformationException) { return false