Exemplo n.º 1
0
        protected virtual BoundExpression RewriteCompoundAssignmentExpression(BoundCompoundAssignmentExpression node)
        {
            var boundVariableExpression   = new BoundVariableExpression(node.Variable);
            var boundBinaryExpression     = new BoundBinaryExpression(boundVariableExpression, node.Op, node.Expression);
            var boundAssignmentExpression = new BoundAssignmentExpression(node.Variable, boundBinaryExpression);

            return(RewriteAssignmentExpression(boundAssignmentExpression));
        }
Exemplo n.º 2
0
 private static void WriteCompoundAssignmentExpression(BoundCompoundAssignmentExpression node, IndentedTextWriter writer)
 {
     writer.WriteIdentifier(node.Variable.Name);
     writer.WriteSpace();
     writer.WritePunctuation(node.Op.SyntaxKind);
     writer.WritePunctuation(SyntaxKind.EqualsToken);
     writer.WriteSpace();
     node.Expression.WriteTo(writer);
 }
Exemplo n.º 3
0
        protected virtual BoundExpression RewriteCompoundAssignmentExpression(BoundCompoundAssignmentExpression node)
        {
            var expression = RewriteExpression(node.Expression);

            if (expression == node.Expression)
            {
                return(node);
            }

            return(new BoundCompoundAssignmentExpression(node.Syntax, node.Variable, node.Op, expression));
        }