Share via


CompilationWithAnalyzers 类

定义

public ref class CompilationWithAnalyzers
public class CompilationWithAnalyzers
type CompilationWithAnalyzers = class
Public Class CompilationWithAnalyzers
继承
CompilationWithAnalyzers

构造函数

CompilationWithAnalyzers(Compilation, ImmutableArray<DiagnosticAnalyzer>, AnalyzerOptions)

通过将诊断分析器附加到现有编译来创建新的编译。

CompilationWithAnalyzers(Compilation, ImmutableArray<DiagnosticAnalyzer>, AnalyzerOptions, CancellationToken)
已过时.

通过将诊断分析器附加到现有编译来创建新的编译。

CompilationWithAnalyzers(Compilation, ImmutableArray<DiagnosticAnalyzer>, CompilationWithAnalyzersOptions)

通过将诊断分析器附加到现有编译来创建新的编译。

属性

AnalysisOptions

用于配置分析器执行的选项。

Analyzers

要对编译执行的分析器。

CancellationToken
已过时.

可用于取消分析的可选取消标记。 注意:仅当为获取诊断调用的 API 不提供取消令牌时,才使用此令牌。

Compilation

基础 Compilation 为非 null Microsoft.CodeAnalysis.Compilation.EventQueue,用于驱动分析器执行。

方法

ClearAnalyzerState(ImmutableArray<DiagnosticAnalyzer>)
已过时.

当分析器主机释放给定 analyzers的 时,应调用此方法。 它清除缓存的内部状态 (分析器支持的描述符、已注册的操作、异常处理程序等 ) 。

GetAllDiagnosticsAsync()

返回由编译和所有 生成的所有Analyzers诊断。

GetAllDiagnosticsAsync(CancellationToken)

返回由编译和所有 生成的所有Analyzers诊断。

GetAnalysisResultAsync(AdditionalText, CancellationToken)

返回一个 AnalysisResult ,其中 AdditionalFileDiagnostics 填充了由所有 Analyzers 通过分析给定的附加 file生成的 。 对于此 CompilationWithAnalyzers 实例,给定file的 必须是 的AdditionalFilesAnalysisOptions一部分。 根据分析器的行为,可能不存在通过分析完整编译为文件报告的一些诊断。

GetAnalysisResultAsync(AdditionalText, ImmutableArray<DiagnosticAnalyzer>, CancellationToken)

返回一个 AnalysisResult ,它填充了 AdditionalFileDiagnostics 由给定 analyzers 分析给定的附加 file生成的 。 对于此 CompilationWithAnalyzers 实例,给定file的 必须是 的AdditionalFilesAnalysisOptions一部分。 根据分析器的行为,可能不存在通过分析完整编译为文件报告的一些诊断。

GetAnalysisResultAsync(AdditionalText, Nullable<TextSpan>, CancellationToken)

返回一个 AnalysisResult ,其中填充了 AdditionalFileDiagnostics 由所有 Analyzers 通过分析给定的 附加 file生成的 ,可以选择范围限定为 filterSpan。 对于此 CompilationWithAnalyzers 实例,给定file的 必须是 的AdditionalFilesAnalysisOptions一部分。 根据分析器的行为,可能不存在通过分析完整编译为文件报告的一些诊断。

GetAnalysisResultAsync(AdditionalText, Nullable<TextSpan>, ImmutableArray<DiagnosticAnalyzer>, CancellationToken)

返回一个 AnalysisResult ,它填充了 AdditionalFileDiagnostics 由 给定 analyzers 分析给定附加 file生成的 ,可以选择范围限定为 filterSpan。 对于此 CompilationWithAnalyzers 实例,给定file的 必须是 的AdditionalFilesAnalysisOptions一部分。 根据分析器的行为,可能不存在通过分析完整编译为文件报告的一些诊断。

GetAnalysisResultAsync(CancellationToken)

执行所有 Analyzers ,并返回与所有诊断和遥测信息对应的 AnalysisResult

GetAnalysisResultAsync(ImmutableArray<DiagnosticAnalyzer>, CancellationToken)

执行给定analyzers的 ,并返回与所有诊断和遥测信息对应的 AnalysisResult

GetAnalysisResultAsync(SemanticModel, Nullable<TextSpan>, CancellationToken)

返回一个 AnalysisResult ,其中填充了 SemanticDiagnostics 由所有 Analyzers 通过分析给定 model的 生成的 ,可以选择范围限定为 filterSpan。 根据分析器的行为,可能不存在通过分析整个编译为树报告的一些诊断。

GetAnalysisResultAsync(SemanticModel, Nullable<TextSpan>, ImmutableArray<DiagnosticAnalyzer>, CancellationToken)

返回一个 AnalysisResult ,它填充了 SemanticDiagnostics 由给定 analyzers 分析给定 model的 生成的 ,可以选择范围限定为 filterSpan。 根据分析器的行为,可能不存在通过分析整个编译为树报告的一些诊断。

GetAnalysisResultAsync(SyntaxTree, CancellationToken)

返回一个 AnalysisResult ,它填充了 SyntaxDiagnostics 所有 Analyzers 通过分析给定 tree的 生成的 。 根据分析器的行为,可能不存在通过分析整个编译为树报告的一些诊断。

GetAnalysisResultAsync(SyntaxTree, ImmutableArray<DiagnosticAnalyzer>, CancellationToken)

