From f4c7f513efe635ee956d3282b70df6ea65088577 Mon Sep 17 00:00:00 2001 From: Simon Ogorodnik Date: Mon, 18 Dec 2023 14:44:40 +0100 Subject: [PATCH] K2 Tests. Do not use the TopDownAnalyzerFacadeForJVM to create module descriptor In fact, TopDownAnalyzerFacadeForJVM.createContainer initializes the whole K1 frontend. While it is only used to create a module descriptor for GenerationState.Builder, in real K2 compiler the module descriptor would be created via irModuleFragment. See org.jetbrains.kotlin.cli.jvm.compiler.pipeline.CompilerPipelineKt.generateCodeFromIr --- .../test/frontend/fir/Fir2IrJvmResultsConverter.kt | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/Fir2IrJvmResultsConverter.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/Fir2IrJvmResultsConverter.kt index 39426c1a595..3c4fafc93cb 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/Fir2IrJvmResultsConverter.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/Fir2IrJvmResultsConverter.kt @@ -73,14 +73,7 @@ class Fir2IrJvmResultsConverter( // Create and initialize the module and its dependencies val project = compilerConfigurationProvider.getProject(module) // TODO: handle fir from light tree - val ktFiles = inputArtifact.mainFirFiles.mapNotNull { it.value.psi as KtFile? } val sourceFiles = inputArtifact.mainFirFiles.mapNotNull { it.value.sourceFile } - val container = TopDownAnalyzerFacadeForJVM.createContainer( - project, ktFiles, NoScopeRecordCliBindingTrace(), configuration, - compilerConfigurationProvider.getPackagePartProviderFactory(module), - ::FileBasedDeclarationProviderFactory, CompilerEnvironment, - TopDownAnalyzerFacadeForJVM.newModuleSearchScope(project, ktFiles), emptyList() - ) val phaseConfig = configuration.get(CLIConfigurationKeys.PHASE_CONFIG) @@ -128,7 +121,7 @@ class Fir2IrJvmResultsConverter( val codegenFactory = JvmIrCodegenFactory(configuration, phaseConfig) val generationState = GenerationState.Builder( project, ClassBuilderFactories.TEST, - container.get(), NoScopeRecordCliBindingTrace().bindingContext, configuration + fir2irResult.irModuleFragment.descriptor, NoScopeRecordCliBindingTrace().bindingContext, configuration ).isIrBackend( true ).jvmBackendClassResolver(