[IR] Minor: backend refactoring
This commit is contained in:
+1
-1
@@ -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()) }
|
||||
|
||||
+2
-3
@@ -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
|
||||
}
|
||||
|
||||
+1
-4
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user