Пример #1
0
        internal static void Analyze(SyntaxNodeAnalysisContext context, PropertyDeclarationSyntax propertyDeclaration)
        {
            SyntaxTokenList modifiers = propertyDeclaration.Modifiers;

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