public virtual Differences VisitQueryProject(QueryProject project1, QueryProject project2){ Differences differences = new Differences(project1, project2); if (project1 == null || project2 == null){ if (project1 != project2) differences.NumberOfDifferences++; else differences.NumberOfSimilarities++; return differences; } QueryProject changes = (QueryProject)project2.Clone(); QueryProject deletions = (QueryProject)project2.Clone(); QueryProject insertions = (QueryProject)project2.Clone(); // project1.Context; // project1.Members; // project1.ProjectedType; // project1.ProjectionList; 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 VisitQueryProject(QueryProject project){ if (project == null) return null; return base.VisitQueryProject((QueryProject)project.Clone()); }