Bari.Plugins.VsCore.Build.OptimizingBuildContextFactory.AddNewBranch C# (CSharp) Method

AddNewBranch() private method

private AddNewBranch ( ISet graph, IBuilder rootBuilder ) : void
graph ISet
rootBuilder IBuilder
return void
        void AddNewBranch(ISet<EquatableEdge<IBuilder>> graph, IBuilder rootBuilder)
        {
            log.DebugFormat("Adding new node: {0}", rootBuilder);
            graph.Add(new EquatableEdge<IBuilder>(rootBuilder, rootBuilder));
            foreach (var prereq in rootBuilder.Prerequisites)
            {
                var newEdge = new EquatableEdge<IBuilder>(rootBuilder, prereq);

                if (!graph.Contains(newEdge))
                {
                    AddEdge(graph, newEdge);
                    AddNewBranch(graph, prereq);
                }
            }
        }