public override void Visit(Dependency dependency) { base.Visit(dependency); Externals.Assemble(dependency, this.ExternalDependencies); Links.Assemble(dependency, this.Linkings); SLOC.Assemble(dependency, this.SLOCs); Structure.Assemble(dependency, this.Linkings, this.Structures); }
private void Add(Externals externals) { foreach (var dep in externals.Merged) { this.Add(dep); } var num = externals.MaxInTree; if (this.MaxInTree < num) { this.MaxInTree = num; } }
public static void Assemble(Dependency dependency, Dictionary <Dependency, Externals> externals) { var ext = new Externals(dependency); externals[dependency] = ext; foreach (var dep in dependency.Dependencies) { ext.Add(dep); } ext.SetMax(); foreach (var child in dependency.Children) { ext.Add(externals[child]); } }