override TExpression VisitConditional(ConditionalExpressionAlias node) { if (node == null) { throw new ArgumentNullException(nameof(node)); } var t = Visit(node.Test); var p = Visit(node.IfTrue); var n = Visit(node.IfFalse); return(MakeConditional(node, t, p, n)); }
/// <summary> /// Makes an expression representing a ConditionalExpression with the given children. /// </summary> /// <param name="node">Original expression.</param> /// <param name="test">Test expression.</param> /// <param name="ifTrue">True branch expression.</param> /// <param name="ifFalse">False branch expression.</param> /// <returns>Representation of the original expression.</returns> protected abstract TExpression MakeConditional(ConditionalExpressionAlias node, TExpression test, TExpression ifTrue, TExpression ifFalse);