diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/ArrayConstructorLowering.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/ArrayConstructorLowering.kt index 36c1648f301..d96a9806e4c 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/ArrayConstructorLowering.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/ArrayConstructorLowering.kt @@ -86,9 +86,7 @@ private class ArrayConstructorTransformer( +irCall(result.type.getClass()!!.functions.single { it.name == OperatorNameConventions.SET }).apply { dispatchReceiver = irGet(result) putValueArgument(0, irGet(tempIndex)) - val inlined = generator - .inline(parent, listOf(tempIndex)) - .patchDeclarationParents(scope.getLocalDeclarationParent()) + val inlined = generator.inline(parent, listOf(tempIndex)) putValueArgument(1, inlined) } val inc = index.type.getClass()!!.functions.single { it.name == OperatorNameConventions.INC } diff --git a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/AssertionLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/AssertionLowering.kt index f1eaccc14c6..313bcdaaa74 100644 --- a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/AssertionLowering.kt +++ b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/AssertionLowering.kt @@ -22,7 +22,6 @@ import org.jetbrains.kotlin.ir.expressions.IrCall import org.jetbrains.kotlin.ir.expressions.IrExpression import org.jetbrains.kotlin.ir.expressions.impl.IrCompositeImpl import org.jetbrains.kotlin.ir.util.getPackageFragment -import org.jetbrains.kotlin.ir.util.patchDeclarationParents import org.jetbrains.kotlin.ir.visitors.IrElementTransformer internal val assertionPhase = makeIrFilePhase( @@ -105,9 +104,7 @@ private class AssertionLowering(private val context: JvmBackendContext) : val generator = lambdaArgument?.asInlinable(this) val constructor = this@AssertionLowering.context.ir.symbols.assertionErrorConstructor val throwError = irThrow(irCall(constructor).apply { - val message = generator?.inline(parent)?.patchDeclarationParents(scope.getLocalDeclarationParent()) - ?: irString("Assertion failed") - putValueArgument(0, message) + putValueArgument(0, generator?.inline(parent) ?: irString("Assertion failed")) }) +irIfThen(irNot(assertCondition), throwError) }