[JS IR BE] Don't detach assignment operator from receiver

This commit is contained in:
Svyatoslav Kuzmich
2019-05-19 20:49:26 +03:00
parent 5495da5241
commit dd6bc100ed
@@ -596,10 +596,9 @@ class BlockDecomposerTransformer(private val context: JsIrBackendContext) : IrEl
receiver is IrDynamicMemberExpression ||
(receiver is IrDynamicOperatorExpression && receiver.operator == IrDynamicOperator.ARRAY_ACCESS)
val operatorDependsOnMemberAccess =
operator.isAssignmentOperator || operator == IrDynamicOperator.INVOKE
val operatorDependsOnMemberAccess = (operator == IrDynamicOperator.INVOKE)
return receiverIsMemberAccess && operatorDependsOnMemberAccess
return operator.isAssignmentOperator || (receiverIsMemberAccess && operatorDependsOnMemberAccess)
}
override fun visitContainerExpression(expression: IrContainerExpression): IrExpression {