/// <summary> /// Visits the outer joined. /// </summary> /// <param name="outer">The outer.</param> /// <returns></returns> protected virtual Expression VisitOuterJoined(OuterJoinedExpression outer) { var test = this.Visit(outer.Test); var expression = this.Visit(outer.Expression); return(this.UpdateOuterJoined(outer, test, expression)); }
/// <summary> /// Updates the outer joined. /// </summary> /// <param name="outer">The outer.</param> /// <param name="test">The test.</param> /// <param name="expression">The expression.</param> /// <returns></returns> protected OuterJoinedExpression UpdateOuterJoined(OuterJoinedExpression outer, Expression test, Expression expression) { if (test != outer.Test || expression != outer.Expression) { return(new OuterJoinedExpression(test, expression)); } return(outer); }
/// <summary> /// Visits the outer joined. /// </summary> /// <param name="outer">The outer.</param> /// <returns></returns> protected virtual Expression VisitOuterJoined(OuterJoinedExpression outer) { this.Write("Outer("); this.WriteLine(Indentation.Inner); this.Visit(outer.Test); this.Write(", "); this.WriteLine(Indentation.Same); this.Visit(outer.Expression); this.WriteLine(Indentation.Outer); this.Write(")"); return(outer); }