Removed useless nested object
This commit is contained in:
+25
-28
@@ -254,7 +254,7 @@ public class KotlinCopyPasteReferenceProcessor() : CopyPastePostProcessor<Refere
|
|||||||
|
|
||||||
conflict -> {
|
conflict -> {
|
||||||
val mustBeReferencedWithReceiver = referencedDescriptors.any { it.isExtension }
|
val mustBeReferencedWithReceiver = referencedDescriptors.any { it.isExtension }
|
||||||
if (!mustBeReferencedWithReceiver && LengthenReferences.canLengthenReferenceExpression(expression, originalReferencedFqName)) {
|
if (!mustBeReferencedWithReceiver && canLengthenReferenceExpression(expression, originalReferencedFqName)) {
|
||||||
return ReferenceToRestoreData(expression, originalReferencedFqName, lengthenReference = true)
|
return ReferenceToRestoreData(expression, originalReferencedFqName, lengthenReference = true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -269,7 +269,7 @@ public class KotlinCopyPasteReferenceProcessor() : CopyPastePostProcessor<Refere
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
//TODO: try to shorten reference after (sometimes is possible), need shorten reference to support all relevant cases
|
//TODO: try to shorten reference after (sometimes is possible), need shorten reference to support all relevant cases
|
||||||
LengthenReferences.lengthenReference(referenceExpression, fqName)
|
lengthenReference(referenceExpression, fqName)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -295,35 +295,32 @@ public class KotlinCopyPasteReferenceProcessor() : CopyPastePostProcessor<Refere
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private object LengthenReferences {
|
private fun createQualifiedExpression(psiFactory: JetPsiFactory, text: String)
|
||||||
|
= psiFactory.createExpression(text) as JetDotQualifiedExpression
|
||||||
|
|
||||||
private fun createQualifiedExpression(psiFactory: JetPsiFactory, text: String)
|
private fun lengthenReference(expression: JetElement, fqName: FqName) {
|
||||||
= psiFactory.createExpression(text) as JetDotQualifiedExpression
|
assert(canLengthenReferenceExpression(expression, fqName))
|
||||||
|
val parent = expression.getParent()
|
||||||
fun lengthenReference(expression: JetElement, fqName: FqName) {
|
val prefixToInsert = IdeDescriptorRenderers.SOURCE_CODE.renderFqName(fqName.parent())
|
||||||
assert(canLengthenReferenceExpression(expression, fqName))
|
val psiFactory = JetPsiFactory(expression)
|
||||||
val parent = expression.getParent()
|
if (parent is JetCallExpression) {
|
||||||
val prefixToInsert = IdeDescriptorRenderers.SOURCE_CODE.renderFqName(fqName.parent())
|
val text = prefixToInsert + "." + parent.getText()
|
||||||
val psiFactory = JetPsiFactory(expression)
|
parent.replace(createQualifiedExpression(psiFactory, text))
|
||||||
if (parent is JetCallExpression) {
|
|
||||||
val text = prefixToInsert + "." + parent.getText()
|
|
||||||
parent.replace(createQualifiedExpression(psiFactory, text))
|
|
||||||
}
|
|
||||||
else if (parent is JetUserType) {
|
|
||||||
val typeReference = expression.getStrictParentOfType<JetTypeReference>()!!
|
|
||||||
typeReference.replace(psiFactory.createType(prefixToInsert + "." + typeReference.getText()))
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
expression.replace(createQualifiedExpression(psiFactory, IdeDescriptorRenderers.SOURCE_CODE.renderFqName(fqName)))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
else if (parent is JetUserType) {
|
||||||
|
val typeReference = expression.getStrictParentOfType<JetTypeReference>()!!
|
||||||
|
typeReference.replace(psiFactory.createType(prefixToInsert + "." + typeReference.getText()))
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
expression.replace(createQualifiedExpression(psiFactory, IdeDescriptorRenderers.SOURCE_CODE.renderFqName(fqName)))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun canLengthenReferenceExpression(expression: JetElement, fqName: FqName): Boolean {
|
private fun canLengthenReferenceExpression(expression: JetElement, fqName: FqName): Boolean {
|
||||||
return when {
|
return when {
|
||||||
fqName.pathSegments().size() < 2 -> false
|
fqName.pathSegments().size() < 2 -> false
|
||||||
expression is JetSimpleNameExpression && expression.getReceiverExpression() == null -> true
|
expression is JetSimpleNameExpression && expression.getReceiverExpression() == null -> true
|
||||||
else -> false
|
else -> false
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user