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); } } }