FIR2IR: pass external builtins to module descriptor

to support scenario when builtins are deserialized from KLib
This commit is contained in:
Ilya Chernikov
2022-08-16 11:46:34 +02:00
parent af5d74e888
commit 30df65c321
6 changed files with 35 additions and 24 deletions
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.pipeline
import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension
import org.jetbrains.kotlin.backend.jvm.serialization.JvmIdSignatureDescriptor
import org.jetbrains.kotlin.builtins.DefaultBuiltIns
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.backend.Fir2IrConverter
import org.jetbrains.kotlin.fir.backend.Fir2IrExtensions
@@ -44,7 +45,9 @@ fun FirSession.convertToIr(
FirJvmKotlinMangler(this),
JvmIrMangler, IrFactoryImpl, FirJvmVisibilityConverter,
Fir2IrJvmSpecialAnnotationSymbolProvider(),
irGeneratorExtensions, true
irGeneratorExtensions,
kotlinBuiltIns = DefaultBuiltIns.Instance, // TODO: consider passing externally
generateSignatures = true,
)
} else {
return Fir2IrConverter.createModuleFragmentWithoutSignatures(
@@ -53,7 +56,8 @@ fun FirSession.convertToIr(
FirJvmKotlinMangler(this),
JvmIrMangler, IrFactoryImpl, FirJvmVisibilityConverter,
Fir2IrJvmSpecialAnnotationSymbolProvider(),
irGeneratorExtensions
irGeneratorExtensions,
kotlinBuiltIns = DefaultBuiltIns.Instance // TODO: consider passing externally
)
}
}