/// <summary> /// Creates a new compilation by attaching diagnostic analyzers to an existing compilation. /// </summary> /// <param name="compilation">The original compilation.</param> /// <param name="analyzers">The set of analyzers to include in future analyses.</param> /// <param name="options">Options that are passed to analyzers.</param> /// <param name="cancellationToken">A cancellation token that can be used to abort analysis.</param> public CompilationWithAnalyzers(Compilation compilation, ImmutableArray <DiagnosticAnalyzer> analyzers, AnalyzerOptions options, CancellationToken cancellationToken) { if (compilation == null) { throw new ArgumentNullException(nameof(compilation)); } VerifyAnalyzersArgument(analyzers); _cancellationToken = cancellationToken; _exceptionDiagnostics = new ConcurrentSet <Diagnostic>(); _driver = AnalyzerDriver.Create(compilation, analyzers, options, AnalyzerManager.Instance, AddExceptionDiagnostic, false, out _compilation, _cancellationToken); }
/// <summary> /// Creates a new compilation by attaching diagnostic analyzers to an existing compilation. /// </summary> /// <param name="compilation">The original compilation.</param> /// <param name="analyzers">The set of analyzers to include in future analyses.</param> /// <param name="options">Options that are passed to analyzers.</param> /// <param name="cancellationToken">A cancellation token that can be used to abort analysis.</param> public CompilationWithAnalyzers(Compilation compilation, ImmutableArray <DiagnosticAnalyzer> analyzers, AnalyzerOptions options, CancellationToken cancellationToken) { _cancellationToken = cancellationToken; _exceptionDiagnostics = new ConcurrentSet <Diagnostic>(); _driver = AnalyzerDriver.Create(compilation, analyzers, options, AnalyzerManager.Instance, AddExceptionDiagnostic, out _compilation, _cancellationToken); }
/// <summary> /// Creates a new compilation by attaching diagnostic analyzers to an existing compilation. /// </summary> /// <param name="compilation">The original compilation.</param> /// <param name="analyzers">The set of analyzers to include in future analyses.</param> /// <param name="options">Options that are passed to analyzers.</param> /// <param name="cancellationToken">A cancellation token that can be used to abort analysis.</param> public CompilationWithAnalyzers(Compilation compilation, ImmutableArray <DiagnosticAnalyzer> analyzers, AnalyzerOptions options, CancellationToken cancellationToken) { _cancellationToken = cancellationToken; _driver = AnalyzerDriver.Create(compilation, analyzers, options, out _compilation, _cancellationToken); }