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>)

コード以外のドキュメントごとに実行するアクションを登録します。 追加のファイル アクションは、ドキュメントの にAdditionalText関する を報告Diagnosticします。

RegisterCodeBlockAction(Action<CodeBlockAnalysisContext>)

メソッド本体のセマンティック分析の最後に実行されるアクション、またはメソッド本体の外部に出現する式を登録します。 コード ブロック アクションは、コード ブロックに関する を報告 Diagnosticします。

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

メソッド本体のセマンティック分析の開始時に実行されるアクション、またはメソッド本体の外部に出現する式を登録します。 コード ブロックの開始アクションでは、他のアクションを登録したり、診断分析で使用する状態情報を収集したりできますが、それ自体はレポート Diagnosticできません。

RegisterCompilationEndAction(Action<CompilationAnalysisContext>)

コンパイル終了時に実行されるアクションを登録します。 コンパイル終了アクションは、 に関する を報告 Diagnosticします Compilation

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

のセマンティック分析 IOperation の完了時に実行されるアクションを適切な Kind で登録します。 操作アクションでは、 に関するIOperationレポートを作成Diagnosticしたり、他の操作アクションまたはコード ブロックの終了アクションで使用される状態情報を収集したりすることもできます。

RegisterOperationAction(Action<OperationAnalysisContext>, OperationKind[])

のセマンティック分析 IOperation の完了時に実行されるアクションを適切な Kind で登録します。 操作アクションでは、 に関するIOperationレポートを作成Diagnosticしたり、他の操作アクションまたはコード ブロックの終了アクションで使用される状態情報を収集したりすることもできます。

RegisterOperationBlockAction(Action<OperationBlockAnalysisContext>)

メソッド本体のセマンティック分析後に実行されるアクション、またはメソッド本体の外部に出現する式を登録します。 操作ブロック アクションは、操作ブロックに関する を報告 Diagnosticします。

RegisterOperationBlockStartAction(Action<OperationBlockStartAnalysisContext>)

メソッド本体のセマンティック分析の開始時に実行されるアクション、またはメソッド本体の外部に出現する式を登録します。 操作ブロックの開始アクションでは、他のアクションを登録したり、診断分析で使用する状態情報を収集したりできますが、それ自体は報告 Diagnosticできません。

RegisterSemanticModelAction(Action<SemanticModelAnalysisContext>)

ドキュメントのセマンティック分析の完了時に実行されるアクションを登録します。これは、ドキュメントの に対して SemanticModel 動作します。 セマンティック モデル アクションは、モデルに関する を報告 Diagnosticします。

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

のセマンティック分析 ISymbol の完了時に実行されるアクションを適切な Kind で登録します。 シンボル アクションは、 についてISymbolを報告Diagnosticします。

RegisterSymbolAction(Action<SymbolAnalysisContext>, SymbolKind[])

のセマンティック分析 ISymbol の完了時に実行されるアクションを適切な Kind で登録します。 シンボル アクションは、 についてISymbolを報告Diagnosticします。

RegisterSymbolStartAction(Action<SymbolStartAnalysisContext>, SymbolKind)

適切な Kind を使用して、 とそのメンバーのセマンティック分析の ISymbol 開始時に実行されるアクションを登録します。

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

のセマンティック分析 SyntaxNode の完了時に実行されるアクションを適切な Kind で登録します。 構文ノード アクションでは、 に関するSyntaxNodeレポートを作成Diagnosticしたり、他の構文ノード アクションまたはコード ブロックの終了アクションで使用される状態情報を収集したりすることもできます。

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

のセマンティック分析 SyntaxNode の完了時に実行されるアクションを適切な Kind で登録します。 構文ノード アクションでは、 に関するSyntaxNodeレポートを作成Diagnosticしたり、他の構文ノード アクションまたはコード ブロックの終了アクションで使用される状態情報を収集したりすることもできます。

RegisterSyntaxTreeAction(Action<SyntaxTreeAnalysisContext>)

コード ドキュメントの解析の完了時に実行されるアクションを登録します。 構文ツリー アクションは、ドキュメントの にSyntaxTree関する を報告Diagnosticします。

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

指定textした に対して、 によって提供されるキャッシュされた値をvalueProvider計算または取得しようとします。 ペア {valueProvider, text} がキーとして機能します。 アナライザー アクションやアナライザー インスタンス間で同じ valueProvider インスタンスを再利用すると、値の再計算を回避することで、アナライザーの全体的なパフォーマンスを向上させることができます。

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

指定textした に対して、 によって提供されるキャッシュされた値をvalueProvider計算または取得しようとします。 ペア {valueProvider, text} がキーとして機能します。 アナライザー アクションやアナライザー インスタンス間で同じ valueProvider インスタンスを再利用すると、値の再計算を回避することで、アナライザーの全体的なパフォーマンスを向上させることができます。

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

指定treeした に対して、 によって提供されるキャッシュされた値をvalueProvider計算または取得しようとします。 ペア {valueProvider, tree} がキーとして機能します。 アナライザー アクションやアナライザー インスタンス間で同じ valueProvider インスタンスを再利用すると、値の再計算を回避することで、アナライザーの全体的なパフォーマンスを向上させることができます。

適用対象