/// <inheritdoc /> public override void Initialize(AnalysisContext context) { context.EnableConcurrentExecution(); context.ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags.None); context.RegisterCompilationStartAction(compilationStartAnalysisContext => { var compilationAnalyzer = new CompilationAnalyzer(compilationStartAnalysisContext.Compilation); compilationStartAnalysisContext.RegisterSyntaxTreeAction(systaxTreeContext => compilationAnalyzer.Analyze(systaxTreeContext)); compilationStartAnalysisContext.RegisterCompilationEndAction(compilationEndContext => compilationAnalyzer.Evaluate(compilationEndContext)); }); }
/// <inheritdoc /> public override void Initialize(AnalysisContext context) { context.EnableConcurrentExecution(); context.ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags.None); context.RegisterCompilationStartAction(compilationStartAnalysisContext => { var whitelistedTypes = AnalyzerHelper.WhiteListedTypeNames .Select(compilationStartAnalysisContext.Compilation.GetTypeByMetadataName) .ToArray(); var compilationAnalyzer = new CompilationAnalyzer(whitelistedTypes); compilationStartAnalysisContext.RegisterSyntaxNodeAction(nodeAnalysisContext => compilationAnalyzer.Analyze(nodeAnalysisContext), SyntaxKind.IdentifierName); compilationStartAnalysisContext.RegisterCompilationEndAction(compilationEndContext => compilationAnalyzer.Evaluate(compilationEndContext)); }); }