Exemplo n.º 1
0
    public virtual Differences VisitQueryIntersection(QueryIntersection intersection1, QueryIntersection intersection2){
      Differences differences = new Differences(intersection1, intersection2);
      if (intersection1 == null || intersection2 == null){
        if (intersection1 != intersection2) differences.NumberOfDifferences++; else differences.NumberOfSimilarities++;
        return differences;
      }
      QueryIntersection changes = (QueryIntersection)intersection2.Clone();
      QueryIntersection deletions = (QueryIntersection)intersection2.Clone();
      QueryIntersection insertions = (QueryIntersection)intersection2.Clone();

      //      intersection1.LeftSource;
      //      intersection1.RightSource;

      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;
    }
Exemplo n.º 2
0
 public override Node VisitQueryIntersection(QueryIntersection intersection){
   if (intersection == null) return intersection;
   return base.VisitQueryIntersection((QueryIntersection)intersection.Clone());
 }