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)