IR: simplify initialization cycle of TypeTranslator/ConstantValueGenerator

This commit is contained in:
Alexander Udalov
2021-02-21 15:01:06 +01:00
parent 5ea3d32b98
commit d991a3e40f
9 changed files with 18 additions and 59 deletions
@@ -513,9 +513,7 @@ class GenerateIrRuntime {
val mangler = JsManglerDesc
val signaturer = IdSignatureDescriptor(mangler)
val symbolTable = SymbolTable(signaturer, PersistentIrFactory())
val typeTranslator = TypeTranslator(symbolTable, languageVersionSettings, moduleDescriptor.builtIns).also {
it.constantValueGenerator = ConstantValueGenerator(moduleDescriptor, symbolTable)
}
val typeTranslator = TypeTranslator(symbolTable, languageVersionSettings, moduleDescriptor)
val irBuiltIns = IrBuiltIns(moduleDescriptor.builtIns, typeTranslator, symbolTable)
val functionFactory = IrFunctionFactory(irBuiltIns, symbolTable)
@@ -542,10 +540,7 @@ class GenerateIrRuntime {
val mangler = JsManglerDesc
val signaturer = IdSignatureDescriptor(mangler)
val symbolTable = SymbolTable(signaturer, PersistentIrFactory())
val typeTranslator = TypeTranslator(symbolTable, languageVersionSettings, moduleDescriptor.builtIns).also {
it.constantValueGenerator = ConstantValueGenerator(moduleDescriptor, symbolTable)
}
val typeTranslator = TypeTranslator(symbolTable, languageVersionSettings, moduleDescriptor)
val irBuiltIns = IrBuiltIns(moduleDescriptor.builtIns, typeTranslator, symbolTable)
val functionFactory = IrFunctionFactory(irBuiltIns, symbolTable)