From 8a22e1ed7c0a52a43b0f0ccb26e1312e1b3dffef Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Wed, 17 Aug 2016 15:27:54 +0200 Subject: [PATCH] don't try to walk over the siblings of PsiFile to check if "introduce variable" is enabled (EA-86136 - assert: SharedPsiElementImplUtil.getChildIndex) --- .../kotlin/idea/intentions/IntroduceVariableIntention.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/IntroduceVariableIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/IntroduceVariableIntention.kt index cd790869f82..85fdab6c976 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/IntroduceVariableIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/IntroduceVariableIntention.kt @@ -20,6 +20,7 @@ import com.intellij.codeInsight.CodeInsightBundle import com.intellij.openapi.editor.Editor import com.intellij.openapi.util.TextRange import com.intellij.psi.PsiElement +import com.intellij.psi.PsiFile import com.intellij.psi.PsiWhiteSpace import com.intellij.psi.util.PsiTreeUtil import org.jetbrains.kotlin.idea.caches.resolve.analyze @@ -35,6 +36,7 @@ class IntroduceVariableIntention : SelfTargetingRangeIntention( PsiElement::class.java, CodeInsightBundle.message("intention.introduce.variable.text") ) { private fun getExpressionToProcess(element: PsiElement): KtExpression? { + if (element is PsiFile) return null val startElement = PsiTreeUtil.skipSiblingsBackward(element, PsiWhiteSpace::class.java) ?: element return startElement.parentsWithSelf .filterIsInstance()