KT-18538 Cleanup in ShortenReferences

This commit is contained in:
Roman Golyshev
2020-05-27 14:02:24 +03:00
parent 16bdfa4fee
commit 43bbfa78d1
@@ -338,12 +338,11 @@ class ShortenReferences(val options: (KtElement) -> Options = { Options.DEFAULT
val tryImport = result.descriptors.isNotEmpty() val tryImport = result.descriptors.isNotEmpty()
&& result.descriptors.none { it in failedToImportDescriptors } && result.descriptors.none { it in failedToImportDescriptors }
&& result.descriptors.all { mayImport(it, file) } && result.descriptors.all { mayImport(it, file) }
toBeShortened = if (tryImport) {
if (tryImport) {
descriptorsToImport.addAll(result.descriptors) descriptorsToImport.addAll(result.descriptors)
true
} else {
false
} }
toBeShortened = tryImport
} }
AnalyzeQualifiedElementResult.Skip -> { AnalyzeQualifiedElementResult.Skip -> {
@@ -516,10 +515,8 @@ class ShortenReferences(val options: (KtElement) -> Options = { Options.DEFAULT
element: KtDotQualifiedExpression, element: KtDotQualifiedExpression,
bindingContext: BindingContext bindingContext: BindingContext
): AnalyzeQualifiedElementResult { ): AnalyzeQualifiedElementResult {
if (PsiTreeUtil.getParentOfType( if (PsiTreeUtil.getParentOfType(element, KtImportDirective::class.java, KtPackageDirective::class.java) != null ||
element, !canBePossibleToDropReceiver(element, bindingContext)
KtImportDirective::class.java, KtPackageDirective::class.java
) != null || !canBePossibleToDropReceiver(element, bindingContext)
) return AnalyzeQualifiedElementResult.Skip ) return AnalyzeQualifiedElementResult.Skip
val selector = element.selectorExpression ?: return AnalyzeQualifiedElementResult.Skip val selector = element.selectorExpression ?: return AnalyzeQualifiedElementResult.Skip
@@ -719,11 +716,9 @@ class ShortenReferences(val options: (KtElement) -> Options = { Options.DEFAULT
val receiver = element.receiverExpression val receiver = element.receiverExpression
if (PsiTreeUtil.getParentOfType( if (PsiTreeUtil.getParentOfType(element, KtImportDirective::class.java, KtPackageDirective::class.java) != null) {
element, return AnalyzeQualifiedElementResult.Skip
KtImportDirective::class.java, KtPackageDirective::class.java }
) != null
) return AnalyzeQualifiedElementResult.Skip
val receiverTarget = receiver.singleTarget(bindingContext) as? ClassDescriptor ?: return AnalyzeQualifiedElementResult.Skip val receiverTarget = receiver.singleTarget(bindingContext) as? ClassDescriptor ?: return AnalyzeQualifiedElementResult.Skip
@@ -740,11 +735,9 @@ class ShortenReferences(val options: (KtElement) -> Options = { Options.DEFAULT
// TODO: More generic solution may be possible // TODO: More generic solution may be possible
if (selectorsSelectorTarget is PropertyDescriptor) { if (selectorsSelectorTarget is PropertyDescriptor) {
val source = selectorsSelectorTarget.source.getPsi() as? KtProperty val source = selectorsSelectorTarget.source.getPsi() as? KtProperty
if (source != null && isEnumCompanionPropertyWithEntryConflict( if (source != null && isEnumCompanionPropertyWithEntryConflict(source, source.name ?: "")) {
source, return AnalyzeQualifiedElementResult.Skip
source.name ?: "" }
)
) return AnalyzeQualifiedElementResult.Skip
} }
return AnalyzeQualifiedElementResult.ShortenNow return AnalyzeQualifiedElementResult.ShortenNow