IR: make IrClassReference.classType mutable
This commit is contained in:
@@ -21,5 +21,5 @@ import org.jetbrains.kotlin.ir.types.IrType
|
||||
|
||||
abstract class IrClassReference : IrDeclarationReference() {
|
||||
abstract override val symbol: IrClassifierSymbol
|
||||
abstract val classType: IrType
|
||||
abstract var classType: IrType
|
||||
}
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ class IrClassReferenceImpl(
|
||||
override val endOffset: Int,
|
||||
override var type: IrType,
|
||||
override val symbol: IrClassifierSymbol,
|
||||
override val classType: IrType
|
||||
override var classType: IrType
|
||||
) : IrClassReference() {
|
||||
override fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D): R =
|
||||
visitor.visitClassReference(this, data)
|
||||
|
||||
@@ -7,10 +7,7 @@ package org.jetbrains.kotlin.ir.util
|
||||
|
||||
import org.jetbrains.kotlin.ir.IrElement
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.expressions.IrExpression
|
||||
import org.jetbrains.kotlin.ir.expressions.IrMemberAccessExpression
|
||||
import org.jetbrains.kotlin.ir.expressions.IrTypeOperatorCall
|
||||
import org.jetbrains.kotlin.ir.expressions.IrVararg
|
||||
import org.jetbrains.kotlin.ir.expressions.*
|
||||
import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid
|
||||
import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid
|
||||
import org.jetbrains.kotlin.ir.visitors.acceptVoid
|
||||
@@ -88,4 +85,9 @@ private class RemapTypesHelper(private val typeRemapper: TypeRemapper) : IrEleme
|
||||
expression.varargElementType = typeRemapper.remapType(expression.varargElementType)
|
||||
super.visitVararg(expression)
|
||||
}
|
||||
|
||||
override fun visitClassReference(expression: IrClassReference) {
|
||||
expression.classType = typeRemapper.remapType(expression.classType)
|
||||
super.visitClassReference(expression)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user