Initial implementation of new optimize imports algorithm
This commit is contained in:
@@ -16,7 +16,6 @@
|
||||
|
||||
package org.jetbrains.kotlin.idea.util
|
||||
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.psi.JetFile
|
||||
import org.jetbrains.kotlin.psi.JetImportDirective
|
||||
import org.jetbrains.kotlin.resolve.ImportPath
|
||||
@@ -24,6 +23,7 @@ import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.components.ServiceManager
|
||||
import kotlin.platform.platformStatic
|
||||
import java.util.*
|
||||
|
||||
public abstract class ImportInsertHelper {
|
||||
|
||||
@@ -31,10 +31,10 @@ public abstract class ImportInsertHelper {
|
||||
|
||||
public abstract fun isImportedWithDefault(importPath: ImportPath, contextFile: JetFile): Boolean
|
||||
|
||||
public abstract fun needImport(importPath: ImportPath, file: JetFile, importDirectives: List<JetImportDirective> = file.getImportDirectives()): Boolean
|
||||
|
||||
public abstract fun mayImportByCodeStyle(descriptor: DeclarationDescriptor): Boolean
|
||||
|
||||
public abstract val importSortComparator: Comparator<ImportPath>
|
||||
|
||||
public enum class ImportDescriptorResult {
|
||||
FAIL
|
||||
IMPORT_ADDED
|
||||
|
||||
@@ -60,8 +60,3 @@ public fun JetType.canBeReferencedViaImport(): Boolean {
|
||||
val descriptor = getConstructor().getDeclarationDescriptor()
|
||||
return descriptor != null && descriptor.canBeReferencedViaImport()
|
||||
}
|
||||
|
||||
public fun isInReceiverScope(referenceElement: PsiElement, referencedDescriptor: DeclarationDescriptor): Boolean {
|
||||
val isExpressionWithReceiver = referenceElement is JetSimpleNameExpression && referenceElement.getReceiverExpression() != null
|
||||
return isExpressionWithReceiver && !referencedDescriptor.isExtension
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user