[IR] Minor: backend refactoring

This commit is contained in:
Ivan Kylchik
2023-08-04 11:24:35 +02:00
committed by Space Team
parent 55092da03b
commit 2b5f839fac
4 changed files with 5 additions and 9 deletions
@@ -1052,7 +1052,7 @@ private fun IrDeclarationParent.createThisReceiverParameter(
origin: IrDeclarationOrigin,
type: IrType
): IrValueParameter =
context.symbolTable.irFactory.createValueParameter(
context.irFactory.createValueParameter(
startOffset = startOffset,
endOffset = endOffset,
origin = origin,
@@ -201,7 +201,7 @@ class JvmBackendContext(
}
state.multiFieldValueClassUnboxInfo = lambda@{ descriptor ->
val irClass = symbolTable.lazyWrapper.descriptorExtension.referenceClass(descriptor).owner
val irClass = referenceClass(descriptor).owner
val node = multiFieldValueClassReplacements.getRootMfvcNodeOrNull(irClass) ?: return@lambda null
val leavesInfo =
node.leaves.map { Triple(defaultTypeMapper.mapType(it.type), it.fullMethodName.asString(), it.fullFieldName.asString()) }
@@ -40,7 +40,7 @@ import org.jetbrains.kotlin.ir.util.isSuspendFunction as isSuspendFunctionImpl
open class IrTypeMapper(private val context: JvmBackendContext) : KotlinTypeMapperBase(), TypeMappingContext<JvmSignatureWriter> {
override val typeSystem: IrTypeSystemContext = context.typeSystem
override val typeContext: TypeSystemCommonBackendContextForTypeMapping = IrTypeCheckerContextForTypeMapping(typeSystem, context)
override val typeContext: TypeSystemCommonBackendContextForTypeMapping = IrTypeCheckerContextForTypeMapping(context)
override fun mapClass(classifier: ClassifierDescriptor): Type =
when (classifier) {
@@ -223,9 +223,8 @@ open class IrTypeMapper(private val context: JvmBackendContext) : KotlinTypeMapp
}
private class IrTypeCheckerContextForTypeMapping(
private val baseContext: IrTypeSystemContext,
private val backendContext: JvmBackendContext
) : IrTypeSystemContext by baseContext, TypeSystemCommonBackendContextForTypeMapping {
) : IrTypeSystemContext by backendContext.typeSystem, TypeSystemCommonBackendContextForTypeMapping {
override fun TypeConstructorMarker.isTypeParameter(): Boolean {
return this is IrTypeParameterSymbol
}
@@ -13,10 +13,7 @@ import org.jetbrains.kotlin.ir.util.*
@OptIn(ObsoleteDescriptorBasedAPI::class)
class IrLazySymbolTable(private val originalTable: SymbolTable) : ReferenceSymbolTable by originalTable {
val lock: IrLock get() = originalTable.lock
/*Don't force builtins class linking before unbound symbols linking: otherwise stdlib compilation will failed*/
/*Don't force builtins class linking before unbound symbols linking: otherwise stdlib compilation will fail*/
var stubGenerator: DeclarationStubGenerator? = null
@ObsoleteDescriptorBasedAPI