override TExpression VisitGoto(GotoExpressionAlias node) { if (node == null) { throw new ArgumentNullException(nameof(node)); } var t = VisitIfNotNull(node.Target, VisitLabelTarget); var v = Visit(node.Value); return(MakeGoto(node, t, v)); }
/// <summary> /// Makes an expression representing a GotoExpression with the given children. /// </summary> /// <param name="node">Original expression.</param> /// <param name="target">Target label.</param> /// <param name="value">Value expression.</param> /// <returns>Representation of the original expression.</returns> protected abstract TExpression MakeGoto(GotoExpressionAlias node, TLabelTarget target, TExpression value);