AnalysisContext Classe

Definizione

Contesto per l'inizializzazione di un analizzatore. L'inizializzazione dell'analizzatore può usare un AnalysisContext oggetto per registrare le azioni da eseguire in uno qualsiasi dei seguenti elementi:

  • inizio compilazione,
  • 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 del metodo o di un'espressione che appare all'esterno di un corpo del metodo,
  • completamento dell'analisi semantica di un corpo del metodo o di un'espressione che appare all'esterno di un corpo del metodo o
  • completamento dell'analisi semantica di un nodo della sintassi.
public ref class AnalysisContext abstract
public abstract class AnalysisContext
type AnalysisContext = class
Public MustInherit Class AnalysisContext
Ereditarietà
AnalysisContext

Costruttori

AnalysisContext()

Contesto per l'inizializzazione di un analizzatore. L'inizializzazione dell'analizzatore può usare un AnalysisContext oggetto per registrare le azioni da eseguire in uno qualsiasi dei seguenti elementi:

  • inizio compilazione,
  • 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 del metodo o di un'espressione che appare all'esterno di un corpo del metodo,
  • completamento dell'analisi semantica di un corpo del metodo o di un'espressione che appare all'esterno di un corpo del metodo o
  • completamento dell'analisi semantica di un nodo della sintassi.

Proprietà

MinimumReportedSeverity

Indica la gravità di diagnostica minima segnalata per questo contesto di analisi. La diagnostica dell'analizzatore con gravità minore di questa gravità non viene segnalata.

Metodi

ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags)

Configurare la modalità di analisi del codice generato per questo analizzatore. Per impostazione predefinita, gli analizzatori non configurati saranno una modalità predefinita appropriata per il codice generato. È consigliabile che l'analizzatore richiami questa API con l'impostazione richiesta GeneratedCodeAnalysisFlags .

EnableConcurrentExecution()

Abilitare l'esecuzione simultanea delle azioni dell'analizzatore registrate da questo analizzatore. Un analizzatore che esegue la registrazione per l'esecuzione simultanea può avere prestazioni migliori rispetto a un analizzatore non simultaneo. Tuttavia, tale analizzatore deve garantire che le relative azioni possano essere eseguite correttamente in parallelo.

RegisterAdditionalFileAction(Action<AdditionalFileAnalysisContext>)

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

RegisterCodeBlockAction(Action<CodeBlockAnalysisContext>)

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

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

Registrare un'azione da eseguire all'inizio dell'analisi semantica di un corpo di un 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.

RegisterCompilationAction(Action<CompilationAnalysisContext>)

Registrare un'azione da eseguire per una compilazione completa. Un'azione di compilazione segnala Diagnosticl'oggetto Compilation.

RegisterCompilationStartAction(Action<CompilationStartAnalysisContext>)

Registrare un'azione da eseguire all'avvio della compilazione. Un'azione di avvio della compilazione può registrare altre azioni e/o raccogliere informazioni sullo stato da usare nell'analisi diagnostica, ma non può segnalare alcuna Diagnosticazione.

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 dell'operazione può segnalare Diagnosticle informazioni sullo IOperationstato e può anche raccogliere informazioni sullo stato da usare da altre azioni dell'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 dell'operazione può segnalare Diagnosticle informazioni sullo IOperationstato e può anche raccogliere informazioni sullo stato da usare da altre azioni dell'operazione o azioni di blocco del codice.

RegisterOperationBlockAction(Action<OperationBlockAnalysisContext>)

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

RegisterOperationBlockStartAction(Action<OperationBlockStartAnalysisContext>)

Registrare un'azione da eseguire all'inizio dell'analisi semantica di un corpo di un metodo o di un'espressione che appare all'esterno di un corpo del metodo. Un'azione di avvio del blocco di operazioni 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 del documento. Un'azione del modello semantico segnala Diagnosticil 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 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 simbolo segnala Diagnosticle informazioni su ISymbols.

RegisterSymbolStartAction(Action<SymbolStartAnalysisContext>, SymbolKind)

Registrare un'azione da eseguire all'inizio dell'analisi semantica di un ISymbol oggetto 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 informazioni sullo SyntaxNodestato e può anche raccogliere informazioni sullo stato da usare da altre azioni del nodo della 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 informazioni sullo SyntaxNodestato e può anche raccogliere informazioni sullo stato da usare da altre azioni del nodo della 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 valueProvider per l'oggetto specificato text. Si noti che la coppia {valueProvider, text} funge da chiave. Il riutilizzo della stessa valueProvider istanza tra le azioni dell'analizzatore e/o le istanze dell'analizzatore può migliorare le prestazioni complessive dell'analizzatore evitando il ricalcolazione dei valori.

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

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

Si applica a