[Test] Drop convertToIr method from AbstractFirAnalyzerFacade

We are going to use `convertToIr` from `ModuleCompilerAnalyzedOutput`
without an intermediate wrapper.
This commit is contained in:
Ivan Kylchik
2023-07-16 17:10:58 +02:00
committed by Space Team
parent 3c9eb87c8d
commit 6e45c9d4c7
7 changed files with 72 additions and 120 deletions
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.analyzer.AnalysisResult
import org.jetbrains.kotlin.asJava.finder.JavaElementFinder
import org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory
import org.jetbrains.kotlin.backend.jvm.JvmIrDeserializerImpl
import org.jetbrains.kotlin.builtins.DefaultBuiltIns
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity
import org.jetbrains.kotlin.cli.common.messages.GroupingMessageCollector
@@ -33,10 +34,7 @@ import org.jetbrains.kotlin.fir.FirAnalyzerFacade
import org.jetbrains.kotlin.fir.FirTestSessionFactoryHelper
import org.jetbrains.kotlin.fir.backend.Fir2IrCommonMemberStorage
import org.jetbrains.kotlin.fir.backend.Fir2IrConfiguration
import org.jetbrains.kotlin.fir.backend.jvm.FirJvmBackendClassResolver
import org.jetbrains.kotlin.fir.backend.jvm.FirJvmBackendExtension
import org.jetbrains.kotlin.fir.backend.jvm.FirJvmKotlinMangler
import org.jetbrains.kotlin.fir.backend.jvm.JvmFir2IrExtensions
import org.jetbrains.kotlin.fir.backend.jvm.*
import org.jetbrains.kotlin.fir.pipeline.signatureComposerForJvmFir2Ir
import org.jetbrains.kotlin.ir.backend.jvm.jvmResolveLibraries
import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmIrMangler
@@ -118,31 +116,36 @@ object GenerationUtils {
getPackagePartProvider = packagePartProvider
)
val linkViaSignatures = configuration.getBoolean(JVMConfigurationKeys.LINK_VIA_SIGNATURES)
// TODO: add running checkers and check that it's safe to compile
val firAnalyzerFacade = FirAnalyzerFacade(
session,
Fir2IrConfiguration(
languageVersionSettings = configuration.languageVersionSettings,
linkViaSignatures = configuration.getBoolean(JVMConfigurationKeys.LINK_VIA_SIGNATURES),
evaluatedConstTracker = configuration
.putIfAbsent(CommonConfigurationKeys.EVALUATED_CONST_TRACKER, EvaluatedConstTracker.create()),
inlineConstTracker = configuration[CommonConfigurationKeys.INLINE_CONST_TRACKER],
),
files,
emptyList(),
FirParser.Psi,
)
val fir2IrExtensions = JvmFir2IrExtensions(configuration, JvmIrDeserializerImpl(), JvmIrMangler)
val commonMemberStorage = Fir2IrCommonMemberStorage(
signatureComposerForJvmFir2Ir(firAnalyzerFacade.fir2IrConfiguration.linkViaSignatures),
FirJvmKotlinMangler(),
val fir2IrConfiguration = Fir2IrConfiguration(
languageVersionSettings = configuration.languageVersionSettings,
linkViaSignatures = linkViaSignatures,
evaluatedConstTracker = configuration
.putIfAbsent(CommonConfigurationKeys.EVALUATED_CONST_TRACKER, EvaluatedConstTracker.create()),
inlineConstTracker = configuration[CommonConfigurationKeys.INLINE_CONST_TRACKER],
)
val (moduleFragment, components, pluginContext) = firAnalyzerFacade.convertToIr(
val commonMemberStorage = Fir2IrCommonMemberStorage(signatureComposerForJvmFir2Ir(linkViaSignatures), FirJvmKotlinMangler())
firAnalyzerFacade.runResolution()
val (moduleFragment, components, pluginContext) = firAnalyzerFacade.result.outputs.single().convertToIr(
fir2IrExtensions,
fir2IrConfiguration,
commonMemberStorage,
irBuiltIns = null
irBuiltIns = null,
JvmIrMangler,
FirJvmVisibilityConverter,
DefaultBuiltIns.Instance
)
val dummyBindingContext = NoScopeRecordCliBindingTrace().bindingContext