diff --git a/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/breakpoints/KotlinLineBreakpoint.kt b/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/breakpoints/KotlinLineBreakpoint.kt index d59d9c0f3f4..30b17683ebf 100644 --- a/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/breakpoints/KotlinLineBreakpoint.kt +++ b/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/breakpoints/KotlinLineBreakpoint.kt @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.idea.debugger.breakpoints import com.intellij.debugger.engine.DebugProcess import com.intellij.debugger.impl.DebuggerUtilsEx import com.intellij.openapi.project.Project +import com.intellij.psi.util.PsiTreeUtil import com.intellij.xdebugger.XSourcePosition import com.intellij.xdebugger.breakpoints.XBreakpoint import com.intellij.xdebugger.breakpoints.XBreakpointProperties @@ -15,6 +16,9 @@ import com.sun.jdi.AbsentInformationException import com.sun.jdi.ReferenceType import org.jetbrains.kotlin.codegen.inline.KOTLIN_STRATA_NAME import org.jetbrains.kotlin.idea.debugger.isDexDebug +import org.jetbrains.kotlin.psi.KtElement +import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType +import org.jetbrains.kotlin.util.containingNonLocalDeclaration class KotlinLineBreakpoint( project: Project?, @@ -61,4 +65,13 @@ class KotlinLineBreakpoint( return false } + + override fun getMethodName(): String? { + val element = sourcePosition?.elementAt?.getNonStrictParentOfType() + if (element is KtElement) { + element.containingNonLocalDeclaration()?.name?.let { return it } + } + + return super.getMethodName() + } } \ No newline at end of file