public virtual Differences VisitQuerySelect(QuerySelect select1, QuerySelect select2){ Differences differences = new Differences(select1, select2); if (select1 == null || select2 == null){ if (select1 != select2) differences.NumberOfDifferences++; else differences.NumberOfSimilarities++; return differences; } QuerySelect changes = (QuerySelect)select2.Clone(); QuerySelect deletions = (QuerySelect)select2.Clone(); QuerySelect insertions = (QuerySelect)select2.Clone(); // select1.Access; // select1.Direction; // select1.Source; if (differences.NumberOfDifferences == 0){ differences.Changes = null; differences.Deletions = null; differences.Insertions = null; }else{ differences.Changes = changes; differences.Deletions = deletions; differences.Insertions = insertions; } return differences; }
public override Node VisitQuerySelect(QuerySelect select){ if (select == null) return null; return base.VisitQuerySelect((QuerySelect)select.Clone()); }