Skip to content

Commit

Permalink
Removed the check for Global Inspections
Browse files Browse the repository at this point in the history
  • Loading branch information
anchouls committed Dec 12, 2023
1 parent 69b8331 commit 219755e
Showing 1 changed file with 0 additions and 40 deletions.
Original file line number Diff line number Diff line change
@@ -1,17 +1,9 @@
@file:Suppress("ForbiddenComment")

package org.jetbrains.academy.test.system.inspections

import com.intellij.codeInsight.daemon.impl.DaemonProgressIndicator
import com.intellij.codeInspection.InspectionManager
import com.intellij.codeInspection.LocalInspectionTool
import com.intellij.codeInspection.ProblemDescriptor
import com.intellij.codeInspection.GlobalSimpleInspectionTool
import com.intellij.codeInspection.ProblemsHolder
import com.intellij.codeInspection.ProblemDescriptionsProcessor
import com.intellij.codeInspection.CommonProblemDescriptor
import com.intellij.codeInspection.ex.GlobalInspectionContextBase
import com.intellij.codeInspection.reference.RefEntity
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.progress.ProgressManager
import com.intellij.psi.PsiFile
Expand All @@ -32,35 +24,3 @@ fun PsiFile.applyLocalInspections(inspections: List<LocalInspectionTool>): List<
)
return problems
}

fun PsiFile.applyGlobalInspections(inspections: List<GlobalSimpleInspectionTool>): Boolean {
// TODO: `checkFile` doesn't work due to `resolve` doesn't work
val inspectionManager = InspectionManager.getInstance(project)
val problemDescriptionsProcessor = MyProblemDescriptionsProcessor()
val globalContext = GlobalInspectionContextBase(project)
val problemsHolder = ProblemsHolder(inspectionManager, this, true)
ProgressManager.getInstance().executeProcessUnderProgress(
{
for (inspection in inspections) {
ApplicationManager.getApplication().runReadAction<Unit> {
inspection.checkFile(this, inspectionManager, problemsHolder, globalContext, problemDescriptionsProcessor)
}
}
},
DaemonProgressIndicator()
)
return !problemsHolder.hasResults()
}

class MyProblemDescriptionsProcessor: ProblemDescriptionsProcessor {

private val problems: MutableList<CommonProblemDescriptor?> = mutableListOf()

override fun addProblemElement(refEntity: RefEntity?, vararg commonProblemDescriptors: CommonProblemDescriptor?) {
problems.addAll(commonProblemDescriptors)
}

fun getProblems(): MutableList<CommonProblemDescriptor?> {
return problems
}
}

0 comments on commit 219755e

Please sign in to comment.