private ActionBlock OnAssign(AssignActionBlock block) { var assign = block.AssignExpression; var variable = assign.Target as VariableReferenceExpression; if (variable == null) CannotOptimize(assign); if (HasBeenAlreadyAssignedTo(variable)) CannotOptimize(assign.Expression); _variables.Add(GetVariableIndex(variable), assign.Expression); return block.Next; }
void WriteAssign (AssignActionBlock block) { WriteExpression (block.AssignExpression); }