public virtual Differences VisitQueryYielder(QueryYielder yielder1, QueryYielder yielder2){ Differences differences = new Differences(yielder1, yielder2); if (yielder1 == null || yielder2 == null){ if (yielder1 != yielder2) differences.NumberOfDifferences++; else differences.NumberOfSimilarities++; return differences; } QueryYielder changes = (QueryYielder)yielder2.Clone(); QueryYielder deletions = (QueryYielder)yielder2.Clone(); QueryYielder insertions = (QueryYielder)yielder2.Clone(); // yielder1.Body; // yielder1.Source; // yielder1.State; // yielder1.Target; 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 VisitQueryYielder(QueryYielder yielder){ if (yielder == null) return null; return base.VisitQueryYielder((QueryYielder)yielder.Clone()); }