public static BoundExpressionStatement Decrement(SyntaxNode syntax, BoundVariableExpression varExpr) { var incrByOne = Sub(syntax, varExpr, Literal(syntax, 1)); var incrAssign = new BoundAssignmentExpression(syntax, varExpr.Variable, incrByOne); return(new BoundExpressionStatement(syntax, incrAssign)); }
private static void WriteAssignmentExpression(BoundAssignmentExpression node, IndentedTextWriter writer) { writer.WriteIdentifier(node.Variable.Name); writer.WriteSpace(); writer.WritePunctuation(SyntaxKind.EqToken); writer.WriteSpace(); node.Expression.WriteTo(writer); }
protected virtual BoundExpression RewriteAssignmentExpression(BoundAssignmentExpression node) { var expression = this.RewriteExpression(node.Expression); if (expression == node.Expression) { return(node); } return(new BoundAssignmentExpression(node.Syntax, node.Variable, expression)); }