public void GetAnalyzerTelemetry() { var compilation = CSharpCompilation.Create("c", options: new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary)); DiagnosticAnalyzer analyzer = new AnalyzerWithDisabledRules(); var analyzers = ImmutableArray.Create(analyzer); var analyzerOptions = new AnalyzerOptions(ImmutableArray<AdditionalText>.Empty); var compWithAnalyzers = new CompilationWithAnalyzers(compilation, analyzers, analyzerOptions, CancellationToken.None); var analysisResult = compWithAnalyzers.GetAnalysisResultAsync(CancellationToken.None).Result; Assert.Empty(analysisResult.CompilationDiagnostics); // Even though the analyzer registers a symbol action, it should never be invoked because all of its rules are disabled. var analyzerTelemetry = compWithAnalyzers.GetAnalyzerTelemetryInfoAsync(analyzer, CancellationToken.None).Result; Assert.Equal(0, analyzerTelemetry.SymbolActionsCount); }
public void GetAnalyzerTelemetry() { var compilation = CSharpCompilation.Create("c", options: new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary)); DiagnosticAnalyzer analyzer = new AnalyzerWithDisabledRules(); var analyzers = ImmutableArray.Create(analyzer); var analyzerOptions = new AnalyzerOptions(ImmutableArray <AdditionalText> .Empty); var compWithAnalyzers = new CompilationWithAnalyzers(compilation, analyzers, analyzerOptions, CancellationToken.None); var analysisResult = compWithAnalyzers.GetAnalysisResultAsync(CancellationToken.None).Result; Assert.Empty(analysisResult.CompilationDiagnostics); // Even though the analyzer registers a symbol action, it should never be invoked because all of its rules are disabled. var analyzerTelemetry = compWithAnalyzers.GetAnalyzerTelemetryInfoAsync(analyzer, CancellationToken.None).Result; Assert.Equal(0, analyzerTelemetry.SymbolActionsCount); }