private static HostGraphNode CreateHostGraph(AnalyzedProjectInfo project, List <HostGraphNode> nodes) { var node = new HostGraphNode(project); nodes.Add(node); (project.Referenders ?? project.RequiredAddOns).ForEach(reqProj => { var reqNode = nodes.FirstOrDefault(n => n.ProjectInfo.Equals(reqProj)) ?? CreateHostGraph(reqProj, nodes); reqNode.Parents.Add(node); node.Children.Add(reqNode); }); return(node); }
private static bool FittingAddOnHost(HostGraphNode node) { return(node.Type.Equals(HostGraphNodeType.AddOn) && node.Children.Count == 0); }
private static bool AddOnWithNoChildrenAndNoParentLibraries(HostGraphNode node) { return(node.Type.Equals(HostGraphNodeType.AddOn) && node.Children.Count == 0 && node.Parents.Count(p => p.Type.Equals(HostGraphNodeType.AddOn)).Equals(1)); }