public override void Initialize(AnalysisContext context) { context.RegisterCompilationStartAction(compilationContext => { INamedTypeSymbol diagnosticDescriptorType = compilationContext.Compilation.GetTypeByMetadataName(DiagnosticAnalyzerCorrectnessAnalyzer.DiagnosticDescriptorFullName); if (diagnosticDescriptorType == null) { return; } CompilationAnalyzer analyzer = GetAnalyzer(compilationContext.Compilation, diagnosticDescriptorType); if (analyzer == null) { return; } compilationContext.RegisterSyntaxNodeAction(c => analyzer.AnalyzeObjectCreation(c), SyntaxKindsOfInterest); }); }