mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-02-04 23:39:07 +07:00
[mod-commands] PerformFixesTask: check applicability of ModCommandAction
GitOrigin-RevId: 0ec8eb7e9006d5eaf60cbbb0ea4c20ad77e619a7
This commit is contained in:
committed by
intellij-monorepo-bot
parent
ded8a3793c
commit
eafa7acdb7
@@ -5,11 +5,8 @@ import com.intellij.codeInspection.CommonProblemDescriptor
|
||||
import com.intellij.codeInspection.ProblemDescriptor
|
||||
import com.intellij.codeInspection.QuickFix
|
||||
import com.intellij.lang.LangBundle
|
||||
import com.intellij.modcommand.ActionContext
|
||||
import com.intellij.modcommand.ModCommand
|
||||
import com.intellij.modcommand.ModCommandExecutor
|
||||
import com.intellij.modcommand.*
|
||||
import com.intellij.modcommand.ModCommandExecutor.BatchExecutionResult
|
||||
import com.intellij.modcommand.ModCommandQuickFix
|
||||
import com.intellij.openapi.application.ReadAction
|
||||
import com.intellij.openapi.progress.ProgressManager
|
||||
import com.intellij.openapi.project.Project
|
||||
@@ -22,6 +19,10 @@ open class PerformFixesTask(project: Project, descriptors: List<CommonProblemDes
|
||||
override fun <D : CommonProblemDescriptor> collectFix(fix: QuickFix<D>, descriptor: D, project: Project): BatchExecutionResult {
|
||||
if (fix is ModCommandQuickFix) {
|
||||
descriptor as ProblemDescriptor
|
||||
val action = ModCommandService.getInstance().unwrap(fix)
|
||||
if (action != null && action.getPresentation(ActionContext.from(descriptor)) == null) {
|
||||
return ModCommandExecutor.Result.NOTHING
|
||||
}
|
||||
val command = ProgressManager.getInstance().runProcessWithProgressSynchronously(
|
||||
ThrowableComputable<ModCommand, RuntimeException> {
|
||||
ReadAction.nonBlocking(Callable { fix.perform(myProject, descriptor) })
|
||||
|
||||
Reference in New Issue
Block a user