From ce4698299191206c58699320677ecdc116614d96 Mon Sep 17 00:00:00 2001 From: Natalia Ukhorskaya Date: Tue, 21 Jul 2015 12:52:57 +0300 Subject: [PATCH] Debugger: do not try to computeSourcePosition for not kotlin variables --- .../kotlin/idea/debugger/KotlinSourcePositionProvider.kt | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/debugger/KotlinSourcePositionProvider.kt b/idea/src/org/jetbrains/kotlin/idea/debugger/KotlinSourcePositionProvider.kt index 50274a38518..cc9b93cd059 100644 --- a/idea/src/org/jetbrains/kotlin/idea/debugger/KotlinSourcePositionProvider.kt +++ b/idea/src/org/jetbrains/kotlin/idea/debugger/KotlinSourcePositionProvider.kt @@ -35,10 +35,7 @@ import com.sun.jdi.ReferenceType import org.jetbrains.kotlin.codegen.AsmUtil import org.jetbrains.kotlin.idea.caches.resolve.analyze import org.jetbrains.kotlin.idea.debugger.evaluate.KotlinCodeFragmentFactory -import org.jetbrains.kotlin.psi.JetClassOrObject -import org.jetbrains.kotlin.psi.JetElement -import org.jetbrains.kotlin.psi.JetPsiFactory -import org.jetbrains.kotlin.psi.JetSimpleNameExpression +import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType import org.jetbrains.kotlin.resolve.BindingContextUtils import org.jetbrains.kotlin.resolve.jvm.JvmClassName @@ -63,6 +60,8 @@ public class KotlinSourcePositionProvider: SourcePositionProvider() { private fun computeSourcePosition(descriptor: LocalVariableDescriptor, project: Project, context: DebuggerContextImpl, nearest: Boolean): SourcePosition? { val place = PositionUtil.getContextElement(context) ?: return null + if (place.getContainingFile() !is JetFile) return null + val contextElement = KotlinCodeFragmentFactory.getContextElement(place) ?: return null val codeFragment = JetPsiFactory(project).createExpressionCodeFragment(descriptor.getName(), contextElement)