Don't file an exception if we failed to calculate the anonymous class name
This commit is contained in:
@@ -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.Cached
|
||||||
import org.jetbrains.kotlin.idea.debugger.evaluate.KotlinDebuggerCaches.ComputedClassNames.Companion.EMPTY
|
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.KotlinDebuggerCaches.ComputedClassNames.Companion.NonCached
|
||||||
import org.jetbrains.kotlin.idea.debugger.evaluate.LOG
|
|
||||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
import org.jetbrains.kotlin.load.java.JvmAbi
|
import org.jetbrains.kotlin.load.java.JvmAbi
|
||||||
@@ -192,20 +191,14 @@ class DebuggerClassNameProvider(
|
|||||||
is KtNamedFunction -> {
|
is KtNamedFunction -> {
|
||||||
val classNamesOfContainingDeclaration = getOuterClassNamesForElement(element.relevantParentInReadAction)
|
val classNamesOfContainingDeclaration = getOuterClassNamesForElement(element.relevantParentInReadAction)
|
||||||
|
|
||||||
val nonInlineClasses: ComputedClassNames =
|
var nonInlineClasses: ComputedClassNames = classNamesOfContainingDeclaration
|
||||||
if (runReadAction { element.name == null || element.isLocal }) {
|
|
||||||
val nameOfAnonymousClass = runReadAction { getClassType(element) }
|
|
||||||
|
|
||||||
if (nameOfAnonymousClass == null) {
|
if (runReadAction { element.name == null || element.isLocal }) {
|
||||||
val parentText = runReadAction { getRelevantElement(element.parent)?.text } ?: "<parent was null>"
|
val nameOfAnonymousClass = runReadAction { getClassType(element) }
|
||||||
LOG.error("Can not get type for ${runReadAction { element.text }}, parent: $parentText")
|
if (nameOfAnonymousClass != null) {
|
||||||
classNamesOfContainingDeclaration
|
nonInlineClasses += Cached(nameOfAnonymousClass)
|
||||||
} else {
|
|
||||||
classNamesOfContainingDeclaration + Cached(nameOfAnonymousClass)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
classNamesOfContainingDeclaration
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!findInlineUseSites || !element.isInlineInReadAction) {
|
if (!findInlineUseSites || !element.isInlineInReadAction) {
|
||||||
return NonCached(nonInlineClasses.classNames)
|
return NonCached(nonInlineClasses.classNames)
|
||||||
|
|||||||
Reference in New Issue
Block a user