Completion: fixed insertion of java class names that require escaping
This commit is contained in:
+8
-1
@@ -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")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user