fixup! [IR] Avoid insert/removeReceiver methods needed only for old param API
diff --git a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmStaticAnnotationLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmStaticAnnotationLowering.kt index 21663d8..72b9a62 100644 --- a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmStaticAnnotationLowering.kt +++ b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmStaticAnnotationLowering.kt
@@ -63,11 +63,11 @@ IrTypeOperatorCallImpl(startOffset, endOffset, irBuiltIns.unitType, IrTypeOperator.IMPLICIT_COERCION_TO_UNIT, irBuiltIns.unitType, this) private fun IrMemberAccessExpression<*>.makeStatic(irBuiltIns: IrBuiltIns, replaceCallee: IrSimpleFunction?): IrExpression { - val receiver = arguments.removeAt(0) ?: return this + val receiver = arguments.removeAt(0) if (replaceCallee != null) { (this as IrCall).symbol = replaceCallee.symbol } - if (receiver.isTrivial()) { + if (receiver == null || receiver.isTrivial()) { // Receiver has no side effects (aside from maybe class initialization) so discard it. return this }