From 0e4ac7108a72676210e3188a4dd52a937c7ef490 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Wed, 17 Jun 2015 17:56:33 +0300 Subject: [PATCH] Completion: fixed insertion of java class names that require escaping --- .../idea/completion/handlers/KotlinClassInsertHandler.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/handlers/KotlinClassInsertHandler.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/handlers/KotlinClassInsertHandler.kt index 1fe64b67dc9..96c843a2166 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/handlers/KotlinClassInsertHandler.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/handlers/KotlinClassInsertHandler.kt @@ -26,8 +26,10 @@ import org.jetbrains.kotlin.idea.completion.isAfterDot import org.jetbrains.kotlin.idea.core.completion.DeclarationDescriptorLookupObject import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers import org.jetbrains.kotlin.idea.util.ShortenReferences +import org.jetbrains.kotlin.name.FqNameUnsafe import org.jetbrains.kotlin.psi.JetFile import org.jetbrains.kotlin.psi.JetNameReferenceExpression +import org.jetbrains.kotlin.renderer.render import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode @@ -85,7 +87,12 @@ object KotlinClassInsertHandler : BaseDeclarationInsertHandler() { val lookupObject = item.getObject() return when (lookupObject) { is DeclarationDescriptorLookupObject -> IdeDescriptorRenderers.SOURCE_CODE.renderClassifierName(lookupObject.descriptor as ClassDescriptor) - is PsiClass -> lookupObject.getQualifiedName()!! + + is PsiClass -> { + val qualifiedName = lookupObject.getQualifiedName()!! + if (FqNameUnsafe.isValid(qualifiedName)) FqNameUnsafe(qualifiedName).render() else qualifiedName + } + else -> error("Unknown object in LookupElement with KotlinClassInsertHandler: $lookupObject") } }