override TExpression VisitLabel(LabelExpressionAlias node) { if (node == null) { throw new ArgumentNullException(nameof(node)); } var t = VisitIfNotNull(node.Target, VisitLabelTarget); var d = Visit(node.DefaultValue); return(MakeLabel(node, t, d)); }
/// <summary> /// Makes an expression representing a LabelExpression with the given children. /// </summary> /// <param name="node">Original expression.</param> /// <param name="target">Target label.</param> /// <param name="defaultValue">Default value expression.</param> /// <returns>Representation of the original expression.</returns> protected abstract TExpression MakeLabel(LabelExpressionAlias node, TLabelTarget target, TExpression defaultValue);