Condividi tramite


CompilationStartAnalysisContext Classe

Definizione

Contesto per un'azione di avvio della compilazione. Un'azione di avvio della compilazione può usare un CompilationStartAnalysisContext per registrare le azioni da eseguire in uno qualsiasi di:

  • fine compilazione,
  • completamento dell'analisi di un documento di codice,
  • completamento dell'analisi semantica di un documento di codice,
  • completamento dell'analisi semantica di un simbolo,
  • inizio dell'analisi semantica di un corpo di un metodo o di un'espressione che appare all'esterno di un corpo del metodo,
  • completamento dell'analisi semantica di un corpo di un metodo o di un'espressione che appare all'esterno di un corpo del metodo o
  • completamento dell'analisi semantica di un nodo di sintassi.
public ref class CompilationStartAnalysisContext abstract
public abstract class CompilationStartAnalysisContext
type CompilationStartAnalysisContext = class
Public MustInherit Class CompilationStartAnalysisContext
Ereditarietà
CompilationStartAnalysisContext

Costruttori

CompilationStartAnalysisContext(Compilation, AnalyzerOptions, CancellationToken)

Contesto per un'azione di avvio della compilazione. Un'azione di avvio della compilazione può usare un CompilationStartAnalysisContext per registrare le azioni da eseguire in uno qualsiasi di:

  • fine compilazione,
  • completamento dell'analisi di un documento di codice,
  • completamento dell'analisi semantica di un documento di codice,
  • completamento dell'analisi semantica di un simbolo,
  • inizio dell'analisi semantica di un corpo di un metodo o di un'espressione che appare all'esterno di un corpo del metodo,
  • completamento dell'analisi semantica di un corpo di un metodo o di un'espressione che appare all'esterno di un corpo del metodo o
  • completamento dell'analisi semantica di un nodo di sintassi.

Proprietà

CancellationToken

Token per verificare la richiesta di annullamento dell'analisi.

Compilation

Compilation che è l'oggetto dell'analisi.

Options

Opzioni specificate per l'analisi.

Metodi

RegisterAdditionalFileAction(Action<AdditionalFileAnalysisContext>)

Registrare un'azione da eseguire per ogni documento non codificato. Un'azione di file aggiuntiva segnala Diagnosticl'oggetto AdditionalText di un documento.

RegisterCodeBlockAction(Action<CodeBlockAnalysisContext>)

Registrare un'azione da eseguire alla fine dell'analisi semantica di un corpo di un metodo o di un'espressione che appare all'esterno di un corpo del metodo. Un'azione a blocchi di codice segnala Diagnostici blocchi di codice.

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

Registrare un'azione da eseguire all'inizio dell'analisi semantica di un corpo del metodo o di un'espressione che appare all'esterno di un corpo del metodo. Un'azione di avvio del blocco di codice può registrare altre azioni e/o raccogliere informazioni sullo stato da usare nell'analisi diagnostica, ma non può segnalare alcuna Diagnosticazione.

RegisterCompilationEndAction(Action<CompilationAnalysisContext>)

Registrare un'azione da eseguire alla fine della compilazione. Un'azione finale di compilazione segnala Diagnosticl'oggetto .Compilation

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

Registrare un'azione da eseguire al completamento dell'analisi semantica di un IOperation oggetto con un tipo appropriato. Un'azione operativa può segnalare Diagnostics su IOperations e può anche raccogliere informazioni sullo stato da usare da altre azioni di operazione o azioni di blocco del codice.

RegisterOperationAction(Action<OperationAnalysisContext>, OperationKind[])

Registrare un'azione da eseguire al completamento dell'analisi semantica di un IOperation oggetto con un tipo appropriato. Un'azione operativa può segnalare Diagnostics su IOperations e può anche raccogliere informazioni sullo stato da usare da altre azioni di operazione o azioni di blocco del codice.

RegisterOperationBlockAction(Action<OperationBlockAnalysisContext>)

