From 98c50d3bfb7cc4db3b55e46a6604950e404d169b Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Mon, 25 Sep 2017 15:53:47 +0300 Subject: [PATCH] Do not try to create ExactJavaBreakpointVariant with null position (EA-107577) --- .../debugger/breakpoints/KotlinLineBreakpointType.java | 2 +- .../idea/debugger/breakpoints/breakpointTypeUtils.kt | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/debugger/breakpoints/KotlinLineBreakpointType.java b/idea/src/org/jetbrains/kotlin/idea/debugger/breakpoints/KotlinLineBreakpointType.java index 5d47ec5788b..15ef3ca559a 100644 --- a/idea/src/org/jetbrains/kotlin/idea/debugger/breakpoints/KotlinLineBreakpointType.java +++ b/idea/src/org/jetbrains/kotlin/idea/debugger/breakpoints/KotlinLineBreakpointType.java @@ -141,7 +141,7 @@ public class KotlinLineBreakpointType extends JavaLineBreakpointType { } public class KotlinLambdaBreakpointVariant extends ExactJavaBreakpointVariant { - public KotlinLambdaBreakpointVariant(XSourcePosition position, KtFunction function, Integer lambdaOrdinal) { + public KotlinLambdaBreakpointVariant(@NotNull XSourcePosition position, @Nullable KtFunction function, Integer lambdaOrdinal) { super(position, function, lambdaOrdinal); } diff --git a/idea/src/org/jetbrains/kotlin/idea/debugger/breakpoints/breakpointTypeUtils.kt b/idea/src/org/jetbrains/kotlin/idea/debugger/breakpoints/breakpointTypeUtils.kt index a8f9db23f6a..f122d177079 100644 --- a/idea/src/org/jetbrains/kotlin/idea/debugger/breakpoints/breakpointTypeUtils.kt +++ b/idea/src/org/jetbrains/kotlin/idea/debugger/breakpoints/breakpointTypeUtils.kt @@ -106,8 +106,11 @@ fun computeVariants( } lambdas.forEachIndexed { ordinal, lambda -> - result.add(kotlinBreakpointType.KotlinLambdaBreakpointVariant( - XSourcePositionImpl.createByElement(lambda.bodyExpression), lambda, ordinal)) + val positionImpl = XSourcePositionImpl.createByElement(lambda.bodyExpression) + + if (positionImpl != null) { + result.add(kotlinBreakpointType.KotlinLambdaBreakpointVariant(positionImpl, lambda, ordinal)) + } } val allBreakpoint = (kotlinBreakpointType as JavaLineBreakpointType).JavaBreakpointVariant(position)