[FIR] Add the syntax tree suffix to buildResolveAndCheckFir

This commit is contained in:
Nikolay Lunyak
2023-05-15 13:04:11 +03:00
committed by Space Team
parent 51b8e400d9
commit c57d9097c2
5 changed files with 10 additions and 11 deletions
@@ -129,7 +129,7 @@ fun compileModuleToAnalyzedFirWithPsi(
isCommonSource = isCommonSourceForPsi,
fileBelongsToModule = fileBelongsToModuleForPsi,
buildResolveAndCheckFir = { session, files ->
buildResolveAndCheckFir(session, files, diagnosticsReporter)
buildResolveAndCheckFirFromKtFiles(session, files, diagnosticsReporter)
},
)
}
@@ -158,7 +158,7 @@ fun compileModulesToAnalyzedFirWithLightTree(
isCommonSource = { groupedSources.isCommonSourceForLt(it) },
fileBelongsToModule = { file, it -> groupedSources.fileBelongsToModuleForLt(file, it) },
buildResolveAndCheckFir = { session, files ->
buildResolveAndCheckFir(session, files, diagnosticsReporter, null)
buildResolveAndCheckFirViaLightTree(session, files, diagnosticsReporter, null)
},
)
}
@@ -217,7 +217,7 @@ object FirKotlinToJvmBytecodeCompiler {
)
val outputs = sessionsWithSources.map { (session, sources) ->
buildResolveAndCheckFir(session, sources, diagnosticsReporter)
buildResolveAndCheckFirFromKtFiles(session, sources, diagnosticsReporter)
}
return runUnless(syntaxErrors || diagnosticsReporter.hasErrors) { FirResult(outputs) }
@@ -17,12 +17,10 @@ import com.intellij.psi.PsiManager
import com.intellij.psi.search.GlobalSearchScope
import com.intellij.util.io.URLUtil
import org.jetbrains.kotlin.KtSourceFile
import org.jetbrains.kotlin.KtVirtualFileSourceFile
import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension
import org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory
import org.jetbrains.kotlin.backend.jvm.JvmIrDeserializerImpl
import org.jetbrains.kotlin.cli.common.*
import org.jetbrains.kotlin.cli.common.config.kotlinSourceRoots
import org.jetbrains.kotlin.cli.common.fir.reportToMessageCollector
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
@@ -296,7 +294,7 @@ fun compileModuleToAnalyzedFir(
val countFilesAndLines = if (performanceManager == null) null else performanceManager::addSourcesStats
val outputs = sessionWithSources.map { (session, sources) ->
buildResolveAndCheckFir(session, sources, diagnosticsReporter, countFilesAndLines)
buildResolveAndCheckFirViaLightTree(session, sources, diagnosticsReporter, countFilesAndLines)
}
return FirResult(outputs)
@@ -55,7 +55,7 @@ fun FirSession.buildFirFromKtFiles(ktFiles: Collection<KtFile>): List<FirFile> {
}
}
fun buildResolveAndCheckFir(
fun buildResolveAndCheckFirFromKtFiles(
session: FirSession,
ktFiles: List<KtFile>,
diagnosticsReporter: BaseDiagnosticsCollector
@@ -73,7 +73,7 @@ fun resolveAndCheckFir(
return ModuleCompilerAnalyzedOutput(session, scopeSession, fir)
}
fun buildResolveAndCheckFir(
fun buildResolveAndCheckFirViaLightTree(
session: FirSession,
ktFiles: Collection<KtSourceFile>,
diagnosticsReporter: DiagnosticReporter,
@@ -12,7 +12,8 @@ import org.jetbrains.kotlin.fir.*
import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrar
import org.jetbrains.kotlin.fir.pipeline.FirResult
import org.jetbrains.kotlin.fir.pipeline.ModuleCompilerAnalyzedOutput
import org.jetbrains.kotlin.fir.pipeline.buildResolveAndCheckFir
import org.jetbrains.kotlin.fir.pipeline.buildResolveAndCheckFirViaLightTree
import org.jetbrains.kotlin.fir.pipeline.buildResolveAndCheckFirFromKtFiles
import org.jetbrains.kotlin.fir.resolve.ImplicitIntegerCoercionModuleCapability
import org.jetbrains.kotlin.fir.scopes.FirOverrideChecker
import org.jetbrains.kotlin.library.isInterop
@@ -105,7 +106,7 @@ internal fun PhaseContext.firFrontendWithPsi(input: KotlinCoreEnvironment): FirO
isCommonSource = isCommonSourceForPsi,
fileBelongsToModule = fileBelongsToModuleForPsi,
buildResolveAndCheckFir = { session, files ->
buildResolveAndCheckFir(session, files, diagnosticsReporter)
buildResolveAndCheckFirFromKtFiles(session, files, diagnosticsReporter)
},
)
}
@@ -130,7 +131,7 @@ internal fun PhaseContext.firFrontendWithLightTree(input: KotlinCoreEnvironment)
isCommonSource = { groupedSources.isCommonSourceForLt(it) },
fileBelongsToModule = { file, it -> groupedSources.fileBelongsToModuleForLt(file, it) },
buildResolveAndCheckFir = { session, files ->
buildResolveAndCheckFir(session, files, diagnosticsReporter, null)
buildResolveAndCheckFirViaLightTree(session, files, diagnosticsReporter, null)
},
)
}