diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt index 854df6896d6..63b5624d549 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt @@ -47,8 +47,8 @@ import org.jetbrains.kotlin.ir.visitors.acceptVoid import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.platform.TargetPlatform import org.jetbrains.kotlin.psi.KtFile +import org.jetbrains.kotlin.psi2ir.generators.DeclarationStubGeneratorImpl import org.jetbrains.kotlin.psi2ir.generators.GeneratorExtensions -import org.jetbrains.kotlin.psi2ir.generators.generateTypicalIrProviderList import org.jetbrains.kotlin.resolve.BindingContext class Fir2IrConverter( @@ -73,20 +73,6 @@ class Fir2IrConverter( for (firFile in allFirFiles) { registerFileAndClasses(firFile, irModuleFragment) } - - val irProviders = - generateTypicalIrProviderList( - irModuleFragment.descriptor, irBuiltIns, symbolTable, - descriptorFinder = DescriptorByIdSignatureFinderImpl(irModuleFragment.descriptor, descriptorMangler), - extensions = extensions - ) - val externalDependenciesGenerator = ExternalDependenciesGenerator( - symbolTable, - irProviders - ) - - // Necessary call to generate built-in IR classes - externalDependenciesGenerator.generateUnboundSymbolsAsDependencies() classifierStorage.preCacheBuiltinClasses() // The file processing is performed phase-to-phase: // 1. Creation of all non-local regular classes @@ -119,8 +105,11 @@ class Fir2IrConverter( firFile.accept(fir2irVisitor, null) } - externalDependenciesGenerator.generateUnboundSymbolsAsDependencies() - val stubGenerator = irProviders.filterIsInstance().first() + val stubGenerator = DeclarationStubGeneratorImpl( + irModuleFragment.descriptor, symbolTable, irBuiltIns, + DescriptorByIdSignatureFinderImpl(irModuleFragment.descriptor, descriptorMangler), + extensions + ) irModuleFragment.acceptVoid(ExternalPackageParentPatcher(stubGenerator)) evaluateConstants(irModuleFragment)