public static MutableGraph<NamespaceMetricsWithTypeMetrics> WithNamespacesOf(MetricsReport metrics) { var namespaceGraph = metrics.GraphOfTypes.Cast(t => t.AsNamespaceWithTypes(), n => n.HasName); foreach (var namespaceGroup in namespaceGraph.Vertices.GroupBy(n => n.Namespace.Name)) namespaceGraph.Reduce(namespaceGroup.AsNamespaceWithTypes(), namespaceGroup); return namespaceGraph; }
public static void Of(MetricsReport metrics) { metrics.GraphOfNamespaces = CreateGraph.WithNamespacesOf(metrics); metrics.SetNamespacesWithCyclicDependencies(); }