backend: Fix uninitialized property access in LocalDeclarationsLowering

This commit is contained in:
Ilya Matveev
2017-02-01 16:08:46 +03:00
committed by ilmat192
parent f960c70c68
commit b4ee0e86d2
@@ -94,12 +94,14 @@ abstract class AbstractClosureRecorder : IrElementVisitorVoid {
} }
override fun visitVariableAccess(expression: IrValueAccessExpression) { override fun visitVariableAccess(expression: IrValueAccessExpression) {
val closureBuilder = closuresStack.peek() ?: return val closureBuilder = closuresStack.peek()
if (closureBuilder != null) {
val variableDescriptor = expression.descriptor val variableDescriptor = expression.descriptor
if (variableDescriptor.containingDeclaration != closureBuilder.owner) { if (variableDescriptor.containingDeclaration != closureBuilder.owner) {
closureBuilder.capturedValues.add(variableDescriptor) closureBuilder.capturedValues.add(variableDescriptor)
} }
}
expression.acceptChildrenVoid(this) expression.acceptChildrenVoid(this)
} }