protected override void Initialize(SonarAnalysisContext context) { context.RegisterSyntaxNodeActionInNonGenerated(c => { var classDeclaration = (ClassDeclarationSyntax)c.Node; var checker = new DisposableChecker(classDeclaration, c.SemanticModel); var locations = checker.GetIssueLocations(); if (locations.Any()) { c.ReportDiagnosticWhenActive(Diagnostic.Create(rule, classDeclaration.Identifier.GetLocation(), locations.ToAdditionalLocations(), locations.ToProperties())); } }, SyntaxKind.ClassDeclaration); }