Avoid IR node duplication when lowering interop constant access
This commit is contained in:
committed by
Sergey Bogolepov
parent
eec5547213
commit
e147993ff2
+6
-2
@@ -899,10 +899,14 @@ private class InteropTransformer(val context: Context, override val irFile: IrFi
|
|||||||
?.takeIf { it.isConst }
|
?.takeIf { it.isConst }
|
||||||
?: return null
|
?: return null
|
||||||
|
|
||||||
return constantProperty.backingField
|
val irConstant = (constantProperty.backingField
|
||||||
?.initializer
|
?.initializer
|
||||||
?.expression
|
?.expression
|
||||||
?: error("Constant property ${constantProperty.name} has no initializer!")
|
?: error("Constant property ${constantProperty.name} has no initializer!"))
|
||||||
|
as IrConst<*>
|
||||||
|
|
||||||
|
// Avoid node duplication
|
||||||
|
return irConstant.copy()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun visitCall(expression: IrCall): IrExpression {
|
override fun visitCall(expression: IrCall): IrExpression {
|
||||||
|
|||||||
Reference in New Issue
Block a user