Esempio n. 1
0
 public InspectionValue(
     PackageInspectionResult result
     )
 {
     this.ExactPackageVersion = ArgumentValidator.ValidateNotEmpty(nameof(PackageInspectionResult.ExactPackageVersion), result.ExactPackageVersion);
     this.SuitableMethods     = result.SuitableMethods
                                .Where(m => m.MethodToken != 0)
                                .Select(m => new MethodInspectionInfo(m))
                                .ToImmutableArray();
 }
        private static IEnumerable <MetricsTableLine> GetTableLines(ProjectInspectionResult project, PackageInspectionResult result, IResultsFilter filter, int depth)
        {
            var(package, metrics) = result;

            if (filter.IsLineExcluded(package))
            {
                yield break;
            }

            yield return(CreateTableLine(package, metrics, depth));

            var children = project.PackageResults
                           .Where(r => r.Package.Parents?.Any(parent => parent.ID == package.ID) ?? false)
                           .OrderBy(r => r.Package.Name);

            foreach (var child in children)
            {
                foreach (var line in GetTableLines(project, child, filter, depth + 1))
                {
                    yield return(line);
                }
            }
        }