public static void Visit(this AssemblyChanges changes, params IChangeVisitor[] visitors) { foreach (IChangeVisitor changeVisitor in visitors) { changeVisitor.Visit(changes); } }
protected void ApiChangesDetermined() { using (var assembly1Stream = File.Open(OldAssemblyPath, FileMode.Open)) using (var assembly2Stream = File.Open(NewAssemblyPath, FileMode.Open)) { var changeBuilder = new AssemblyChangesBuilder(); AssemblyChanges = changeBuilder.GetChanges(assembly1Stream, assembly2Stream); } }
public virtual void Visit(AssemblyChanges assemblyChanges) { var context = new ModuleChangeContext(assemblyChanges); foreach (var moduleChange in assemblyChanges.ModuleChanges) { if (Visit(moduleChange, context) != VisitResult.Continue) { return; } } }
private static IEnumerable <BreakingChange> CompareAssemblies(string oldAssemblyPath, string newAssemblyPath) { using (var oldAssembly = File.Open(oldAssemblyPath, FileMode.Open)) using (var newAssembly = File.Open(newAssemblyPath, FileMode.Open)) { var changesBuilder = new AssemblyChangesBuilder(); AssemblyChanges changes = changesBuilder.GetChanges(oldAssembly, newAssembly); var breakingChangeVisitor = new BreakingChangeVisitor(); changes.Visit(breakingChangeVisitor); return(breakingChangeVisitor.BreakingChanges); } }
public ModuleChangeContext(AssemblyChanges assemblyChanges) { _assemblyChanges = assemblyChanges; }
public ParameterChangeContext(AssemblyChanges assemblyChanges, ModuleChange parentModuleChange, TypeChange parentTypeChange, MethodGroupChange parentMethodGroupChange, MethodChange parentMethodChange) : base(assemblyChanges, parentModuleChange, parentTypeChange, parentMethodGroupChange) { _parentMethodChange = parentMethodChange; }
public TypeChangeContext(AssemblyChanges assemblyChanges, ModuleChange parentModuleChange) : base(assemblyChanges) { _parentModuleChange = parentModuleChange; }