Debugger, minor: Fix line breakpoint popup (add containing declaration name)

This commit is contained in:
Yan Zhulanow
2019-07-22 18:44:56 +09:00
parent 1f13c4b87b
commit 9096d211d3
@@ -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<KtElement>()
if (element is KtElement) {
element.containingNonLocalDeclaration()?.name?.let { return it }
}
return super.getMethodName()
}
}