[IR] Make IrTypeOperatorCall copyable
^KT-45655 fixed
This commit is contained in:
committed by
TeamCityServer
parent
2a5153f0fd
commit
47f1a8a0bb
+1
-1
@@ -81,7 +81,7 @@ class MultipleCatchesLowering(private val context: JsIrBackendContext) : BodyLow
|
||||
}
|
||||
|
||||
val catchBody = catch.result.transform(object : IrElementTransformer<IrValueSymbol> {
|
||||
override fun visitGetValue(expression: IrGetValue, data: IrValueSymbol) =
|
||||
override fun visitGetValue(expression: IrGetValue, data: IrValueSymbol): IrExpression =
|
||||
if (expression.symbol == data)
|
||||
castedPendingException()
|
||||
else
|
||||
|
||||
@@ -66,7 +66,7 @@ enum class IrTypeOperator {
|
||||
REINTERPRET_CAST;
|
||||
}
|
||||
|
||||
abstract class IrTypeOperatorCall : IrExpression() {
|
||||
abstract class IrTypeOperatorCall : IrExpression(), IrExpressionWithCopy {
|
||||
abstract val operator: IrTypeOperator
|
||||
abstract var argument: IrExpression
|
||||
abstract var typeOperand: IrType
|
||||
|
||||
+10
@@ -46,4 +46,14 @@ class IrTypeOperatorCallImpl(
|
||||
override fun <D> transformChildren(transformer: IrElementTransformer<D>, data: D) {
|
||||
argument = argument.transform(transformer, data)
|
||||
}
|
||||
|
||||
override fun copy(): IrExpression =
|
||||
IrTypeOperatorCallImpl(
|
||||
startOffset,
|
||||
endOffset,
|
||||
type,
|
||||
operator,
|
||||
typeOperand,
|
||||
argument
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user