[Test] Reuse runResolution and runCheckers from analyze.kt
This commit is contained in:
@@ -5,7 +5,8 @@
|
||||
|
||||
package org.jetbrains.kotlin.fir.pipeline
|
||||
|
||||
import org.jetbrains.kotlin.diagnostics.DiagnosticReporter
|
||||
import org.jetbrains.kotlin.diagnostics.KtDiagnostic
|
||||
import org.jetbrains.kotlin.diagnostics.impl.BaseDiagnosticsCollector
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.analysis.collectors.FirDiagnosticsCollector
|
||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||
@@ -19,7 +20,11 @@ fun FirSession.runResolution(firFiles: List<FirFile>): Pair<ScopeSession, List<F
|
||||
return resolveProcessor.scopeSession to firFiles
|
||||
}
|
||||
|
||||
fun FirSession.runCheckers(scopeSession: ScopeSession, firFiles: List<FirFile>, reporter: DiagnosticReporter) {
|
||||
fun FirSession.runCheckers(
|
||||
scopeSession: ScopeSession,
|
||||
firFiles: List<FirFile>,
|
||||
reporter: BaseDiagnosticsCollector
|
||||
): Map<FirFile, List<KtDiagnostic>> {
|
||||
val collector = FirDiagnosticsCollector.create(this, scopeSession)
|
||||
collector.collectDiagnosticsInSettings(reporter)
|
||||
for (file in firFiles) {
|
||||
@@ -27,4 +32,8 @@ fun FirSession.runCheckers(scopeSession: ScopeSession, firFiles: List<FirFile>,
|
||||
collector.collectDiagnostics(file, reporter)
|
||||
}
|
||||
}
|
||||
return firFiles.associateWith {
|
||||
val path = it.sourceFile?.path ?: return@associateWith emptyList()
|
||||
reporter.diagnosticsByFilePath[path] ?: emptyList()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ fun buildResolveAndCheckFirFromKtFiles(
|
||||
fun resolveAndCheckFir(
|
||||
session: FirSession,
|
||||
firFiles: List<FirFile>,
|
||||
diagnosticsReporter: DiagnosticReporter
|
||||
diagnosticsReporter: BaseDiagnosticsCollector
|
||||
): ModuleCompilerAnalyzedOutput {
|
||||
val (scopeSession, fir) = session.runResolution(firFiles)
|
||||
session.runCheckers(scopeSession, fir, diagnosticsReporter)
|
||||
@@ -76,7 +76,7 @@ fun resolveAndCheckFir(
|
||||
fun buildResolveAndCheckFirViaLightTree(
|
||||
session: FirSession,
|
||||
ktFiles: Collection<KtSourceFile>,
|
||||
diagnosticsReporter: DiagnosticReporter,
|
||||
diagnosticsReporter: BaseDiagnosticsCollector,
|
||||
countFilesAndLines: KFunction2<Int, Int, Unit>?
|
||||
): ModuleCompilerAnalyzedOutput {
|
||||
val firFiles = session.buildFirViaLightTree(ktFiles, diagnosticsReporter, countFilesAndLines)
|
||||
|
||||
Reference in New Issue
Block a user