Registrare un'azione da eseguire dopo l'analisi semantica di un corpo del metodo o un'espressione che appare all'esterno di un corpo del metodo. Un'azione a blocchi di operazione segnala Diagnostici blocchi di operazione.

RegisterOperationBlockStartAction(Action<OperationBlockStartAnalysisContext>)

Registrare un'azione da eseguire all'inizio dell'analisi semantica di un corpo del metodo o di un'espressione che appare all'esterno di un corpo del metodo. Un'azione di avvio del blocco operazione può registrare altre azioni e/o raccogliere informazioni sullo stato da usare nell'analisi diagnostica, ma non può segnalare alcuna Diagnosticazione.

RegisterSemanticModelAction(Action<SemanticModelAnalysisContext>)

Registrare un'azione da eseguire al completamento dell'analisi semantica di un documento, che funzionerà sul SemanticModel documento. Un'azione del modello semantico segnala Diagnosticle informazioni sul modello.

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

Registrare un'azione da eseguire al completamento dell'analisi semantica di un ISymbol oggetto con un tipo appropriato. Un'azione del simbolo segnala Diagnosticle informazioni su ISymbols.

RegisterSymbolAction(Action<SymbolAnalysisContext>, SymbolKind[])

Registrare un'azione da eseguire al completamento dell'analisi semantica di un ISymbol oggetto con un tipo appropriato. Un'azione del simbolo segnala Diagnosticle informazioni su ISymbols.

RegisterSymbolStartAction(Action<SymbolStartAnalysisContext>, SymbolKind)

Registrare un'azione da eseguire all'inizio dell'analisi semantica di un oggetto ISymbol e dei relativi membri con un tipo appropriato.

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

Registrare un'azione da eseguire al completamento dell'analisi semantica di un SyntaxNode oggetto con un tipo appropriato. Un'azione del nodo della sintassi può segnalare Diagnosticle SyntaxNodeinformazioni sullo stato e può anche raccogliere informazioni sullo stato da usare da altre azioni del nodo sintassi o azioni di blocco di codice.

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

Registrare un'azione da eseguire al completamento dell'analisi semantica di un SyntaxNode oggetto con un tipo appropriato. Un'azione del nodo della sintassi può segnalare Diagnosticle SyntaxNodeinformazioni sullo stato e può anche raccogliere informazioni sullo stato da usare da altre azioni del nodo sintassi o azioni di blocco di codice.

RegisterSyntaxTreeAction(Action<SyntaxTreeAnalysisContext>)

Registrare un'azione da eseguire al completamento dell'analisi di un documento di codice. Un'azione dell'albero della sintassi segnala Diagnosticl'oggetto SyntaxTree di un documento.

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

Tenta di calcolare o ottenere il valore memorizzato nella cache fornito dall'oggetto specificato per l'oggetto specificato valueProvidertext. Si noti che la coppia {valueProvider, text} funge da chiave. Il riutilizzo della stessa valueProvider istanza tra azioni di analizzatore e/o istanze di analizzatore può migliorare le prestazioni complessive dell'analizzatore evitando la ricompilazione dei valori.

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

Tenta di calcolare o ottenere il valore memorizzato nella cache fornito dall'oggetto specificato per l'oggetto specificato valueProvidertext. Si noti che la coppia {valueProvider, text} funge da chiave. Il riutilizzo della stessa valueProvider istanza tra azioni di analizzatore e/o istanze di analizzatore può migliorare le prestazioni complessive dell'analizzatore evitando la ricompilazione dei valori.

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

Tenta di calcolare o ottenere il valore memorizzato nella cache fornito dall'oggetto specificato per l'oggetto specificato valueProvidertree. Si noti che la coppia {valueProvider, tree} funge da chiave. Il riutilizzo della stessa valueProvider istanza tra azioni di analizzatore e/o istanze di analizzatore può migliorare le prestazioni complessive dell'analizzatore evitando la ricompilazione dei valori.

Si applica a