diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/common/AbstractClosureRecorder.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/common/AbstractClosureRecorder.kt index a85fe6878bd..7ba8096e676 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/common/AbstractClosureRecorder.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/common/AbstractClosureRecorder.kt @@ -94,11 +94,13 @@ abstract class AbstractClosureRecorder : IrElementVisitorVoid { } override fun visitVariableAccess(expression: IrValueAccessExpression) { - val closureBuilder = closuresStack.peek() ?: return + val closureBuilder = closuresStack.peek() - val variableDescriptor = expression.descriptor - if (variableDescriptor.containingDeclaration != closureBuilder.owner) { - closureBuilder.capturedValues.add(variableDescriptor) + if (closureBuilder != null) { + val variableDescriptor = expression.descriptor + if (variableDescriptor.containingDeclaration != closureBuilder.owner) { + closureBuilder.capturedValues.add(variableDescriptor) + } } expression.acceptChildrenVoid(this)