mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 15:19:59 +07:00
KTIJ-32202 [kotlin] Small cleanup in OptimizedImportsBuilder
Better naming, get rid of redundant nullable lists early (cherry picked from commit 6cbaaee13a290500d7fbdc7d96fdd2946723cb05) IJ-CR-150012 GitOrigin-RevId: 20c92c10aafd73ee0c65c662f49b51760f358489
This commit is contained in:
committed by
intellij-monorepo-bot
parent
c404d3fdbc
commit
6c3b9fa8f7
@@ -4,7 +4,6 @@ package org.jetbrains.kotlin.idea.k2.codeinsight.imports
|
||||
import com.intellij.openapi.progress.ProgressManager
|
||||
import org.jetbrains.kotlin.analysis.api.KaSession
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KaClassSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KaClassifierSymbol
|
||||
import org.jetbrains.kotlin.config.ApiVersion
|
||||
import org.jetbrains.kotlin.idea.base.projectStructure.languageVersionSettings
|
||||
import org.jetbrains.kotlin.idea.base.psi.imports.KotlinImportPathComparator
|
||||
@@ -171,11 +170,11 @@ internal class OptimizedImportsBuilder(
|
||||
val originalUsedReference = UsedReference.run { createFrom(originalReference) }
|
||||
val alternativeUsedReference = UsedReference.run { createFrom(alternativeReference) }
|
||||
|
||||
val originalSymbols = originalUsedReference?.run { resolveToReferencedSymbols() }
|
||||
val alternativeSymbols = alternativeUsedReference?.run { resolveToReferencedSymbols() }
|
||||
val originalSymbols = originalUsedReference?.run { resolveToReferencedSymbols() }.orEmpty()
|
||||
val alternativeSymbols = alternativeUsedReference?.run { resolveToReferencedSymbols() }.orEmpty()
|
||||
|
||||
if (!areTargetsEqual(originalSymbols, alternativeSymbols)) {
|
||||
val conflictingSymbols = originalSymbols.orEmpty() + alternativeSymbols.orEmpty()
|
||||
val conflictingSymbols = originalSymbols + alternativeSymbols
|
||||
|
||||
for (conflictingSymbol in conflictingSymbols) {
|
||||
lockImportForSymbol(conflictingSymbol.run { toSymbolInfo() }, names)
|
||||
@@ -187,13 +186,9 @@ internal class OptimizedImportsBuilder(
|
||||
}
|
||||
|
||||
private fun KaSession.areTargetsEqual(
|
||||
originalSymbols: Collection<ReferencedSymbol>?,
|
||||
alternativeSymbols: Collection<ReferencedSymbol>?
|
||||
originalSymbols: Collection<ReferencedSymbol>,
|
||||
alternativeSymbols: Collection<ReferencedSymbol>
|
||||
): Boolean {
|
||||
if (originalSymbols == null || alternativeSymbols == null) {
|
||||
return originalSymbols == alternativeSymbols
|
||||
}
|
||||
|
||||
if (originalSymbols.size != alternativeSymbols.size) return false
|
||||
|
||||
return originalSymbols.zip(alternativeSymbols).all { (originalSymbol, newSymbol) -> areTargetsEqual(originalSymbol, newSymbol) }
|
||||
@@ -203,11 +198,11 @@ internal class OptimizedImportsBuilder(
|
||||
originalSymbol: ReferencedSymbol,
|
||||
alternativeSymbol: ReferencedSymbol,
|
||||
): Boolean {
|
||||
val originalSymbol = originalSymbol.run { toSymbolInfo() }
|
||||
val newSymbol = alternativeSymbol.run { toSymbolInfo() }
|
||||
val originalSymbolInfo = originalSymbol.run { toSymbolInfo() }
|
||||
val alternativeSymbolInfo = alternativeSymbol.run { toSymbolInfo() }
|
||||
|
||||
return originalSymbol == newSymbol ||
|
||||
importSymbolWithMapping(originalSymbol) == importSymbolWithMapping(newSymbol)
|
||||
return originalSymbolInfo == alternativeSymbolInfo ||
|
||||
importSymbolWithMapping(originalSymbolInfo) == importSymbolWithMapping(alternativeSymbolInfo)
|
||||
}
|
||||
|
||||
private fun KaSession.lockImportForSymbol(symbol: SymbolInfo, existingNames: Collection<Name>) {
|
||||
|
||||
Reference in New Issue
Block a user