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);
}
}
}
}