/// <summary> /// Rewrites a unary expression. /// </summary> /// <param name="node">The unary expression to rewrite.</param> /// <returns>The rewritten unary expression.</returns> protected virtual BoundExpression RewriteUnaryExpression(BoundUnaryExpression node) { var operand = RewriteExpression(node.Operand); if (operand == node.Operand) { return(node); } return(new BoundUnaryExpression(node.Op, operand)); }