public virtual Differences VisitQueryTypeFilter(QueryTypeFilter filter1, QueryTypeFilter filter2){ Differences differences = new Differences(filter1, filter2); if (filter1 == null || filter2 == null){ if (filter1 != filter2) differences.NumberOfDifferences++; else differences.NumberOfSimilarities++; return differences; } QueryTypeFilter changes = (QueryTypeFilter)filter2.Clone(); QueryTypeFilter deletions = (QueryTypeFilter)filter2.Clone(); QueryTypeFilter insertions = (QueryTypeFilter)filter2.Clone(); // filter1.Constraint; // filter1.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 VisitQueryTypeFilter(QueryTypeFilter filter){ if (filter == null) return null; return base.VisitQueryTypeFilter((QueryTypeFilter)filter.Clone()); }