Fir2Ir: remove unneeded ExternalDependenciesGenerator calls

This commit is contained in:
Georgy Bronnikov
2021-12-02 18:32:48 +03:00
committed by Alexander Udalov
parent c87748209d
commit 3c939a1bdd
@@ -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<DeclarationStubGenerator>().first()
val stubGenerator = DeclarationStubGeneratorImpl(
irModuleFragment.descriptor, symbolTable, irBuiltIns,
DescriptorByIdSignatureFinderImpl(irModuleFragment.descriptor, descriptorMangler),
extensions
)
irModuleFragment.acceptVoid(ExternalPackageParentPatcher(stubGenerator))
evaluateConstants(irModuleFragment)