Partager via


AnalysisContext Classe

Définition

Contexte d’initialisation d’un analyseur. L’initialisation de l’analyseur peut utiliser un AnalysisContext pour inscrire des actions à exécuter à l’un des :

  • démarrage de la compilation,
  • fin de la compilation,
  • achèvement de l’analyse d’un document de code,
  • achèvement de l’analyse sémantique d’un document de code,
  • achèvement de l’analyse sémantique d’un symbole,
  • début de l’analyse sémantique d’un corps de méthode ou d’une expression apparaissant en dehors d’un corps de méthode,
  • l’achèvement de l’analyse sémantique d’un corps de méthode ou d’une expression apparaissant en dehors d’un corps de méthode, ou
  • achèvement de l’analyse sémantique d’un nœud de syntaxe.
public ref class AnalysisContext abstract
public abstract class AnalysisContext
type AnalysisContext = class
Public MustInherit Class AnalysisContext
Héritage
AnalysisContext

Constructeurs

AnalysisContext()

Contexte d’initialisation d’un analyseur. L’initialisation de l’analyseur peut utiliser un AnalysisContext pour inscrire des actions à exécuter à l’un des :

  • démarrage de la compilation,
  • fin de la compilation,
  • achèvement de l’analyse d’un document de code,
  • achèvement de l’analyse sémantique d’un document de code,
  • achèvement de l’analyse sémantique d’un symbole,
  • début de l’analyse sémantique d’un corps de méthode ou d’une expression apparaissant en dehors d’un corps de méthode,
  • l’achèvement de l’analyse sémantique d’un corps de méthode ou d’une expression apparaissant en dehors d’un corps de méthode, ou
  • achèvement de l’analyse sémantique d’un nœud de syntaxe.

Propriétés

MinimumReportedSeverity

Indique la gravité de diagnostic signalée minimale pour ce contexte d’analyse. Les diagnostics d’analyseur dont la gravité est inférieure à cette gravité ne sont pas signalées.

Méthodes

ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags)

Configurez le mode d’analyse du code généré pour cet analyseur. Les analyseurs non configurés sont par défaut un mode par défaut approprié pour le code généré. Il est recommandé que l’analyseur appelle cette API avec le paramètre requis GeneratedCodeAnalysisFlags .

EnableConcurrentExecution()

Activer l’exécution simultanée des actions de l’analyseur inscrites par cet analyseur. Un analyseur qui s’inscrit pour une exécution simultanée peut avoir de meilleures performances qu’un analyseur non simultané. Toutefois, un tel analyseur doit s’assurer que ses actions peuvent s’exécuter correctement en parallèle.

RegisterAdditionalFileAction(Action<AdditionalFileAnalysisContext>)

Inscrivez une action à exécuter pour chaque document sans code. Une action de fichier supplémentaire signale Diagnostics sur le AdditionalText d’un document.

RegisterCodeBlockAction(Action<CodeBlockAnalysisContext>)

Inscrivez une action à exécuter après l’analyse sémantique d’un corps de méthode ou d’une expression apparaissant en dehors d’un corps de méthode. Une action de bloc de code signale Diagnosticles blocs de code.

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

Inscrivez une action à exécuter au début de l’analyse sémantique d’un corps de méthode ou d’une expression apparaissant en dehors d’un corps de méthode. Une action de démarrage de bloc de code peut inscrire d’autres actions et/ou collecter des informations d’état à utiliser dans l’analyse de diagnostic, mais ne peut pas elle-même en signaler Diagnostic.

RegisterCompilationAction(Action<CompilationAnalysisContext>)

Inscrivez une action à exécuter pour une compilation complète. Une action de compilation signale des informations Diagnosticsur le Compilation.

RegisterCompilationStartAction(Action<CompilationStartAnalysisContext>)

Inscrivez une action à exécuter au début de la compilation. Une action de démarrage de compilation peut inscrire d’autres actions et/ou collecter des informations d’état à utiliser dans l’analyse de diagnostic, mais ne peut pas elle-même en signaler Diagnostic.

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

