From 6e638bd30a6fc8de647f4e67932a66989a91194e Mon Sep 17 00:00:00 2001 From: Natalia Ukhorskaya Date: Wed, 11 Nov 2015 11:05:41 +0300 Subject: [PATCH] Debugger: show line content instead of method content for breakpoint at line in drop-donw list --- .../breakpoints/KotlinLineBreakpointType.java | 11 +++++++++++ .../idea/debugger/breakpoints/breakpointTypeUtils.kt | 4 ++-- 2 files changed, 13 insertions(+), 2 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 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 ->