private async Task<Tuple<Compilation, ITypeMetric>> CalculateTypeMetrics(Solution solution, Compilation compilation, TypeDeclaration typeNodes, IEnumerable<IMemberMetric> memberMetrics)
{
if (typeNodes.SyntaxNodes.Any())
{
var tuple = await VerifyCompilation(compilation, typeNodes.SyntaxNodes.First()).ConfigureAwait(false);
var semanticModel = tuple.Item2;
compilation = tuple.Item1;
var typeNode = tuple.Item3;
var calculator = new TypeMetricsCalculator(semanticModel, solution, _typeDocumentationFactory);
var metrics = await calculator.CalculateFrom(typeNode, memberMetrics).ConfigureAwait(false);
return new Tuple<Compilation, ITypeMetric>(
compilation,
metrics);
}
return null;
}