From 2e275e76245d10a8c879fd6ded2e6db41db11b84 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Tue, 10 Feb 2015 19:05:08 +0300 Subject: [PATCH] Removed useless nested object --- .../KotlinCopyPasteReferenceProcessor.kt | 53 +++++++++---------- 1 file changed, 25 insertions(+), 28 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/codeInsight/KotlinCopyPasteReferenceProcessor.kt b/idea/src/org/jetbrains/kotlin/idea/codeInsight/KotlinCopyPasteReferenceProcessor.kt index 7f7c6cf2fcd..e97e32a405d 100644 --- a/idea/src/org/jetbrains/kotlin/idea/codeInsight/KotlinCopyPasteReferenceProcessor.kt +++ b/idea/src/org/jetbrains/kotlin/idea/codeInsight/KotlinCopyPasteReferenceProcessor.kt @@ -254,7 +254,7 @@ public class KotlinCopyPasteReferenceProcessor() : CopyPastePostProcessor { val mustBeReferencedWithReceiver = referencedDescriptors.any { it.isExtension } - if (!mustBeReferencedWithReceiver && LengthenReferences.canLengthenReferenceExpression(expression, originalReferencedFqName)) { + if (!mustBeReferencedWithReceiver && canLengthenReferenceExpression(expression, originalReferencedFqName)) { return ReferenceToRestoreData(expression, originalReferencedFqName, lengthenReference = true) } } @@ -269,7 +269,7 @@ public class KotlinCopyPasteReferenceProcessor() : CopyPastePostProcessor()!! - typeReference.replace(psiFactory.createType(prefixToInsert + "." + typeReference.getText())) - } - else { - expression.replace(createQualifiedExpression(psiFactory, IdeDescriptorRenderers.SOURCE_CODE.renderFqName(fqName))) - } + private fun lengthenReference(expression: JetElement, fqName: FqName) { + assert(canLengthenReferenceExpression(expression, fqName)) + val parent = expression.getParent() + val prefixToInsert = IdeDescriptorRenderers.SOURCE_CODE.renderFqName(fqName.parent()) + val psiFactory = JetPsiFactory(expression) + if (parent is JetCallExpression) { + val text = prefixToInsert + "." + parent.getText() + parent.replace(createQualifiedExpression(psiFactory, text)) } + else if (parent is JetUserType) { + val typeReference = expression.getStrictParentOfType()!! + typeReference.replace(psiFactory.createType(prefixToInsert + "." + typeReference.getText())) + } + else { + expression.replace(createQualifiedExpression(psiFactory, IdeDescriptorRenderers.SOURCE_CODE.renderFqName(fqName))) + } + } - fun canLengthenReferenceExpression(expression: JetElement, fqName: FqName): Boolean { - return when { - fqName.pathSegments().size() < 2 -> false - expression is JetSimpleNameExpression && expression.getReceiverExpression() == null -> true - else -> false - } + private fun canLengthenReferenceExpression(expression: JetElement, fqName: FqName): Boolean { + return when { + fqName.pathSegments().size() < 2 -> false + expression is JetSimpleNameExpression && expression.getReceiverExpression() == null -> true + else -> false } }