diff --git a/idea/src/org/jetbrains/kotlin/idea/debugger/stepping/KotlinSmartStepIntoHandler.kt b/idea/src/org/jetbrains/kotlin/idea/debugger/stepping/KotlinSmartStepIntoHandler.kt index 900f8fdf381..c332efbdabd 100644 --- a/idea/src/org/jetbrains/kotlin/idea/debugger/stepping/KotlinSmartStepIntoHandler.kt +++ b/idea/src/org/jetbrains/kotlin/idea/debugger/stepping/KotlinSmartStepIntoHandler.kt @@ -25,6 +25,7 @@ import com.intellij.psi.PsiDocumentManager import com.intellij.psi.PsiMethod import com.intellij.util.Range import com.intellij.util.containers.OrderedSet +import org.jetbrains.kotlin.builtins.functions.FunctionInvokeDescriptor import org.jetbrains.kotlin.builtins.isSuspendFunctionType import org.jetbrains.kotlin.codegen.intrinsics.IntrinsicMethods import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor @@ -35,6 +36,7 @@ import org.jetbrains.kotlin.idea.caches.resolve.analyze import org.jetbrains.kotlin.idea.caches.resolve.analyzeFully import org.jetbrains.kotlin.idea.codeInsight.CodeInsightUtils import org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde +import org.jetbrains.kotlin.idea.util.application.runReadAction import org.jetbrains.kotlin.load.java.isFromJava import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.resolve.BindingContext @@ -186,7 +188,17 @@ class KotlinSmartStepIntoHandler : JvmSmartStepIntoHandler() { } } - val label = KotlinMethodSmartStepTarget.calcLabel(descriptor) + val callLabel = KotlinMethodSmartStepTarget.calcLabel(descriptor) + val label = when (descriptor) { + is FunctionInvokeDescriptor -> { + when (expression) { + is KtSimpleNameExpression -> "${runReadAction { expression.text }}.$callLabel" + else -> callLabel + } + } + else -> callLabel + } + result.add(KotlinMethodSmartStepTarget(descriptor, label, expression, lines)) } }