IR: move frontend-dependent code into implementations in psi2ir

This commit is contained in:
Alexander Udalov
2021-02-21 15:41:48 +01:00
parent d991a3e40f
commit addabae8d2
22 changed files with 167 additions and 73 deletions
@@ -18,8 +18,11 @@ import org.jetbrains.kotlin.ir.declarations.IrFunction
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns
import org.jetbrains.kotlin.ir.types.impl.originalKotlinType
import org.jetbrains.kotlin.ir.util.*
import org.jetbrains.kotlin.ir.util.IdSignature
import org.jetbrains.kotlin.ir.util.IdSignatureComposer
import org.jetbrains.kotlin.ir.util.SymbolTable
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.psi2ir.generators.TypeTranslatorImpl
import org.jetbrains.kotlin.storage.LockBasedStorageManager
import org.jetbrains.kotlin.utils.Printer
import java.io.File
@@ -202,6 +205,6 @@ private fun getIrBuiltIns(): IrBuiltIns {
override fun composeEnumEntrySignature(descriptor: ClassDescriptor): IdSignature? = null
}
val symbolTable = SymbolTable(signaturer, IrFactoryImpl)
val typeTranslator = TypeTranslator(symbolTable, languageSettings, moduleDescriptor)
val typeTranslator = TypeTranslatorImpl(symbolTable, languageSettings, moduleDescriptor)
return IrBuiltIns(moduleDescriptor.builtIns, typeTranslator, symbolTable)
}