示例#1
0
 protected override void RegisterAttributeSyntaxAction(
     CompilationStartAnalysisContext context,
     CompilationAnalyzer compilationAnalyzer
     )
 {
     context.RegisterSyntaxNodeAction(
         context =>
     {
         var attributeList = (AttributeListSyntax)context.Node;
         switch (attributeList.Target?.Identifier.Kind())
         {
         case SyntaxKind.AssemblyKeyword:
         case SyntaxKind.ModuleKeyword:
             foreach (var attribute in attributeList.Attributes)
             {
                 compilationAnalyzer.AnalyzeAssemblyOrModuleAttribute(
                     attribute,
                     context.SemanticModel,
                     context.ReportDiagnostic,
                     context.CancellationToken
                     );
             }
             break;
         }
     },
         SyntaxKind.AttributeList
         );
 }