Example #1
0
 private static void ReportDiagnostic(
     SyntaxNodeAnalysisContext context,
     MemberDeclarationSyntax memberDeclaration,
     SyntaxTokenList modifiers,
     SyntaxToken token)
 {
     if (!memberDeclaration.ContainsDirectives(modifiers.Span))
     {
         if (!modifiers.ContainsAccessModifier() ||
             memberDeclaration.GetDeclaredAccessibility() != Accessibility.ProtectedOrInternal ||
             AreTokensNextToEachOther(modifiers, SyntaxKind.ProtectedKeyword, SyntaxKind.InternalKeyword))
         {
             context.ReportDiagnostic(
                 DiagnosticDescriptors.OverridingMemberCannotChangeAccessModifiers,
                 token);
         }
     }
 }