ArchiMetrics.Analysis.Metrics.TypeMetricsCalculator.CalculateClassCoupling C# (CSharp) Method

CalculateClassCoupling() private method

private CalculateClassCoupling ( Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax type, IEnumerable memberMetrics ) : IEnumerable
type Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax
memberMetrics IEnumerable
return IEnumerable
		private IEnumerable<ITypeCoupling> CalculateClassCoupling(TypeDeclarationSyntax type, IEnumerable<IMemberMetric> memberMetrics)
		{
			var second = new TypeClassCouplingAnalyzer(Model).Calculate(type);
			return memberMetrics.SelectMany(x => x.ClassCouplings)
				.Concat(second)
				.GroupBy(x => x.ToString())
				.Select(x => new TypeCoupling(x.First().TypeName, x.First().Namespace, x.First().Assembly, x.SelectMany(y => y.UsedMethods), x.SelectMany(y => y.UsedProperties), x.SelectMany(y => y.UsedEvents)))
				.OrderBy(x => x.TypeName)
				.AsArray();
		}