protected virtual ColumnAssignment VisitColumnAssignment(ColumnAssignment ca) { ColumnExpression c = (ColumnExpression)this.Visit(ca.Column); Expression e = this.Visit(ca.Expression); return(this.UpdateColumnAssignment(ca, c, e)); }
protected ColumnAssignment UpdateColumnAssignment(ColumnAssignment ca, ColumnExpression c, Expression e) { if (c != ca.Column || e != ca.Expression) { return(new ColumnAssignment(c, e)); } return(ca); }
protected virtual ReadOnlyCollection <ColumnAssignment> VisitColumnAssignments(ReadOnlyCollection <ColumnAssignment> assignments) { List <ColumnAssignment> alternate = null; for (int i = 0, n = assignments.Count; i < n; i++) { ColumnAssignment assignment = this.VisitColumnAssignment(assignments[i]); if (alternate == null && assignment != assignments[i]) { alternate = assignments.Take(i).ToList(); } if (alternate != null) { alternate.Add(assignment); } } if (alternate != null) { return(alternate.AsReadOnly()); } return(assignments); }