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); return new Tuple<Compilation, ITypeMetric>( compilation, metrics); } return null; }