diff --git a/idea/src/org/jetbrains/jet/plugin/debugger/evaluate/KotlinCodeFragmentFactory.kt b/idea/src/org/jetbrains/jet/plugin/debugger/evaluate/KotlinCodeFragmentFactory.kt index 904fd0125a0..850b9375f44 100644 --- a/idea/src/org/jetbrains/jet/plugin/debugger/evaluate/KotlinCodeFragmentFactory.kt +++ b/idea/src/org/jetbrains/jet/plugin/debugger/evaluate/KotlinCodeFragmentFactory.kt @@ -50,7 +50,7 @@ class KotlinCodeFragmentFactory: CodeFragmentFactory() { override fun isContextAccepted(contextElement: PsiElement?): Boolean { if (contextElement is PsiCodeBlock) { - return contextElement.getContext()?.getContext()?.getLanguage() == JetFileType.INSTANCE.getLanguage() + return isContextAccepted(contextElement.getContext()) } return contextElement?.getLanguage() == JetFileType.INSTANCE.getLanguage() } @@ -63,6 +63,10 @@ class KotlinCodeFragmentFactory: CodeFragmentFactory() { fun getContextElement(elementAt: PsiElement?): PsiElement? { if (elementAt == null) return null + if (elementAt is PsiCodeBlock) { + return getContextElement(elementAt.getContext()) + } + val expressionAtOffset = PsiTreeUtil.findElementOfClassAtOffset(elementAt.getContainingFile()!!, elementAt.getTextOffset(), javaClass(), false) if (expressionAtOffset != null) { return expressionAtOffset