Moved enum to top level

This commit is contained in:
Valentin Kipyatkov
2015-11-10 13:35:51 +03:00
parent fe7f79428d
commit bba960f1a5
7 changed files with 17 additions and 12 deletions
@@ -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")