public virtual Differences VisitQueryPosition(QueryPosition position1, QueryPosition position2){ Differences differences = new Differences(position1, position2); if (position1 == null || position2 == null){ if (position1 != position2) differences.NumberOfDifferences++; else differences.NumberOfSimilarities++; return differences; } QueryPosition changes = (QueryPosition)position2.Clone(); QueryPosition deletions = (QueryPosition)position2.Clone(); QueryPosition insertions = (QueryPosition)position2.Clone(); //position1.Context; 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 VisitQueryPosition(QueryPosition position){ if (position == null) return null; return base.VisitQueryPosition((QueryPosition)position.Clone()); }