Moved enum to top level
This commit is contained in:
@@ -31,12 +31,6 @@ abstract class ImportInsertHelper {
|
||||
|
||||
abstract val importSortComparator: Comparator<ImportPath>
|
||||
|
||||
enum class ImportDescriptorResult {
|
||||
FAIL,
|
||||
IMPORT_ADDED,
|
||||
ALREADY_IMPORTED
|
||||
}
|
||||
|
||||
abstract fun importDescriptor(file: KtFile, descriptor: DeclarationDescriptor, forceAllUnderImport: Boolean = false): ImportDescriptorResult
|
||||
|
||||
companion object {
|
||||
@@ -45,3 +39,10 @@ abstract class ImportInsertHelper {
|
||||
= ServiceManager.getService<ImportInsertHelper>(project, javaClass<ImportInsertHelper>())
|
||||
}
|
||||
}
|
||||
|
||||
enum class ImportDescriptorResult {
|
||||
FAIL,
|
||||
IMPORT_ADDED,
|
||||
ALREADY_IMPORTED
|
||||
}
|
||||
|
||||
|
||||
@@ -160,10 +160,10 @@ public class ShortenReferences(val options: (KtElement) -> Options = { Options.D
|
||||
assert(descriptor !in failedToImportDescriptors)
|
||||
|
||||
val result = helper.importDescriptor(file, descriptor)
|
||||
if (result != ImportInsertHelper.ImportDescriptorResult.ALREADY_IMPORTED) {
|
||||
if (result != ImportDescriptorResult.ALREADY_IMPORTED) {
|
||||
anyChange = true
|
||||
}
|
||||
if (result == ImportInsertHelper.ImportDescriptorResult.FAIL) {
|
||||
if (result == ImportDescriptorResult.FAIL) {
|
||||
failedToImportDescriptors.add(descriptor)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -399,7 +399,7 @@ fun LookupElement.decorateAsStaticMember(
|
||||
var insertQualifier = true
|
||||
if (useImport) {
|
||||
psiDocumentManager.commitAllDocuments()
|
||||
if (ImportInsertHelper.getInstance(context.project).importDescriptor(file, memberDescriptor) != ImportInsertHelper.ImportDescriptorResult.FAIL) {
|
||||
if (ImportInsertHelper.getInstance(context.project).importDescriptor(file, memberDescriptor) != ImportDescriptorResult.FAIL) {
|
||||
insertQualifier = false
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||
import org.jetbrains.kotlin.idea.conversion.copy.range
|
||||
import org.jetbrains.kotlin.idea.imports.importableFqName
|
||||
import org.jetbrains.kotlin.idea.references.mainReference
|
||||
import org.jetbrains.kotlin.idea.util.ImportDescriptorResult
|
||||
import org.jetbrains.kotlin.idea.util.ImportInsertHelper
|
||||
import org.jetbrains.kotlin.idea.util.ShortenReferences
|
||||
import org.jetbrains.kotlin.psi.KtDotQualifiedExpression
|
||||
@@ -49,7 +50,7 @@ class ImportAllMembersIntention : SelfTargetingIntention<KtDotQualifiedExpressio
|
||||
val dummyFileText = (file.packageDirective?.text ?: "") + "\n" + (file.importList?.text ?: "")
|
||||
val dummyFile = KtPsiFactory(project).createAnalyzableFile("Dummy.kt", dummyFileText, file)
|
||||
val helper = ImportInsertHelper.getInstance(project)
|
||||
if (helper.importDescriptor(dummyFile, target, forceAllUnderImport = true) == ImportInsertHelper.ImportDescriptorResult.FAIL) return false
|
||||
if (helper.importDescriptor(dummyFile, target, forceAllUnderImport = true) == ImportDescriptorResult.FAIL) return false
|
||||
|
||||
text = "Import members from '${targetFqName.parent().asString()}'"
|
||||
return true
|
||||
|
||||
@@ -21,6 +21,7 @@ import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||
import org.jetbrains.kotlin.idea.imports.canBeReferencedViaImport
|
||||
import org.jetbrains.kotlin.idea.imports.importableFqName
|
||||
import org.jetbrains.kotlin.idea.references.mainReference
|
||||
import org.jetbrains.kotlin.idea.util.ImportDescriptorResult
|
||||
import org.jetbrains.kotlin.idea.util.ImportInsertHelper
|
||||
import org.jetbrains.kotlin.idea.util.ShortenReferences
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
@@ -52,7 +53,7 @@ class ImportMemberIntention : SelfTargetingOffsetIndependentIntention<KtNameRefe
|
||||
|
||||
val file = element.getContainingKtFile()
|
||||
val helper = ImportInsertHelper.getInstance(element.project)
|
||||
if (helper.importDescriptor(file, targets.first()) == ImportInsertHelper.ImportDescriptorResult.FAIL) return
|
||||
if (helper.importDescriptor(file, targets.first()) == ImportDescriptorResult.FAIL) return
|
||||
|
||||
val qualifiedExpressions = file.collectDescendantsOfType<KtDotQualifiedExpression> { qualifiedExpression ->
|
||||
val selector = qualifiedExpression.getQualifiedElementSelector() as? KtNameReferenceExpression
|
||||
|
||||
@@ -28,6 +28,7 @@ import org.jetbrains.kotlin.idea.imports.getImportableTargets
|
||||
import org.jetbrains.kotlin.idea.imports.importableFqName
|
||||
import org.jetbrains.kotlin.idea.project.platform
|
||||
import org.jetbrains.kotlin.idea.refactoring.fqName.isImported
|
||||
import org.jetbrains.kotlin.idea.util.ImportDescriptorResult
|
||||
import org.jetbrains.kotlin.idea.util.ImportInsertHelper
|
||||
import org.jetbrains.kotlin.idea.util.getFileResolutionScope
|
||||
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
|
||||
|
||||
@@ -21,6 +21,7 @@ import org.jetbrains.kotlin.AbstractImportsTest
|
||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveImportReference
|
||||
import org.jetbrains.kotlin.idea.util.ImportDescriptorResult
|
||||
import org.jetbrains.kotlin.idea.util.ImportInsertHelper
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
@@ -48,7 +49,7 @@ public abstract class AbstractAddImportTest : AbstractImportsTest() {
|
||||
error("Multiple descriptors found:\n " + descriptors.map { DescriptorRenderer.FQ_NAMES_IN_TYPES.render(it) }.joinToString("\n "))
|
||||
|
||||
else -> {
|
||||
val success = ImportInsertHelper.getInstance(getProject()).importDescriptor(file, descriptors.single()) != ImportInsertHelper.ImportDescriptorResult.FAIL
|
||||
val success = ImportInsertHelper.getInstance(getProject()).importDescriptor(file, descriptors.single()) != ImportDescriptorResult.FAIL
|
||||
if (!success) {
|
||||
val document = PsiDocumentManager.getInstance(getProject()).getDocument(file)!!
|
||||
document.replaceString(0, document.getTextLength(), "Failed to add import")
|
||||
|
||||
Reference in New Issue
Block a user