Exemplo n.º 1
0
        private static SyntaxTokenList CreateModifiers(SyntaxTokenList modifiers)
        {
            modifiers = RemoveVirtualKeywordIfPresent(modifiers);

            modifiers = AddAbstractKeywordIfNotPresent(modifiers);

            if (!ModifierComparer.IsListSorted(modifiers))
            {
                modifiers = TokenList(modifiers.OrderBy(f => f, ModifierComparer.Instance));
            }

            return(modifiers);
        }
        public static void Analyze(SyntaxNodeAnalysisContext context, MemberDeclarationSyntax declaration)
        {
            SyntaxTokenList modifiers = declaration.GetModifiers();

            if (modifiers.Count > 1 &&
                !ModifierComparer.IsListSorted(modifiers) &&
                !declaration.ContainsDirectives(modifiers.Span))
            {
                context.ReportDiagnostic(
                    DiagnosticDescriptors.ReorderModifiers,
                    Location.Create(context.Node.SyntaxTree, modifiers.Span));
            }
        }