From 29149add09e5bda6105f2289fef222e1f77139e4 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Fri, 3 Apr 2015 11:18:00 +0300 Subject: [PATCH] KT-7247 PsiErrorElementImpl cannot be cast to org.jetbrains.kotlin.psi.JetElement #KT-7247 Fixed --- .../org/jetbrains/kotlin/idea/completion/CompletionSession.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/completion/CompletionSession.kt b/idea/src/org/jetbrains/kotlin/idea/completion/CompletionSession.kt index 8513752952a..88607fbaeed 100644 --- a/idea/src/org/jetbrains/kotlin/idea/completion/CompletionSession.kt +++ b/idea/src/org/jetbrains/kotlin/idea/completion/CompletionSession.kt @@ -45,6 +45,7 @@ import org.jetbrains.kotlin.load.java.descriptors.SamConstructorDescriptorKindEx import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType import org.jetbrains.kotlin.psi.psiUtil.isAncestor +import org.jetbrains.kotlin.psi.psiUtil.parents import org.jetbrains.kotlin.psi.psiUtil.prevLeaf import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.bindingContextUtil.getDataFlowInfo @@ -52,6 +53,7 @@ import org.jetbrains.kotlin.resolve.calls.smartcasts.SmartCastUtils import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode import org.jetbrains.kotlin.resolve.scopes.DescriptorKindExclude import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter +import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstance import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull import kotlin.properties.Delegates @@ -92,7 +94,7 @@ abstract class CompletionSessionBase(protected val configuration: CompletionSess } } - protected val bindingContext: BindingContext = resolutionFacade.analyze(position.getParent() as JetElement, BodyResolveMode.PARTIAL_FOR_COMPLETION) + protected val bindingContext: BindingContext = resolutionFacade.analyze(position.parents().firstIsInstance(), BodyResolveMode.PARTIAL_FOR_COMPLETION) protected val inDescriptor: DeclarationDescriptor? = expression?.let { bindingContext.get(BindingContext.RESOLUTION_SCOPE, it)?.getContainingDeclaration() } private fun singleCharPattern(char: Char): CharPattern {