public override void Initialize(AnalysisContext context) { context.RegisterSyntaxNodeAction( c => { LiteralExpressionSyntax literalNode = (LiteralExpressionSyntax)c.Node; if (!literalNode.IsPartOfStructuredTrivia() && !literalNode.Ancestors().Any(e => e.IsKind(SyntaxKind.VariableDeclarator) || e.IsKind(SyntaxKind.EnumDeclaration) || e.IsKind(SyntaxKind.Attribute)) && !Exceptions.Contains(literalNode.Token.Text)) { c.ReportDiagnostic(Diagnostic.Create(Rule, literalNode.GetLocation())); } }, SyntaxKind.NumericLiteralExpression); }