IR: pass DescriptorByIdSignatureFinder as parameter to DeclarationStubGeneratorimpl

This breaks dependency between serialization.common and psi2ir modules.
This commit is contained in:
Georgy Bronnikov
2021-12-01 20:23:22 +03:00
committed by TeamCityServer
parent 3f91674090
commit 6a3a375372
11 changed files with 34 additions and 28 deletions
+1
View File
@@ -16,6 +16,7 @@ dependencies {
compileOnly(project(":compiler:ir.tree"))
compileOnly(project(":compiler:ir.psi2ir"))
compileOnly(project(":compiler:ir.backend.common"))
compileOnly(project(":compiler:ir.serialization.common"))
compileOnly(intellijCore())
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.backend
import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension
import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
import org.jetbrains.kotlin.backend.common.ir.BuiltinSymbolsBase
import org.jetbrains.kotlin.backend.common.serialization.DescriptorByIdSignatureFinderImpl
import org.jetbrains.kotlin.config.AnalysisFlags
import org.jetbrains.kotlin.config.LanguageVersionSettings
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
@@ -62,6 +63,7 @@ class Fir2IrConverter(
irGenerationExtensions: Collection<IrGenerationExtension>,
fir2irVisitor: Fir2IrVisitor,
languageVersionSettings: LanguageVersionSettings,
descriptorMangler: KotlinMangler.DescriptorMangler,
extensions: StubGeneratorExtensions,
) {
for (firFile in allFirFiles) {
@@ -69,7 +71,11 @@ class Fir2IrConverter(
}
val irProviders =
generateTypicalIrProviderList(irModuleFragment.descriptor, irBuiltIns, symbolTable, extensions = extensions)
generateTypicalIrProviderList(
irModuleFragment.descriptor, irBuiltIns, symbolTable,
descriptorFinder = DescriptorByIdSignatureFinderImpl(irModuleFragment.descriptor, descriptorMangler),
extensions = extensions
)
val externalDependenciesGenerator = ExternalDependenciesGenerator(
symbolTable,
irProviders
@@ -460,7 +466,8 @@ class Fir2IrConverter(
}
converter.runSourcesConversion(
allFirFiles, irModuleFragment, irGenerationExtensions, fir2irVisitor, languageVersionSettings, generatorExtensions
allFirFiles, irModuleFragment, irGenerationExtensions, fir2irVisitor, languageVersionSettings,
descriptorMangler, generatorExtensions
)
return Fir2IrResult(irModuleFragment, symbolTable, components)