public virtual Differences VisitQueryIterator(QueryIterator iterator1, QueryIterator iterator2){ Differences differences = new Differences(iterator1, iterator2); if (iterator1 == null || iterator2 == null){ if (iterator1 != iterator2) differences.NumberOfDifferences++; else differences.NumberOfSimilarities++; return differences; } QueryIterator changes = (QueryIterator)iterator2.Clone(); QueryIterator deletions = (QueryIterator)iterator2.Clone(); QueryIterator insertions = (QueryIterator)iterator2.Clone(); // iterator1.ElementType; // iterator1.Expression; // iterator1.HintList; // iterator1.Name; 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 VisitQueryIterator(QueryIterator xiterator){ if (xiterator == null) return xiterator; return base.VisitQueryIterator((QueryIterator)xiterator.Clone()); }