using System; using System.Collections.Generic; using System.Text; namespace System.Data.Linq.SqlClient { /// /// Walk a tree and return the set of unique aliases it produces. /// class SqlGatherProducedAliases { internal static HashSet Gather(SqlNode node) { Gatherer g = new Gatherer(); g.Visit(node); return g.Produced; } private class Gatherer : SqlVisitor { internal HashSet Produced = new HashSet(); internal override SqlAlias VisitAlias(SqlAlias a) { Produced.Add(a); return base.VisitAlias(a); } } } }