Inscrivez une action à exécuter à la fin de l’analyse sémantique d’un IOperation avec un type approprié. Une action d’opération peut signaler Diagnosticdes informations sur IOperations et peut également collecter des informations d’état à utiliser par d’autres actions d’opération ou actions de fin de bloc de code.

RegisterOperationAction(Action<OperationAnalysisContext>, OperationKind[])

Inscrivez une action à exécuter à la fin de l’analyse sémantique d’un IOperation avec un type approprié. Une action d’opération peut signaler Diagnosticdes informations sur IOperations et peut également collecter des informations d’état à utiliser par d’autres actions d’opération ou actions de fin de bloc de code.

RegisterOperationBlockAction(Action<OperationBlockAnalysisContext>)

Inscrivez une action à exécuter après l’analyse sémantique d’un corps de méthode ou d’une expression apparaissant en dehors d’un corps de méthode. Une action de bloc d’opération signale Diagnosticles blocs d’opération.

RegisterOperationBlockStartAction(Action<OperationBlockStartAnalysisContext>)

Inscrivez une action à exécuter au début de l’analyse sémantique d’un corps de méthode ou d’une expression apparaissant en dehors d’un corps de méthode. Une action de démarrage de bloc d’opération peut inscrire d’autres actions et/ou collecter des informations d’état à utiliser dans l’analyse de diagnostic, mais ne peut pas elle-même signaler Diagnosticdes actions.

RegisterSemanticModelAction(Action<SemanticModelAnalysisContext>)

Inscrivez une action à exécuter à la fin de l’analyse sémantique d’un document, qui fonctionnera sur le SemanticModel du document. Une action de modèle sémantique signale des s Diagnosticsur le modèle.

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

Inscrivez une action à exécuter à la fin de l’analyse sémantique d’un ISymbol avec un type approprié. Une action de symbole signale Diagnostics about ISymbols.

RegisterSymbolAction(Action<SymbolAnalysisContext>, SymbolKind[])

Inscrivez une action à exécuter à la fin de l’analyse sémantique d’un ISymbol avec un type approprié. Une action de symbole signale Diagnostics about ISymbols.

RegisterSymbolStartAction(Action<SymbolStartAnalysisContext>, SymbolKind)

Inscrivez une action à exécuter au début de l’analyse sémantique d’un ISymbol et de ses membres avec un type approprié.

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

Inscrivez une action à exécuter à la fin de l’analyse sémantique d’un SyntaxNode avec un type approprié. Une action de nœud de syntaxe peut signaler Diagnosticdes informations sur SyntaxNodes et peut également collecter des informations d’état à utiliser par d’autres actions de nœud de syntaxe ou actions de fin de bloc de code.

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

Inscrivez une action à exécuter à la fin de l’analyse sémantique d’un SyntaxNode avec un type approprié. Une action de nœud de syntaxe peut signaler Diagnosticdes informations sur SyntaxNodes et peut également collecter des informations d’état à utiliser par d’autres actions de nœud de syntaxe ou actions de fin de bloc de code.

RegisterSyntaxTreeAction(Action<SyntaxTreeAnalysisContext>)

Inscrivez une action à exécuter à la fin de l’analyse d’un document de code. Une action d’arborescence de syntaxe signale Diagnosticdes s sur le SyntaxTree d’un document.

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

Tente de calculer ou d’obtenir la valeur mise en cache fournie par le donné valueProvider pour le donné text. Notez que la paire {valueProvider, text} fait office de clé. La réutilisation des mêmes valueProvider instance entre les actions de l’analyseur et/ou les instances d’analyseur peut améliorer les performances globales de l’analyseur en évitant la recomputation des valeurs.

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

Tente de calculer ou d’obtenir la valeur mise en cache fournie par le donné valueProvider pour le donné text. Notez que la paire {valueProvider, text} fait office de clé. La réutilisation des mêmes valueProvider instance entre les actions de l’analyseur et/ou les instances d’analyseur peut améliorer les performances globales de l’analyseur en évitant la recomputation des valeurs.

S’applique à