[FIR] Part 2. Setup running platform checkers in tests

^KT-58881
This commit is contained in:
Dmitriy Novozhilov
2024-01-09 11:54:12 +02:00
committed by Nikolay Lunyak
parent 727d2f46f8
commit c4e4776c5e
11 changed files with 107 additions and 38 deletions
@@ -22,7 +22,8 @@ import org.jetbrains.kotlin.utils.exceptions.withPsiEntry
internal class LLDiagnosticParameterChecker(testServices: TestServices) : FirAnalysisHandler(testServices) {
override fun processModule(module: TestModule, info: FirOutputArtifact) {
for (part in info.partsForDependsOnModules) {
val diagnostics = part.firAnalyzerFacade.runCheckers().values.flatten()
val facade = part.firAnalyzerFacade as LowLevelFirAnalyzerFacade
val diagnostics = facade.runCheckers().values.flatten()
for (diagnostic in diagnostics) {
checkDiagnosticIsSuitableForFirIde(diagnostic as KtPsiDiagnostic)
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.api.LLFirResolveSession
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.collectDiagnosticsForFile
import org.jetbrains.kotlin.diagnostics.KtDiagnostic
import org.jetbrains.kotlin.fir.AbstractFirAnalyzerFacade
import org.jetbrains.kotlin.fir.analysis.checkers.MppCheckerKind
import org.jetbrains.kotlin.fir.declarations.FirFile
import org.jetbrains.kotlin.fir.pipeline.FirResult
import org.jetbrains.kotlin.fir.pipeline.ModuleCompilerAnalyzedOutput
@@ -34,7 +35,8 @@ open class LowLevelFirAnalyzerFacade(
private var resolved: Boolean = false
override fun runCheckers(): Map<FirFile, List<KtDiagnostic>> {
// TODO: investigate
fun runCheckers(): Map<FirFile, List<KtDiagnostic>> {
if (!resolved) {
runResolution()
resolved = true