Ejemplo n.º 1
0
        private static void WriteBinaryExpression(BoundBinaryExpression node, IndentedTextWriter writer)
        {
            var precedence = SyntaxFacts.BinaryOperatorPrecedence(node.Op.TokenKind);

            writer.WriteNestedExpression(precedence, node.Left);
            writer.WriteSpace();
            writer.WritePunctuation(node.Op.TokenKind);
            writer.WriteSpace();
            writer.WriteNestedExpression(precedence, node.Right);
        }
Ejemplo n.º 2
0
 private static void WriteNestedExpression(
     this IndentedTextWriter writer,
     int parentPrecedence,
     BoundExpression expression)
 {
     if (expression is BoundUnaryExpression unary)
     {
         writer.WriteNestedExpression(
             parentPrecedence, SyntaxFacts.UnaryOperatorPrecedence(unary.Op.TokenKind), unary);
     }
     else if (expression is BoundBinaryExpression binary)
     {
         writer.WriteNestedExpression(
             parentPrecedence, SyntaxFacts.BinaryOperatorPrecedence(binary.Op.TokenKind), binary);
     }
     else
     {
         expression.WriteTo(writer);
     }
 }