Freigeben über


CompilationStartAnalysisContext Klasse

Definition

Kontext für eine Kompilierungsstartaktion. Eine Kompilierungsstartaktion kann ein CompilationStartAnalysisContext verwenden, um Aktionen zu registrieren, die bei einem beliebigen von ausgeführt werden sollen:

  • Kompilierungsende,
  • Abschluss der Analyse eines Codedokuments,
  • Abschluss der semantischen Analyse eines Codedokuments,
  • Abschluss der semantischen Analyse eines Symbols,
  • Beginn der semantischen Analyse eines Methodentexts oder eines Ausdrucks, der außerhalb eines Methodentexts angezeigt wird,
  • Abschluss der semantischen Analyse eines Methodentexts oder eines Ausdrucks, der außerhalb eines Methodentexts erscheint, oder
  • Abschluss der semantischen Analyse eines Syntaxknotens.
public ref class CompilationStartAnalysisContext abstract
public abstract class CompilationStartAnalysisContext
type CompilationStartAnalysisContext = class
Public MustInherit Class CompilationStartAnalysisContext
Vererbung
CompilationStartAnalysisContext

Konstruktoren

CompilationStartAnalysisContext(Compilation, AnalyzerOptions, CancellationToken)

Kontext für eine Kompilierungsstartaktion. Eine Kompilierungsstartaktion kann ein CompilationStartAnalysisContext verwenden, um Aktionen zu registrieren, die bei einem beliebigen von ausgeführt werden sollen:

  • Kompilierungsende,
  • Abschluss der Analyse eines Codedokuments,
  • Abschluss der semantischen Analyse eines Codedokuments,
  • Abschluss der semantischen Analyse eines Symbols,
  • Beginn der semantischen Analyse eines Methodentexts oder eines Ausdrucks, der außerhalb eines Methodentexts angezeigt wird,
  • Abschluss der semantischen Analyse eines Methodentexts oder eines Ausdrucks, der außerhalb eines Methodentexts erscheint, oder
  • Abschluss der semantischen Analyse eines Syntaxknotens.

Eigenschaften

CancellationToken

Token, das auf angeforderten Abbruch der Analyse überprüft werden soll.

Compilation

Compilation das ist der Gegenstand der Analyse.

Options

Für die Analyse angegebene Optionen.

Methoden

RegisterAdditionalFileAction(Action<AdditionalFileAnalysisContext>)

Registrieren Sie eine Aktion, die für jedes Nicht-Code-Dokument ausgeführt werden soll. Eine zusätzliche Dateiaktion meldet Diagnostics über die AdditionalText eines Dokuments.

RegisterCodeBlockAction(Action<CodeBlockAnalysisContext>)

Registrieren Sie eine Aktion, die am Ende der semantischen Analyse eines Methodentexts oder eines Ausdrucks außerhalb eines Methodentexts ausgeführt werden soll. Eine Codeblockaktion meldet Diagnostics zu Codeblöcken.

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

Registrieren Sie eine Aktion, die zu Beginn der semantischen Analyse eines Methodentexts oder eines Ausdrucks außerhalb eines Methodentexts ausgeführt werden soll. Eine Codeblockstartaktion kann andere Aktionen registrieren und/oder Zustandsinformationen sammeln, die in der Diagnoseanalyse verwendet werden sollen, kann aber selbst keine Diagnostics melden.

RegisterCompilationEndAction(Action<CompilationAnalysisContext>)

Registrieren Sie eine Aktion, die am Kompilierungsende ausgeführt werden soll. Eine Kompilierungsendaktion meldet Diagnostics über .Compilation

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

Registrieren Sie eine Aktion, die nach Abschluss der semantischen Analyse eines mit einem IOperation entsprechenden Typ ausgeführt werden soll. Eine Vorgangsaktion kann s über IOperations melden Diagnosticund Zustandsinformationen sammeln, die von anderen Vorgangsaktionen oder Codeblockendaktionen verwendet werden.

RegisterOperationAction(Action<OperationAnalysisContext>, OperationKind[])

Registrieren Sie eine Aktion, die nach Abschluss der semantischen Analyse eines mit einem IOperation entsprechenden Typ ausgeführt werden soll. Eine Vorgangsaktion kann s über IOperations melden Diagnosticund Zustandsinformationen sammeln, die von anderen Vorgangsaktionen oder Codeblockendaktionen verwendet werden.

RegisterOperationBlockAction(Action<OperationBlockAnalysisContext>)

