Beispiel #1
0
        internal static void Analyze(SyntaxNodeAnalysisContext context, IndexerDeclarationSyntax indexerDeclaration)
        {
            SyntaxTokenList modifiers = indexerDeclaration.Modifiers;

            if (modifiers.Contains(SyntaxKind.OverrideKeyword) &&
                !modifiers.Contains(SyntaxKind.SealedKeyword) &&
                indexerDeclaration
                .AccessorList?
                .Accessors
                .All(accessor => CanRefactor(indexerDeclaration, accessor, context.SemanticModel, context.CancellationToken)) == true &&
                !indexerDeclaration.ContainsDirectives)
            {
                context.ReportDiagnostic(
                    DiagnosticDescriptors.RemoveRedundantOverridingMember,
                    indexerDeclaration,
                    indexerDeclaration.GetTitle());
            }
        }