CompilationStartAnalysisContext 类

定义

编译启动操作的上下文。 编译启动操作可以使用 CompilationStartAnalysisContext 来注册在以下任意位置执行的操作:

  • 编译结束,
  • 完成分析代码文档,
  • 完成代码文档的语义分析,
  • 完成符号的语义分析,
  • 开始对方法主体或出现在方法主体外部的表达式进行语义分析,
  • 完成方法主体或显示在方法主体外部的表达式的语义分析,或者
  • 完成语法节点的语义分析。
public ref class CompilationStartAnalysisContext abstract
public abstract class CompilationStartAnalysisContext
type CompilationStartAnalysisContext = class
Public MustInherit Class CompilationStartAnalysisContext
继承
CompilationStartAnalysisContext

构造函数

CompilationStartAnalysisContext(Compilation, AnalyzerOptions, CancellationToken)

编译启动操作的上下文。 编译启动操作可以使用 CompilationStartAnalysisContext 来注册在以下任意位置执行的操作:

  • 编译结束,
  • 完成分析代码文档,
  • 完成代码文档的语义分析,
  • 完成符号的语义分析,
  • 开始对方法主体或出现在方法主体外部的表达式进行语义分析,
  • 完成方法主体或显示在方法主体外部的表达式的语义分析,或者
  • 完成语法节点的语义分析。

属性

CancellationToken

用于检查请求取消分析的令牌。

Compilation

Compilation ,即分析的主题。

Options

为分析指定的选项。

方法

RegisterAdditionalFileAction(Action<AdditionalFileAnalysisContext>)

注册要为每个非代码文档执行的操作。 其他文件操作报告 Diagnostic有关 AdditionalText 文档的 。

RegisterCodeBlockAction(Action<CodeBlockAnalysisContext>)

注册一个操作,该操作将在方法主体或显示在方法主体外部的表达式的语义分析结束时执行。 代码块操作报告 Diagnostic有关代码块的 。

RegisterCodeBlockStartAction<TLanguageKindEnum>(Action<CodeBlockStartAnalysisContext<TLanguageKindEnum>>)

注册一个操作,该操作将在方法主体或显示在方法主体外部的表达式的语义分析开始时执行。 代码块启动操作可以注册其他操作和/或收集要用于诊断分析的状态信息,但本身不能报告任何 Diagnostic

RegisterCompilationEndAction(Action<CompilationAnalysisContext>)

注册在编译结束时要执行的操作。 编译结束操作报告 Diagnostic有关 的 Compilation

RegisterOperationAction(Action<OperationAnalysisContext>, ImmutableArray<OperationKind>)

使用适当的 Kind 注册在 完成语义分析 IOperation 时要执行的操作。 操作操作可以报告 Diagnostic有关 IOperation的 ,还可以收集其他操作操作或代码块结束操作要使用的状态信息。

RegisterOperationAction(Action<OperationAnalysisContext>, OperationKind[])

使用适当的 Kind 注册在 完成语义分析 IOperation 时要执行的操作。 操作操作可以报告 Diagnostic有关 IOperation的 ,还可以收集其他操作操作或代码块结束操作要使用的状态信息。

RegisterOperationBlockAction(Action<OperationBlockAnalysisContext>)

注册在对方法主体或显示在方法主体外部的表达式进行语义分析后要执行的操作。 操作块操作报告 Diagnostic有关操作块的 。

RegisterOperationBlockStartAction(Action<OperationBlockStartAnalysisContext>)

注册一个操作,该操作将在方法主体或显示在方法主体外部的表达式的语义分析开始时执行。 操作块启动操作可以注册其他操作和/或收集要用于诊断分析的状态信息,但本身不能报告任何 Diagnostic

RegisterSemanticModelAction(Action<SemanticModelAnalysisContext>)

注册在完成文档的语义分析时要执行的操作,此操作将对文档的 执行 SemanticModel 。 语义模型操作报告 Diagnostic有关模型的 。

RegisterSymbolAction(Action<SymbolAnalysisContext>, ImmutableArray<SymbolKind>)

使用适当的 Kind 注册在 完成语义分析 ISymbol 时要执行的操作。 符号操作报告 Diagnostic有关 ISymbol的 。

RegisterSymbolAction(Action<SymbolAnalysisContext>, SymbolKind[])

使用适当的 Kind 注册在 完成语义分析 ISymbol 时要执行的操作。 符号操作报告 Diagnostic有关 ISymbol的 。

RegisterSymbolStartAction(Action<SymbolStartAnalysisContext>, SymbolKind)

使用适当的 Kind 注册一个操作,该操作将在语义分析 ISymbol 开始时对 及其成员执行。

RegisterSyntaxNodeAction<TLanguageKindEnum>(Action<SyntaxNodeAnalysisContext>, ImmutableArray<TLanguageKindEnum>)

使用适当的 Kind 注册在 完成语义分析 SyntaxNode 时要执行的操作。 语法节点操作可以报告 Diagnostic有关 SyntaxNode的 ,还可以收集其他语法节点操作或代码块结束操作要使用的状态信息。

RegisterSyntaxNodeAction<TLanguageKindEnum>(Action<SyntaxNodeAnalysisContext>, TLanguageKindEnum[])

使用适当的 Kind 注册在 完成语义分析 SyntaxNode 时要执行的操作。 语法节点操作可以报告 Diagnostic有关 SyntaxNode的 ,还可以收集其他语法节点操作或代码块结束操作要使用的状态信息。

RegisterSyntaxTreeAction(Action<SyntaxTreeAnalysisContext>)

注册在代码文档分析完成后要执行的操作。 语法树操作报告 Diagnostic有关 SyntaxTree 文档的 。

TryGetValue<TValue>(AdditionalText, AdditionalTextValueProvider<TValue>, TValue)

尝试计算或获取给定 为给定 valueProvidertext提供的缓存值。 请注意,对 {valueProvidertext} 充当键。 跨分析器操作和/或分析器实例重用同一 valueProvider 实例可以通过避免重新计算值来提高分析器的整体性能。

TryGetValue<TValue>(SourceText, SourceTextValueProvider<TValue>, TValue)

尝试计算或获取给定 为给定 valueProvidertext提供的缓存值。 请注意,对 {valueProvidertext} 充当键。 跨分析器操作和/或分析器实例重用同一 valueProvider 实例可以通过避免重新计算值来提高分析器的整体性能。

TryGetValue<TValue>(SyntaxTree, SyntaxTreeValueProvider<TValue>, TValue)

尝试计算或获取给定 为给定 valueProvidertree提供的缓存值。 请注意,对 {valueProvidertree} 充当键。 跨分析器操作和/或分析器实例重用同一 valueProvider 实例可以通过避免重新计算值来提高分析器的整体性能。

适用于