JVM, JVM_IR: KT-42281 proper array->primitive coercion

This commit is contained in:
Dmitry Petrov
2020-11-20 12:42:48 +03:00
parent e59c8e0a5c
commit b495fd542f
11 changed files with 53 additions and 4 deletions
@@ -420,8 +420,11 @@ class ExpressionCodegen(
visitStatementContainer(expression, data)
override fun visitCall(expression: IrCall, data: BlockInfo): PromisedValue {
classCodegen.context.irIntrinsics.getIntrinsic(expression.symbol)
?.invoke(expression, this, data)?.let { return it }
val intrinsic = classCodegen.context.irIntrinsics.getIntrinsic(expression.symbol)
if (intrinsic != null) {
intrinsic.invoke(expression, this, data)
?.let { return it }
}
val callee = expression.symbol.owner
require(callee.parent is IrClass) { "Unhandled intrinsic in ExpressionCodegen: ${callee.render()}" }