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 5bb9f72dc94..53b26edf56e 100644 --- a/idea/src/org/jetbrains/kotlin/idea/debugger/breakpoints/KotlinLineBreakpointType.java +++ b/idea/src/org/jetbrains/kotlin/idea/debugger/breakpoints/KotlinLineBreakpointType.java @@ -148,4 +148,15 @@ public class KotlinLineBreakpointType extends JavaLineBreakpointType { return KotlinIcons.LAMBDA; } } + + public class KotlinLineBreakpointVariant extends ExactJavaBreakpointVariant { + public KotlinLineBreakpointVariant(XSourcePosition position, PsiElement element) { + super(position, element, -1); + } + + @Override + public Icon getIcon() { + return KotlinIcons.FUNCTION; + } + } } 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 970448d9f83..713fe706734 100644 --- a/idea/src/org/jetbrains/kotlin/idea/debugger/breakpoints/breakpointTypeUtils.kt +++ b/idea/src/org/jetbrains/kotlin/idea/debugger/breakpoints/breakpointTypeUtils.kt @@ -98,9 +98,9 @@ fun computeVariants( val mainMethod = KotlinLineBreakpointType.getContainingMethod(pos.elementAt) if (mainMethod != null) { - result.add((kotlinBreakpointType as JavaLineBreakpointType).ExactJavaBreakpointVariant( + result.add(kotlinBreakpointType.KotlinLineBreakpointVariant( XSourcePositionImpl.createByElement(mainMethod), - mainMethod, -1)) + CodeInsightUtils.getTopmostElementAtOffset(pos.elementAt, pos.offset) ?: mainMethod)) } lambdas.forEachIndexed { ordinal, lambda ->