[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, isCommonSource = isCommonSourceForPsi,
fileBelongsToModule = fileBelongsToModuleForPsi, fileBelongsToModule = fileBelongsToModuleForPsi,
buildResolveAndCheckFir = { session, files -> buildResolveAndCheckFir = { session, files ->
buildResolveAndCheckFir(session, files, diagnosticsReporter) buildResolveAndCheckFirFromKtFiles(session, files, diagnosticsReporter)
}, },
) )
} }
@@ -158,7 +158,7 @@ fun compileModulesToAnalyzedFirWithLightTree(
isCommonSource = { groupedSources.isCommonSourceForLt(it) }, isCommonSource = { groupedSources.isCommonSourceForLt(it) },
fileBelongsToModule = { file, it -> groupedSources.fileBelongsToModuleForLt(file, it) }, fileBelongsToModule = { file, it -> groupedSources.fileBelongsToModuleForLt(file, it) },
buildResolveAndCheckFir = { session, files -> 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) -> val outputs = sessionsWithSources.map { (session, sources) ->
buildResolveAndCheckFir(session, sources, diagnosticsReporter) buildResolveAndCheckFirFromKtFiles(session, sources, diagnosticsReporter)
} }
return runUnless(syntaxErrors || diagnosticsReporter.hasErrors) { FirResult(outputs) } 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.psi.search.GlobalSearchScope
import com.intellij.util.io.URLUtil import com.intellij.util.io.URLUtil
import org.jetbrains.kotlin.KtSourceFile import org.jetbrains.kotlin.KtSourceFile
import org.jetbrains.kotlin.KtVirtualFileSourceFile
import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension
import org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory import org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory
import org.jetbrains.kotlin.backend.jvm.JvmIrDeserializerImpl import org.jetbrains.kotlin.backend.jvm.JvmIrDeserializerImpl
import org.jetbrains.kotlin.cli.common.* 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.fir.reportToMessageCollector
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity
import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.cli.common.messages.MessageCollector
@@ -296,7 +294,7 @@ fun compileModuleToAnalyzedFir(
val countFilesAndLines = if (performanceManager == null) null else performanceManager::addSourcesStats val countFilesAndLines = if (performanceManager == null) null else performanceManager::addSourcesStats
val outputs = sessionWithSources.map { (session, sources) -> val outputs = sessionWithSources.map { (session, sources) ->
buildResolveAndCheckFir(session, sources, diagnosticsReporter, countFilesAndLines) buildResolveAndCheckFirViaLightTree(session, sources, diagnosticsReporter, countFilesAndLines)
} }
return FirResult(outputs) return FirResult(outputs)
@@ -55,7 +55,7 @@ fun FirSession.buildFirFromKtFiles(ktFiles: Collection<KtFile>): List<FirFile> {
} }
} }
fun buildResolveAndCheckFir( fun buildResolveAndCheckFirFromKtFiles(
session: FirSession, session: FirSession,
ktFiles: List<KtFile>, ktFiles: List<KtFile>,
diagnosticsReporter: BaseDiagnosticsCollector diagnosticsReporter: BaseDiagnosticsCollector
@@ -73,7 +73,7 @@ fun resolveAndCheckFir(
return ModuleCompilerAnalyzedOutput(session, scopeSession, fir) return ModuleCompilerAnalyzedOutput(session, scopeSession, fir)
} }
fun buildResolveAndCheckFir( fun buildResolveAndCheckFirViaLightTree(
session: FirSession, session: FirSession,
ktFiles: Collection<KtSourceFile>, ktFiles: Collection<KtSourceFile>,
diagnosticsReporter: DiagnosticReporter, diagnosticsReporter: DiagnosticReporter,
@@ -12,7 +12,8 @@ import org.jetbrains.kotlin.fir.*
import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrar import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrar
import org.jetbrains.kotlin.fir.pipeline.FirResult import org.jetbrains.kotlin.fir.pipeline.FirResult
import org.jetbrains.kotlin.fir.pipeline.ModuleCompilerAnalyzedOutput 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.resolve.ImplicitIntegerCoercionModuleCapability
import org.jetbrains.kotlin.fir.scopes.FirOverrideChecker import org.jetbrains.kotlin.fir.scopes.FirOverrideChecker
import org.jetbrains.kotlin.library.isInterop import org.jetbrains.kotlin.library.isInterop
@@ -105,7 +106,7 @@ internal fun PhaseContext.firFrontendWithPsi(input: KotlinCoreEnvironment): FirO
isCommonSource = isCommonSourceForPsi, isCommonSource = isCommonSourceForPsi,
fileBelongsToModule = fileBelongsToModuleForPsi, fileBelongsToModule = fileBelongsToModuleForPsi,
buildResolveAndCheckFir = { session, files -> 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) }, isCommonSource = { groupedSources.isCommonSourceForLt(it) },
fileBelongsToModule = { file, it -> groupedSources.fileBelongsToModuleForLt(file, it) }, fileBelongsToModule = { file, it -> groupedSources.fileBelongsToModuleForLt(file, it) },
buildResolveAndCheckFir = { session, files -> buildResolveAndCheckFir = { session, files ->
buildResolveAndCheckFir(session, files, diagnosticsReporter, null) buildResolveAndCheckFirViaLightTree(session, files, diagnosticsReporter, null)
}, },
) )
} }