e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
26 lines
657 B
C#
26 lines
657 B
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
|
|
namespace System.Data.Linq.SqlClient {
|
|
/// <summary>
|
|
/// Walk a tree and return the set of unique aliases it produces.
|
|
/// </summary>
|
|
class SqlGatherProducedAliases {
|
|
internal static HashSet<SqlAlias> Gather(SqlNode node) {
|
|
Gatherer g = new Gatherer();
|
|
g.Visit(node);
|
|
return g.Produced;
|
|
}
|
|
|
|
private class Gatherer : SqlVisitor {
|
|
internal HashSet<SqlAlias> Produced = new HashSet<SqlAlias>();
|
|
internal override SqlAlias VisitAlias(SqlAlias a) {
|
|
Produced.Add(a);
|
|
return base.VisitAlias(a);
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|