Registrieren Sie eine Aktion, die nach der semantischen Analyse eines Methodentexts oder eines Ausdrucks außerhalb eines Methodentexts ausgeführt werden soll. Eine Vorgangsblockaktion meldet Diagnostics zu Vorgangsblöcken.

RegisterOperationBlockStartAction(Action<OperationBlockStartAnalysisContext>)

Registrieren Sie eine Aktion, die zu Beginn der semantischen Analyse eines Methodentexts oder eines Ausdrucks außerhalb eines Methodentexts ausgeführt werden soll. Eine Aktion zum Starten eines Vorgangsblocks kann andere Aktionen registrieren und/oder Zustandsinformationen sammeln, die in der Diagnoseanalyse verwendet werden sollen, kann aber selbst keine Diagnostics melden.

RegisterSemanticModelAction(Action<SemanticModelAnalysisContext>)

Registrieren Sie eine Aktion, die nach Abschluss der semantischen Analyse eines Dokuments ausgeführt werden soll, die mit dem SemanticModel des Dokuments ausgeführt wird. Eine semantische Modellaktion meldet Diagnostics über das Modell.

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

Registrieren Sie eine Aktion, die nach Abschluss der semantischen Analyse eines mit einem ISymbol entsprechenden Typ ausgeführt werden soll. Eine Symbolaktion meldet Diagnostics zu ISymbols.

RegisterSymbolAction(Action<SymbolAnalysisContext>, SymbolKind[])

Registrieren Sie eine Aktion, die nach Abschluss der semantischen Analyse eines mit einem ISymbol entsprechenden Typ ausgeführt werden soll. Eine Symbolaktion meldet Diagnostics zu ISymbols.

RegisterSymbolStartAction(Action<SymbolStartAnalysisContext>, SymbolKind)

Registrieren Sie eine Aktion, die zu Beginn der semantischen Analyse eines ISymbol und seiner Elemente mit einem entsprechenden Typ ausgeführt werden soll.

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

Registrieren Sie eine Aktion, die bei Abschluss der semantischen Analyse eines mit einem SyntaxNode entsprechenden Typ ausgeführt werden soll. Eine Syntaxknotenaktion kann s über SyntaxNodes melden Diagnosticund Zustandsinformationen sammeln, die von anderen Syntaxknotenaktionen oder Codeblockendaktionen verwendet werden.

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

Registrieren Sie eine Aktion, die bei Abschluss der semantischen Analyse eines mit einem SyntaxNode entsprechenden Typ ausgeführt werden soll. Eine Syntaxknotenaktion kann s über SyntaxNodes melden Diagnosticund Zustandsinformationen sammeln, die von anderen Syntaxknotenaktionen oder Codeblockendaktionen verwendet werden.

RegisterSyntaxTreeAction(Action<SyntaxTreeAnalysisContext>)

Registrieren Sie eine Aktion, die nach Abschluss der Analyse eines Codedokuments ausgeführt werden soll. Eine Syntaxstrukturaktion meldet Diagnostics über die SyntaxTree eines Dokuments.

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

Versucht, den zwischengespeicherten Wert zu berechnen oder abzurufen, der vom angegebenen valueProvider für den angegebenen textbereitgestellt wird. Beachten Sie, dass das Paar {valueProvider, text} als Schlüssel fungiert. Die Wiederverwendung derselben valueProvider instance über Analyseaktionen und/oder Analyseinstanzen hinweg kann die Gesamtleistung des Analysetools verbessern, indem eine Neuberechnung der Werte vermieden wird.

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

Versucht, den zwischengespeicherten Wert zu berechnen oder abzurufen, der vom angegebenen valueProvider für den angegebenen textbereitgestellt wird. Beachten Sie, dass das Paar {valueProvider, text} als Schlüssel fungiert. Die Wiederverwendung derselben valueProvider instance über Analyseaktionen und/oder Analyseinstanzen hinweg kann die Gesamtleistung des Analysetools verbessern, indem eine Neuberechnung der Werte vermieden wird.

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

Versucht, den zwischengespeicherten Wert zu berechnen oder abzurufen, der vom angegebenen valueProvider für den angegebenen treebereitgestellt wird. Beachten Sie, dass das Paar {valueProvider, tree} als Schlüssel fungiert. Die Wiederverwendung derselben valueProvider instance über Analyseaktionen und/oder Analyseinstanzen hinweg kann die Gesamtleistung des Analysetools verbessern, indem eine Neuberechnung der Werte vermieden wird.

Gilt für: