From a4aa3cdf5709070ddc5912ddebcac826013d6bfd Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 9 Aug 2016 20:20:39 +0200 Subject: [PATCH] don't crash if we don't have a descriptor for the declaration under caret (EA-86248 - KNPE: KDocNameCompletionSession.doComplete) --- .../kotlin/idea/completion/KDocCompletionContributor.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KDocCompletionContributor.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KDocCompletionContributor.kt index 77cc6245d39..5a8a1561f6b 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KDocCompletionContributor.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KDocCompletionContributor.kt @@ -26,8 +26,8 @@ import com.intellij.util.ProcessingContext import org.jetbrains.kotlin.descriptors.CallableDescriptor import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.idea.core.ExpectedInfo -import org.jetbrains.kotlin.idea.kdoc.getParamDescriptors import org.jetbrains.kotlin.idea.kdoc.getKDocLinkResolutionScope +import org.jetbrains.kotlin.idea.kdoc.getParamDescriptors import org.jetbrains.kotlin.idea.util.CallType import org.jetbrains.kotlin.idea.util.substituteExtensionIfCallable import org.jetbrains.kotlin.kdoc.lexer.KDocTokens @@ -80,7 +80,7 @@ class KDocNameCompletionSession( val position = parameters.position.getParentOfType(false) ?: return val declaration = position.getContainingDoc().getOwner() ?: return val kdocLink = position.getStrictParentOfType()!! - val declarationDescriptor = bindingContext[BindingContext.DECLARATION_TO_DESCRIPTOR, declaration]!! + val declarationDescriptor = bindingContext[BindingContext.DECLARATION_TO_DESCRIPTOR, declaration] ?: return if (kdocLink.getTagIfSubject()?.knownTag == KDocKnownTag.PARAM) { addParamCompletions(position, declarationDescriptor) } else {