diff --git a/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/debuggerUtil.kt b/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/debuggerUtil.kt index ba5f23e8f38..3cd269ead04 100644 --- a/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/debuggerUtil.kt +++ b/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/debuggerUtil.kt @@ -32,9 +32,12 @@ import org.jetbrains.kotlin.resolve.inline.InlineUtil import java.util.* fun Location.isInKotlinSources(): Boolean { - val declaringType = declaringType() - val fileExtension = declaringType.safeSourceName()?.substringAfterLast('.')?.toLowerCase() ?: "" - return fileExtension in KotlinFileTypeFactory.KOTLIN_EXTENSIONS || declaringType.containsKotlinStrata() + return declaringType().isInKotlinSources() +} + +fun ReferenceType.isInKotlinSources(): Boolean { + val fileExtension = safeSourceName()?.substringAfterLast('.')?.toLowerCase() ?: "" + return fileExtension in KotlinFileTypeFactory.KOTLIN_EXTENSIONS || containsKotlinStrata() } fun ReferenceType.containsKotlinStrata() = availableStrata().contains(KOTLIN_STRATA_NAME) diff --git a/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/render/KotlinClassWithDelegatedPropertyRenderer.kt b/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/render/KotlinClassWithDelegatedPropertyRenderer.kt index 77bcb035541..f2dc862dbb9 100644 --- a/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/render/KotlinClassWithDelegatedPropertyRenderer.kt +++ b/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/render/KotlinClassWithDelegatedPropertyRenderer.kt @@ -19,9 +19,7 @@ import com.intellij.debugger.ui.tree.render.DescriptorLabelListener import com.intellij.openapi.diagnostic.Logger import com.intellij.xdebugger.settings.XDebuggerSettingsManager import com.sun.jdi.* -import org.jetbrains.kotlin.idea.debugger.KotlinDebuggerSettings -import org.jetbrains.kotlin.idea.debugger.ToggleKotlinVariablesState -import org.jetbrains.kotlin.idea.debugger.canRunEvaluation +import org.jetbrains.kotlin.idea.debugger.* import org.jetbrains.kotlin.load.java.JvmAbi import java.util.* @@ -33,12 +31,7 @@ class KotlinClassWithDelegatedPropertyRenderer : ClassRenderer() { private val rendererSettings = NodeRendererSettings.getInstance() override fun isApplicable(jdiType: Type?): Boolean { - if (!super.isApplicable(jdiType)) return false - - if (jdiType !is ReferenceType) return false - - if (!jdiType.isPrepared) { - LOG.info(notPreparedClassMessage(jdiType)) + if (!super.isApplicable(jdiType) || jdiType !is ReferenceType || !jdiType.isPrepared || !jdiType.isInKotlinSources()) { return false }