[K2] Add Fir2IrConfiguration class to store configuration parameters

One example of such parameter is `linkViaSignatures`. There is
`Psi2IrConfiguration` as an analog for K1.
This commit is contained in:
Ivan Kylchik
2023-03-13 18:13:23 +01:00
committed by Space Team
parent 525098dea6
commit e16231104e
17 changed files with 67 additions and 37 deletions
@@ -39,6 +39,7 @@ import org.jetbrains.kotlin.cli.jvm.config.*
import org.jetbrains.kotlin.cli.jvm.plugins.PluginCliParser
import org.jetbrains.kotlin.config.*
import org.jetbrains.kotlin.diagnostics.DiagnosticReporterFactory
import org.jetbrains.kotlin.fir.backend.Fir2IrConfiguration
import org.jetbrains.kotlin.fir.backend.jvm.JvmFir2IrExtensions
import org.jetbrains.kotlin.fir.pipeline.FirResult
import org.jetbrains.kotlin.fir.pipeline.convertToIrAndActualizeForJvm
@@ -273,12 +274,13 @@ class IncrementalFirJvmCompilerRunner(
performanceManager?.notifyIRTranslationStarted()
val extensions = JvmFir2IrExtensions(configuration, JvmIrDeserializerImpl(), JvmIrMangler)
val fir2IrConfiguration = Fir2IrConfiguration(linkViaSignatures = false)
val irGenerationExtensions =
(projectEnvironment as? VfsBasedProjectEnvironment)?.project?.let { IrGenerationExtension.getInstances(it) }.orEmpty()
val (irModuleFragment, components, pluginContext, irActualizedResult) = cycleResult.convertToIrAndActualizeForJvm(
extensions,
fir2IrConfiguration,
irGenerationExtensions,
linkViaSignatures = false,
compilerEnvironment.diagnosticsReporter,
configuration.languageVersionSettings
)