FIR2IR entry points: don't create JvmDescriptorMangler if not needed

This commit is contained in:
Mikhail Glukhikh
2022-07-07 13:30:21 +02:00
committed by Space
parent 1a45284e86
commit 7bbd8d3b95
4 changed files with 91 additions and 24 deletions
@@ -13,7 +13,6 @@ import org.jetbrains.kotlin.KtSourceFile
import org.jetbrains.kotlin.KtVirtualFileSourceFile
import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension
import org.jetbrains.kotlin.backend.jvm.JvmIrDeserializerImpl
import org.jetbrains.kotlin.backend.jvm.serialization.JvmIdSignatureDescriptor
import org.jetbrains.kotlin.build.DEFAULT_KOTLIN_SOURCE_FILES_EXTENSIONS
import org.jetbrains.kotlin.build.report.BuildReporter
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
@@ -55,7 +54,6 @@ import org.jetbrains.kotlin.incremental.components.ExpectActualTracker
import org.jetbrains.kotlin.incremental.components.InlineConstTracker
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.incremental.multiproject.ModulesApiHistory
import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmDescriptorMangler
import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmIrMangler
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
import org.jetbrains.kotlin.ir.util.IrMessageLogger
@@ -272,20 +270,17 @@ class IncrementalFirJvmCompilerRunner(
val extensions = JvmFir2IrExtensions(configuration, JvmIrDeserializerImpl(), JvmIrMangler)
val irGenerationExtensions =
(projectEnvironment as? VfsBasedProjectEnvironment)?.project?.let { IrGenerationExtension.getInstances(it) }.orEmpty()
val signaturer = JvmIdSignatureDescriptor(JvmDescriptorMangler(null))
val allCommonFirFiles = cycleResult.session.moduleData.dependsOnDependencies
.map { it.session }
.filter { it.kind == FirSession.Kind.Source }
.flatMap { (it.firProvider as FirProviderImpl).getAllFirFiles() }
val (irModuleFragment, components) = Fir2IrConverter.createModuleFragment(
val (irModuleFragment, components) = Fir2IrConverter.createModuleFragmentWithoutSignatures(
cycleResult.session, cycleResult.scopeSession, cycleResult.fir + allCommonFirFiles,
cycleResult.session.languageVersionSettings, signaturer,
extensions, FirJvmKotlinMangler(cycleResult.session), JvmIrMangler, IrFactoryImpl,
FirJvmVisibilityConverter,
cycleResult.session.languageVersionSettings, extensions,
FirJvmKotlinMangler(cycleResult.session), JvmIrMangler, IrFactoryImpl, FirJvmVisibilityConverter,
Fir2IrJvmSpecialAnnotationSymbolProvider(),
irGenerationExtensions,
generateSignatures = false
irGenerationExtensions
)
performanceManager?.notifyIRTranslationFinished()