返回一个 AnalysisResult ,它填充SyntaxDiagnostics了通过分析给定 tree的 给定 analyzers 生成的 。 根据分析器的行为,可能不存在通过分析整个编译为树报告的一些诊断。

GetAnalysisResultAsync(SyntaxTree, Nullable<TextSpan>, CancellationToken)

返回一个 AnalysisResult ,其中填充了 SyntaxDiagnostics 由所有 Analyzers 通过分析给定 tree的 生成的 ,可以选择范围限定为 filterSpan。 根据分析器的行为,可能不存在通过分析整个编译为树报告的一些诊断。

GetAnalysisResultAsync(SyntaxTree, Nullable<TextSpan>, ImmutableArray<DiagnosticAnalyzer>, CancellationToken)

返回一个 AnalysisResult ,它填充了 SyntaxDiagnostics 由给定 analyzers 分析给定 tree生成的 ,可以选择范围限定为 filterSpan。 根据分析器的行为,可能不存在通过分析整个编译为树报告的一些诊断。

GetAnalyzerCompilationDiagnosticsAsync(CancellationToken)
已过时.

返回由所有 Analyzers的编译操作生成的诊断。

GetAnalyzerCompilationDiagnosticsAsync(ImmutableArray<DiagnosticAnalyzer>, CancellationToken)
已过时.

返回由给定 analyzers的编译操作生成的诊断。

GetAnalyzerDiagnosticsAsync()

返回由所有 Analyzers生成的诊断。

GetAnalyzerDiagnosticsAsync(CancellationToken)

返回由所有 Analyzers生成的诊断。

GetAnalyzerDiagnosticsAsync(ImmutableArray<DiagnosticAnalyzer>, CancellationToken)

返回给定 analyzers生成的诊断。

GetAnalyzerSemanticDiagnosticsAsync(SemanticModel, Nullable<TextSpan>, CancellationToken)

返回所有Analyzers从分析给定 model的 生成的语义诊断,可以选择范围限定为 filterSpan。 根据分析器的行为,可能不存在通过分析整个编译为树报告的一些诊断。

GetAnalyzerSemanticDiagnosticsAsync(SemanticModel, Nullable<TextSpan>, ImmutableArray<DiagnosticAnalyzer>, CancellationToken)

返回由给定 analyzers 的 生成的语义诊断,该语义通过分析给定 model的 (可选)范围限定为 filterSpan。 根据分析器的行为,可能不存在通过分析整个编译为树报告的一些诊断。

GetAnalyzerSyntaxDiagnosticsAsync(SyntaxTree, CancellationToken)

返回所有Analyzers通过分析给定 tree的 生成的语法诊断。 根据分析器的行为,返回诊断可能具有树外部的位置,并且可能不存在通过分析完整编译为树报告的一些诊断。

GetAnalyzerSyntaxDiagnosticsAsync(SyntaxTree, ImmutableArray<DiagnosticAnalyzer>, CancellationToken)

返回给定分析给定 analyzerstree时生成的语法诊断。 根据分析器的行为,返回诊断可能具有树外部的位置,并且可能不存在通过分析完整编译为树报告的一些诊断。

GetAnalyzerSyntaxDiagnosticsAsync(SyntaxTree, Nullable<TextSpan>, CancellationToken)

返回所有从分析给定 的 生成的Analyzers语法诊断,可以选择范围限定为 filterSpantree 根据分析器的行为,返回的诊断可以在树或筛选器范围之外具有位置,并且可能不存在通过分析完整编译为树报告的一些诊断。

GetAnalyzerSyntaxDiagnosticsAsync(SyntaxTree, Nullable<TextSpan>, ImmutableArray<DiagnosticAnalyzer>, CancellationToken)

返回由给定analyzers分析tree给定 生成的语法诊断,可以选择范围限定为 filterSpan。 根据分析器的行为,返回的诊断可以在树或筛选器范围之外具有位置,并且可能不存在通过分析完整编译为树报告的一些诊断。

GetAnalyzerTelemetryInfoAsync(DiagnosticAnalyzer, CancellationToken)

获取给定分析器的遥测信息,例如已注册操作的计数、总执行时间 (是否 LogAnalyzerExecutionTime 为 true) 等。

GetEffectiveDiagnostics(IEnumerable<Diagnostic>, Compilation)

给定一组编译器或DiagnosticAnalyzer生成的 diagnostics,在应用以下筛选器后返回有效诊断:

  1. SpecificDiagnosticOptions 为给定 compilation的 指定。
  2. GeneralDiagnosticOption 为给定 compilation的 指定。
  3. 通过应用的 SuppressMessageAttribute进行诊断抑制。
  4. 给定 compilation的 Pragma 指令。
GetEffectiveDiagnostics(ImmutableArray<Diagnostic>, Compilation)

给定一组编译器或DiagnosticAnalyzer生成的 diagnostics,在应用以下筛选器后返回有效诊断:

  1. SpecificDiagnosticOptions 为给定 compilation的 指定。
  2. GeneralDiagnosticOption 为给定 compilation的 指定。
  3. 通过应用的 SuppressMessageAttribute进行诊断抑制。
  4. 给定 compilation的 Pragma 指令。
IsDiagnosticAnalyzerSuppressed(DiagnosticAnalyzer, CompilationOptions, Action<Exception,DiagnosticAnalyzer,Diagnostic>)
已过时.

如果通过选项取消此分析器可以生成的所有诊断,则返回 true。

适用于