void Visit2X(SqlWithClause element) { foreach (var t in element.Clauses) { Visit2(t); } }
void VisitX(SqlWithClause element) { foreach (var clause in element.Clauses) { Visit(clause); } }
public ICloneableElement Clone(Dictionary <ICloneableElement, ICloneableElement> objectTree, Predicate <ICloneableElement> doClone) { if (!doClone(this)) { return(this); } var clone = new SqlWithClause(); clone.Clauses.AddRange(Clauses.Select(c => (CteClause)c.Clone(objectTree, doClone))); objectTree.Add(this, clone); return(clone); }