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;
    }
Esempio n. 2
0
 public override Node VisitQueryIterator(QueryIterator xiterator){
   if (xiterator == null) return xiterator;
   return base.VisitQueryIterator((QueryIterator)xiterator.Clone());
 }