From 97f94700b92d252ca7986c429e446cedb51478cf Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Tue, 5 Mar 2019 21:36:07 +0300 Subject: [PATCH] Don't file an exception if we failed to calculate the anonymous class name --- .../debugger/DebuggerClassNameProvider.kt | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/DebuggerClassNameProvider.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/DebuggerClassNameProvider.kt index c61863be498..3220dfeb170 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/DebuggerClassNameProvider.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/DebuggerClassNameProvider.kt @@ -35,7 +35,6 @@ import org.jetbrains.kotlin.idea.debugger.evaluate.KotlinDebuggerCaches.Computed import org.jetbrains.kotlin.idea.debugger.evaluate.KotlinDebuggerCaches.ComputedClassNames.Companion.Cached import org.jetbrains.kotlin.idea.debugger.evaluate.KotlinDebuggerCaches.ComputedClassNames.Companion.EMPTY import org.jetbrains.kotlin.idea.debugger.evaluate.KotlinDebuggerCaches.ComputedClassNames.Companion.NonCached -import org.jetbrains.kotlin.idea.debugger.evaluate.LOG import org.jetbrains.kotlin.idea.util.application.runReadAction import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.load.java.JvmAbi @@ -192,20 +191,14 @@ class DebuggerClassNameProvider( is KtNamedFunction -> { val classNamesOfContainingDeclaration = getOuterClassNamesForElement(element.relevantParentInReadAction) - val nonInlineClasses: ComputedClassNames = - if (runReadAction { element.name == null || element.isLocal }) { - val nameOfAnonymousClass = runReadAction { getClassType(element) } + var nonInlineClasses: ComputedClassNames = classNamesOfContainingDeclaration - if (nameOfAnonymousClass == null) { - val parentText = runReadAction { getRelevantElement(element.parent)?.text } ?: "" - LOG.error("Can not get type for ${runReadAction { element.text }}, parent: $parentText") - classNamesOfContainingDeclaration - } else { - classNamesOfContainingDeclaration + Cached(nameOfAnonymousClass) - } - } else { - classNamesOfContainingDeclaration + if (runReadAction { element.name == null || element.isLocal }) { + val nameOfAnonymousClass = runReadAction { getClassType(element) } + if (nameOfAnonymousClass != null) { + nonInlineClasses += Cached(nameOfAnonymousClass) } + } if (!findInlineUseSites || !element.isInlineInReadAction) { return NonCached(nonInlineClasses.classNames)