diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/Lower.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/Lower.kt index c10fc4cfa06..2c518fab5af 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/Lower.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/Lower.kt @@ -150,11 +150,14 @@ private class BodyLoweringVisitor( override fun visitBody(body: IrBody, data: IrDeclaration?) { if (withLocalDeclarations) body.acceptChildren(this, null) - if (allowDeclarationModification) { - loweringPass.lower(body, data!!) - } else { - data!!.factory.stageController.bodyLowering { + val stageController = data!!.factory.stageController + stageController.restrictTo(data) { + if (allowDeclarationModification) { loweringPass.lower(body, data) + } else { + stageController.bodyLowering { + loweringPass.lower(body, data) + } } } }