From a8efb349ed981731ab30d03f759cd2b5d2ea2eb2 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Fri, 28 Jun 2019 16:10:54 +0900 Subject: [PATCH] Debugger, minor: Remove debugger labels in dispatch receivers In anonymous classes/lambdas the debug name becomes something like 'this@' that doesn't make much sense to the user. It's more correct to show just 'this'. --- .../evaluate/compilation/CodeFragmentParameterAnalyzer.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/idea/jvm-debugger/jvm-debugger-evaluation/src/org/jetbrains/kotlin/idea/debugger/evaluate/compilation/CodeFragmentParameterAnalyzer.kt b/idea/jvm-debugger/jvm-debugger-evaluation/src/org/jetbrains/kotlin/idea/debugger/evaluate/compilation/CodeFragmentParameterAnalyzer.kt index 5c23e7e9584..befe25c2dbd 100644 --- a/idea/jvm-debugger/jvm-debugger-evaluation/src/org/jetbrains/kotlin/idea/debugger/evaluate/compilation/CodeFragmentParameterAnalyzer.kt +++ b/idea/jvm-debugger/jvm-debugger-evaluation/src/org/jetbrains/kotlin/idea/debugger/evaluate/compilation/CodeFragmentParameterAnalyzer.kt @@ -9,7 +9,6 @@ import com.intellij.debugger.engine.evaluation.EvaluateExceptionUtil import com.intellij.psi.PsiElement import com.intellij.psi.util.PsiTreeUtil import org.jetbrains.kotlin.codegen.AsmUtil -import org.jetbrains.kotlin.codegen.CodeFragmentCodegenInfo import org.jetbrains.kotlin.codegen.getCallLabelForLambdaArgument import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.descriptors.impl.LocalVariableDescriptor @@ -205,7 +204,9 @@ class CodeFragmentParameterAnalyzer( val type = descriptor.defaultType return parameters.getOrPut(descriptor) { - Smart(Dumb(Kind.DISPATCH_RECEIVER, "", AsmUtil.THIS + "@" + descriptor.name.asString()), type, descriptor) + val name = descriptor.name + val debugLabel = if (name.isSpecial) "" else "@" + name.asString() + Smart(Dumb(Kind.DISPATCH_RECEIVER, "", AsmUtil.THIS + debugLabel), type, descriptor) } }