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.DaemonProgressIndicator
import com.intellij.codeInsight.daemon.impl.HighlightingSessionImpl import com.intellij.codeInsight.daemon.impl.HighlightingSessionImpl
import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.codeInsight.intention.LowPriorityAction
import com.intellij.codeInspection.InspectionManager import com.intellij.codeInspection.*
import com.intellij.codeInspection.LocalQuickFix
import com.intellij.codeInspection.ProblemDescriptor
import com.intellij.codeInspection.ProblemHighlightType
import com.intellij.lang.annotation.HighlightSeverity import com.intellij.lang.annotation.HighlightSeverity
import com.intellij.openapi.Disposable import com.intellij.openapi.Disposable
import com.intellij.openapi.application.ApplicationManager 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.Disposer
import com.intellij.openapi.util.TextRange import com.intellij.openapi.util.TextRange
import com.intellij.psi.PsiDocumentManager import com.intellij.psi.PsiDocumentManager
import com.intellij.psi.PsiElement
import com.intellij.psi.PsiFile import com.intellij.psi.PsiFile
import com.intellij.psi.PsiWhiteSpace import com.intellij.psi.PsiWhiteSpace
import com.intellij.psi.util.PsiUtilBase import com.intellij.psi.util.PsiUtilBase
@@ -217,22 +215,22 @@ class KotlinUnusedImportInspection : AbstractKotlinInspection() {
} }
} }
private class OptimizeImportsQuickFix(private val file: KtFile) : LocalQuickFix { private class OptimizeImportsQuickFix(file: KtFile) : LocalQuickFixOnPsiElement(file) {
override fun getName() = "Optimize imports" override fun getText() = "Optimize imports"
override fun getFamilyName() = name 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() OptimizeImportsProcessor(project, file).run()
} }
} }
private class EnableOptimizeImportsOnTheFlyFix(private val file: KtFile) : LocalQuickFix, LowPriorityAction { private class EnableOptimizeImportsOnTheFlyFix(file: KtFile) : LocalQuickFixOnPsiElement(file), LowPriorityAction {
override fun getName(): String = QuickFixBundle.message("enable.optimize.imports.on.the.fly") override fun getText(): String = QuickFixBundle.message("enable.optimize.imports.on.the.fly")
override fun getFamilyName() = name 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 CodeInsightWorkspaceSettings.getInstance(project).optimizeImportsOnTheFly = true
OptimizeImportsProcessor( OptimizeImportsProcessor(
project, project,