KotlinUnusedImportInspection: use LocalQuickFixOnPsiElement

This commit is contained in:
Mikhail Glukhikh
2018-01-18 15:23:51 +03:00
parent a3dda258c8
commit 925e4e0a67
@@ -24,10 +24,7 @@ import com.intellij.codeInsight.daemon.impl.DaemonListeners
import com.intellij.codeInsight.daemon.impl.DaemonProgressIndicator
import com.intellij.codeInsight.daemon.impl.HighlightingSessionImpl
import com.intellij.codeInsight.intention.LowPriorityAction
import com.intellij.codeInspection.InspectionManager
import com.intellij.codeInspection.LocalQuickFix
import com.intellij.codeInspection.ProblemDescriptor
import com.intellij.codeInspection.ProblemHighlightType
import com.intellij.codeInspection.*
import com.intellij.lang.annotation.HighlightSeverity
import com.intellij.openapi.Disposable
import com.intellij.openapi.application.ApplicationManager
@@ -39,6 +36,7 @@ import com.intellij.openapi.project.Project
import com.intellij.openapi.util.Disposer
import com.intellij.openapi.util.TextRange
import com.intellij.psi.PsiDocumentManager
import com.intellij.psi.PsiElement
import com.intellij.psi.PsiFile
import com.intellij.psi.PsiWhiteSpace
import com.intellij.psi.util.PsiUtilBase
@@ -217,22 +215,22 @@ class KotlinUnusedImportInspection : AbstractKotlinInspection() {
}
}
private class OptimizeImportsQuickFix(private val file: KtFile) : LocalQuickFix {
override fun getName() = "Optimize imports"
private class OptimizeImportsQuickFix(file: KtFile) : LocalQuickFixOnPsiElement(file) {
override fun getText() = "Optimize imports"
override fun getFamilyName() = name
override fun applyFix(project: Project, descriptor: ProblemDescriptor) {
override fun invoke(project: Project, file: PsiFile, startElement: PsiElement, endElement: PsiElement) {
OptimizeImportsProcessor(project, file).run()
}
}
private class EnableOptimizeImportsOnTheFlyFix(private val file: KtFile) : LocalQuickFix, LowPriorityAction {
override fun getName(): String = QuickFixBundle.message("enable.optimize.imports.on.the.fly")
private class EnableOptimizeImportsOnTheFlyFix(file: KtFile) : LocalQuickFixOnPsiElement(file), LowPriorityAction {
override fun getText(): String = QuickFixBundle.message("enable.optimize.imports.on.the.fly")
override fun getFamilyName() = name
override fun applyFix(project: Project, descriptor: ProblemDescriptor) {
override fun invoke(project: Project, file: PsiFile, startElement: PsiElement, endElement: PsiElement) {
CodeInsightWorkspaceSettings.getInstance(project).optimizeImportsOnTheFly = true
OptimizeImportsProcessor(
project,