ArchiMetrics.Analysis.Metrics.TypeClassCouplingAnalyzer.VisitClassDeclaration C# (CSharp) Method

VisitClassDeclaration() public method

public VisitClassDeclaration ( Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax node ) : void
node Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax
return void
		public override void VisitClassDeclaration(ClassDeclarationSyntax node)
		{
			base.VisitClassDeclaration(node);
			if (node.BaseList != null)
			{
				var symbol = node.BaseList.Types
								 .Select(x => SemanticModel.GetSymbolInfo(x))
								 .Where(x => (x.Symbol != null) && (x.Symbol.Kind == SymbolKind.NamedType))
								 .Select(x => x.Symbol)
								 .OfType<INamedTypeSymbol>()
								 .FirstOrDefault();
				if (symbol != null)
				{
					FilterTypeSymbol(symbol);
				}
			}
		}