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)); } }