Partager via


Microsoft.CodeAnalysis.FlowAnalysis Espace de noms

Classes

BasicBlock

Représente un bloc de base dans une ControlFlowGraph séquence de Operations. Une fois qu’un bloc de base est entré, toutes les opérations qu’il contient sont toujours exécutées. Facultatif BranchValue, s’il n’est pas null, est évalué après le Operations. Le flux de contrôle laisse le bloc de base en prenant la ConditionalSuccessor branche ou la FallThroughSuccessor branche.

ControlFlowBranch

Représente une branche de flux de contrôle d’un Source bloc de base vers un bloc de base dans un DestinationControlFlowGraph.

ControlFlowGraph

Représentation du graphique de flux de contrôle pour un bloc OriginalOperationde code exécutable donné. Ce graphique contient un ensemble de BasicBlocks, avec un bloc d’entrée, zéro ou plus de blocs de base intermédiaires et un bloc de sortie. Chaque bloc de base contient zéro ou plus Operations et explicite ControlFlowBranch(s) à d’autres blocs de base.

ControlFlowGraphExtensions
ControlFlowRegion

Encapsule des informations sur les régions de BasicBlocks dans un ControlFlowGraph. Les régions peuvent chevaucher, mais ne jamais traverser les autres limites.

Structures

CaptureId

L’ID de capture est un identificateur opaque pour représenter un résultat intermédiaire à partir d’un IFlowCaptureOperation.

Interfaces

ICaughtExceptionOperation

Représente une instance d’exception passée par un environnement d’exécution à un filtre ou un gestionnaire d’exceptions. Ce nœud est produit uniquement dans le cadre d’un ControlFlowGraph.

IFlowAnonymousFunctionOperation

Représente une opération de fonction anonyme dans le contexte d’un ControlFlowGraph.

Utilisation actuelle : (1) expression lambda C#. (2) Expression de délégué anonyme VB.

Pour ControlFlowGraph le corps de la fonction anonyme est disponible à partir de l’englobant ControlFlowGraph.
IFlowCaptureOperation

Représente qu’un résultat intermédiaire est capturé. Ce nœud est produit uniquement dans le cadre d’un ControlFlowGraph.

IFlowCaptureReferenceOperation

Représente un point d’utilisation d’un résultat intermédiaire capturé précédemment. Le fait de capturer le résultat est représenté par IFlowCaptureOperation. Ce nœud est produit uniquement dans le cadre d’un ControlFlowGraph.

IIsNullOperation

Représente le résultat de la vérification de la Operand valeur Null. Pour les types de référence, cette vérification s’il Operand s’agit d’une référence Null, pour les types nullables, vérifie si le Operand n’a pas de valeur. Le nœud est produit dans le cadre d’un graphique de flux lors de la réécriture des nœuds et IConditionalAccessOperation des ICoalesceOperation nœuds.

IStaticLocalInitializationSemaphoreOperation

Représente la vérification lors de l’initialisation d’un local statique VB initialisé lors du premier appel de la fonction, et jamais à nouveau. Si l’opération de sémaphore retourne true, le local statique n’a pas encore été initialisé et l’initialiseur est exécuté. S’il retourne false, le local a déjà été initialisé et la région d’initialiseur local statique est ignorée. Ce nœud est produit uniquement dans le cadre d’un ControlFlowGraph.

Énumérations

BasicBlockKind

BasicBlock Genre.

ControlFlowBranchSemantics

Sémantique associée à un ControlFlowBranch.

ControlFlowConditionKind

Représente le type de branche conditionnelle à partir d’un BasicBlock.

ControlFlowRegionKind

Définit les types de régions qui peuvent être présentes dans un ControlFlowGraph