ArchiMetrics.Analysis.CodeMetricsCalculator.GetTypeDeclarations C# (CSharp) Метод

GetTypeDeclarations() приватный статический Метод

private static GetTypeDeclarations ( ArchiMetrics.Analysis.Metrics.NamespaceDeclaration namespaceDeclaration ) : IEnumerable
namespaceDeclaration ArchiMetrics.Analysis.Metrics.NamespaceDeclaration
Результат IEnumerable
		private static IEnumerable<TypeDeclaration> GetTypeDeclarations(NamespaceDeclaration namespaceDeclaration)
		{
			var collector = new TypeCollector();
			return namespaceDeclaration.SyntaxNodes
				.Select(info =>
				{
					Func<TypeDeclarationSyntax, TypeDeclarationSyntaxInfo> selector =
						x => new TypeDeclarationSyntaxInfo(info.CodeFile, x.SyntaxTree == null ? x.Identifier.ValueText : x.GetName(x.SyntaxTree.GetRoot()), x);
					return new { info, selector };
				})
				.SelectMany(x => collector.GetTypes(x.info.Syntax).Select(x.selector))
				.GroupBy(x => x.Name)
				.Select(x => new TypeDeclaration { Name = x.Key, SyntaxNodes = x });
		}