共用方式為


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

註冊動作,以適當種類完成語意分析 IOperation 時執行。 作業動作可以報告 Diagnostic s 的相關資訊 IOperation ,也可以收集其他作業動作或程式碼區塊結束動作要使用的狀態資訊。

RegisterOperationAction(Action<OperationAnalysisContext>, OperationKind[])

註冊動作,以適當種類完成語意分析 IOperation 時執行。 作業動作可以報告 Diagnostic s 的相關資訊 IOperation ,也可以收集其他作業動作或程式碼區塊結束動作要使用的狀態資訊。

RegisterOperationBlockAction(Action<OperationBlockAnalysisContext>)

註冊在方法主體的語意分析之後要執行的動作,或出現在方法主體外部的運算式。 作業區塊動作會報告 Diagnostic 作業區塊的相關資訊。

RegisterOperationBlockStartAction(Action<OperationBlockStartAnalysisContext>)

註冊要于方法主體的語意分析開始時執行的動作,或出現在方法主體外部的運算式。 作業區塊啟動動作可以註冊其他動作和/或收集要用於診斷分析的狀態資訊,但無法自行報告任何 Diagnostic 動作。

RegisterSemanticModelAction(Action<SemanticModelAnalysisContext>)

註冊要于檔語意分析完成時執行的動作,這會在檔的 上 SemanticModel 運作。 語意模型動作會報告 Diagnostic 有關模型的資訊。

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

註冊動作,以適當種類完成語意分析 ISymbol 時執行。 符號動作會報告 Diagnostic 關於 ISymbol s。

RegisterSymbolAction(Action<SymbolAnalysisContext>, SymbolKind[])

註冊動作,以適當種類完成語意分析 ISymbol 時執行。 符號動作會報告 Diagnostic 關於 ISymbol s。

RegisterSymbolStartAction(Action<SymbolStartAnalysisContext>, SymbolKind)

註冊一個動作,以在語意分析 ISymbol 開始時執行,以及其成員具有適當的 Kind。

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

註冊動作,以適當種類完成語意分析 SyntaxNode 時執行。 語法節點動作可以報告 Diagnostic s 的相關資訊 SyntaxNode ,也可以收集其他語法節點動作或程式碼區塊結束動作要使用的狀態資訊。

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

註冊動作,以適當種類完成語意分析 SyntaxNode 時執行。 語法節點動作可以報告 Diagnostic s 的相關資訊 SyntaxNode ,也可以收集其他語法節點動作或程式碼區塊結束動作要使用的狀態資訊。

RegisterSyntaxTreeAction(Action<SyntaxTreeAnalysisContext>)

註冊要于程式碼檔剖析完成時執行的動作。 語法樹狀結構動作會報告 Diagnostic 檔的相關 SyntaxTree

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

嘗試計算或取得所指定 valueProvider 提供給 的 text 快取值。 請注意,配對 { valueProvidertext } 會做為索引鍵。 跨分析器動作和/或分析器實例重複使用相同的 valueProvider 實例,可以避免重新計算值來改善整體分析器效能。

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

嘗試計算或取得所指定 valueProvider 提供給 的 text 快取值。 請注意,配對 { valueProvidertext } 會做為索引鍵。 跨分析器動作和/或分析器實例重複使用相同的 valueProvider 實例,可以避免重新計算值來改善整體分析器效能。

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

嘗試計算或取得所指定 valueProvider 提供給 的 tree 快取值。 請注意,配對 { valueProvidertree } 會做為索引鍵。 跨分析器動作和/或分析器實例重複使用相同的 valueProvider 實例,可以避免重新計算值來改善整體分析器效能。

適用於