Move part of code that related to 'Optimize imports' action to ide-common module

This commit is contained in:
Mikhail Zarechenskiy
2016-04-26 20:34:44 +03:00
parent b677e9d2ea
commit 69b4837830
4 changed files with 153 additions and 141 deletions
@@ -1,47 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jetbrains.kotlin.idea.util
import com.intellij.openapi.components.ServiceManager
import com.intellij.openapi.project.Project
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.resolve.ImportPath
import java.util.*
abstract class ImportInsertHelper {
/*TODO: implementation is not quite correct*/
abstract fun isImportedWithDefault(importPath: ImportPath, contextFile: KtFile): Boolean
abstract fun mayImportOnShortenReferences(descriptor: DeclarationDescriptor): Boolean
abstract val importSortComparator: Comparator<ImportPath>
abstract fun importDescriptor(file: KtFile, descriptor: DeclarationDescriptor, forceAllUnderImport: Boolean = false): ImportDescriptorResult
companion object {
@JvmStatic fun getInstance(project: Project): ImportInsertHelper
= ServiceManager.getService<ImportInsertHelper>(project, ImportInsertHelper::class.java)
}
}
enum class ImportDescriptorResult {
FAIL,
IMPORT_ADDED,
ALREADY_IMPORTED
}