[IR] Minor: backend refactoring
This commit is contained in:
+1
-1
@@ -1052,7 +1052,7 @@ private fun IrDeclarationParent.createThisReceiverParameter(
|
|||||||
origin: IrDeclarationOrigin,
|
origin: IrDeclarationOrigin,
|
||||||
type: IrType
|
type: IrType
|
||||||
): IrValueParameter =
|
): IrValueParameter =
|
||||||
context.symbolTable.irFactory.createValueParameter(
|
context.irFactory.createValueParameter(
|
||||||
startOffset = startOffset,
|
startOffset = startOffset,
|
||||||
endOffset = endOffset,
|
endOffset = endOffset,
|
||||||
origin = origin,
|
origin = origin,
|
||||||
|
|||||||
@@ -201,7 +201,7 @@ class JvmBackendContext(
|
|||||||
}
|
}
|
||||||
|
|
||||||
state.multiFieldValueClassUnboxInfo = lambda@{ descriptor ->
|
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 node = multiFieldValueClassReplacements.getRootMfvcNodeOrNull(irClass) ?: return@lambda null
|
||||||
val leavesInfo =
|
val leavesInfo =
|
||||||
node.leaves.map { Triple(defaultTypeMapper.mapType(it.type), it.fullMethodName.asString(), it.fullFieldName.asString()) }
|
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> {
|
open class IrTypeMapper(private val context: JvmBackendContext) : KotlinTypeMapperBase(), TypeMappingContext<JvmSignatureWriter> {
|
||||||
override val typeSystem: IrTypeSystemContext = context.typeSystem
|
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 =
|
override fun mapClass(classifier: ClassifierDescriptor): Type =
|
||||||
when (classifier) {
|
when (classifier) {
|
||||||
@@ -223,9 +223,8 @@ open class IrTypeMapper(private val context: JvmBackendContext) : KotlinTypeMapp
|
|||||||
}
|
}
|
||||||
|
|
||||||
private class IrTypeCheckerContextForTypeMapping(
|
private class IrTypeCheckerContextForTypeMapping(
|
||||||
private val baseContext: IrTypeSystemContext,
|
|
||||||
private val backendContext: JvmBackendContext
|
private val backendContext: JvmBackendContext
|
||||||
) : IrTypeSystemContext by baseContext, TypeSystemCommonBackendContextForTypeMapping {
|
) : IrTypeSystemContext by backendContext.typeSystem, TypeSystemCommonBackendContextForTypeMapping {
|
||||||
override fun TypeConstructorMarker.isTypeParameter(): Boolean {
|
override fun TypeConstructorMarker.isTypeParameter(): Boolean {
|
||||||
return this is IrTypeParameterSymbol
|
return this is IrTypeParameterSymbol
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-4
@@ -13,10 +13,7 @@ import org.jetbrains.kotlin.ir.util.*
|
|||||||
|
|
||||||
@OptIn(ObsoleteDescriptorBasedAPI::class)
|
@OptIn(ObsoleteDescriptorBasedAPI::class)
|
||||||
class IrLazySymbolTable(private val originalTable: SymbolTable) : ReferenceSymbolTable by originalTable {
|
class IrLazySymbolTable(private val originalTable: SymbolTable) : ReferenceSymbolTable by originalTable {
|
||||||
|
/*Don't force builtins class linking before unbound symbols linking: otherwise stdlib compilation will fail*/
|
||||||
val lock: IrLock get() = originalTable.lock
|
|
||||||
|
|
||||||
/*Don't force builtins class linking before unbound symbols linking: otherwise stdlib compilation will failed*/
|
|
||||||
var stubGenerator: DeclarationStubGenerator? = null
|
var stubGenerator: DeclarationStubGenerator? = null
|
||||||
|
|
||||||
@ObsoleteDescriptorBasedAPI
|
@ObsoleteDescriptorBasedAPI
|
||||||
|
|||||||
Reference in New Issue
Block a user