private void DiffMethods(QueryAggregator diffQueries) { var methodsV1 = diffQueries.ExecuteAndAggregateMethodQueries(this.TypeV1); var methodsV2 = diffQueries.ExecuteAndAggregateMethodQueries(this.TypeV2); var differ = new ListDiffer <MethodDefinition>(this.CompareMethodByNameAndTypesIncludingGenericArguments); differ.Diff(methodsV1, methodsV2, added => { this.Methods.Add(new DiffResult <MethodDefinition>(added, new DiffOperation(true))); }, removed => { this.Methods.Add(new DiffResult <MethodDefinition>(removed, new DiffOperation(false))); }); }
private void DiffEvents(QueryAggregator diffQueries) { var eventsV1 = diffQueries.ExecuteAndAggregateEventQueries(this.TypeV1); var eventsV2 = diffQueries.ExecuteAndAggregateEventQueries(this.TypeV2); var differ = new ListDiffer <EventDefinition>(this.CompareEvents); differ.Diff(eventsV1, eventsV2, added => { this.Events.Add(new DiffResult <EventDefinition>(added, new DiffOperation(true))); }, removed => { this.Events.Add(new DiffResult <EventDefinition>(removed, new DiffOperation(false))); }); }
private void DiffFields(QueryAggregator diffQueries) { var fieldsV1 = diffQueries.ExecuteAndAggregateFieldQueries(this.TypeV1); var fieldsV2 = diffQueries.ExecuteAndAggregateFieldQueries(this.TypeV2); var fieldDiffer = new ListDiffer <FieldDefinition>(this.CompareFieldsByTypeAndName); fieldDiffer.Diff(fieldsV1, fieldsV2, addedField => { this.Fields.Add(new DiffResult <FieldDefinition>(addedField, new DiffOperation(true))); }, removedField => { this.Fields.Add(new DiffResult <FieldDefinition>(removedField, new DiffOperation(false))); }); }
public AssemblyDiffCollection GenerateTypeDiff(QueryAggregator queries) { if (queries == null || queries.TypeQueries.Count == 0) { throw new ArgumentNullException("queries is null or contains no queries"); } List <TypeDefinition> typesV1 = queries.ExeuteAndAggregateTypeQueries(myV1); List <TypeDefinition> typesV2 = queries.ExeuteAndAggregateTypeQueries(myV2); ListDiffer <TypeDefinition> differ = new ListDiffer <TypeDefinition>(ShallowTypeComapare); differ.Diff(typesV1, typesV2, OnAddedType, OnRemovedType); DiffTypes(typesV1, typesV2, queries); return(myDiff); }
public AssemblyDiffCollection GenerateTypeDiff(QueryAggregator queries) { if (queries == null || queries.TypeQueries.Count == 0) { throw new ArgumentNullException("queries is null or contains no queries"); } var typesV1 = queries.ExeuteAndAggregateTypeQueries(this.myV1); var typesV2 = queries.ExeuteAndAggregateTypeQueries(this.myV2); var differ = new ListDiffer<TypeDefinition>(this.ShallowTypeComapare); differ.Diff(typesV1, typesV2, this.OnAddedType, this.OnRemovedType); this.DiffTypes(typesV1, typesV2, queries); return this.myDiff; }