[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 IrDynamicMemberExpression ||
(receiver is IrDynamicOperatorExpression && receiver.operator == IrDynamicOperator.ARRAY_ACCESS) (receiver is IrDynamicOperatorExpression && receiver.operator == IrDynamicOperator.ARRAY_ACCESS)
val operatorDependsOnMemberAccess = val operatorDependsOnMemberAccess = (operator == IrDynamicOperator.INVOKE)
operator.isAssignmentOperator || operator == IrDynamicOperator.INVOKE
return receiverIsMemberAccess && operatorDependsOnMemberAccess return operator.isAssignmentOperator || (receiverIsMemberAccess && operatorDependsOnMemberAccess)
} }
override fun visitContainerExpression(expression: IrContainerExpression): IrExpression { override fun visitContainerExpression(expression: IrContainerExpression): IrExpression {