protected override TypeMetricsReport AnalyzeType(INamedTypeDefinition type, PdbReader pdb, IEnumerable <MethodMetricsReport> methods) { return(new TypeMetricsReport { Name = type.Name(), FullName = type.FullName(), SourceLocation = SourceCodeLocating.OfType(type, pdb), Namespaces = type.Namespaces(), CompilerGenerated = type.IsGeneratedCode(), NumberOfFields = NumberOfFields.Of(type), NumberOfNonStaticPublicFields = NumberOfFields.NotStaticAndPublic(type), NumberOfMethods = NumberOfMethods.Of(type), DirectDependencies = DirectDependencies.Of(type, methods) }); }
private IEnumerable <CustomNodeDefinition> FindAllDependencies(HashSet <CustomNodeDefinition> dependencySet) { var query = DirectDependencies.Where(def => !dependencySet.Contains(def)); foreach (var definition in query) { yield return(definition); dependencySet.Add(definition); foreach (var def in definition.FindAllDependencies(dependencySet)) { yield return(def); } } }