Freigeben über


Microsoft.CodeAnalysis.FlowAnalysis Namespace

Klassen

BasicBlock

Stellt einen grundlegenden Block in einer ControlFlowGraph Sequenz von Operations. Sobald ein einfacher Block eingegeben wurde, werden alle darin aufgeführten Vorgänge immer ausgeführt. Optional BranchValue, wenn nicht null, wird nach dem Operations. Der Kontrollfluss verlässt den grundlegenden Block, indem er entweder die ConditionalSuccessor Verzweigung oder den FallThroughSuccessor Verzweigung verwendet.

ControlFlowBranch

Stellt einen Kontrollflusszweig von einem Source grundlegenden Block zu einem grundlegenden Block in einem Destination .ControlFlowGraph

ControlFlowGraph

Steuerelementflussdiagrammdarstellung für einen bestimmten ausführbaren Codeblock OriginalOperation. Dieses Diagramm enthält einen Satz von BasicBlocks, mit einem Eintragsblock, null oder mehr Zwischengrundblöcken und einem Ausgangsblock. Jeder Basisblock enthält null oder mehr Operations und explizite ControlFlowBranch(s) für andere grundlegende Block(en).

ControlFlowGraphExtensions
ControlFlowRegion

Kapselt Informationen zu Regionen von BasicBlocks in einem ControlFlowGraph. Regionen können sich überlappen, aber niemals miteinander überschreiten.

Strukturen

CaptureId

Die Aufnahme-ID ist ein undurchsichtiger Bezeichner, der ein Zwischenergebnis aus einem .IFlowCaptureOperation

Schnittstellen

ICaughtExceptionOperation

Stellt eine Ausnahmeinstanz dar, die von einer Ausführungsumgebung an einen Ausnahmefilter oder Handler übergeben wird. Dieser Knoten wird nur als Teil einer ControlFlowGraph.

IFlowAnonymousFunctionOperation

Stellt einen anonymen Funktionsvorgang im Kontext einer ControlFlowGraph.

Aktuelle Verwendung: (1) C#-Lambdaausdruck. (2) VB-Ausdruck für anonyme Stellvertretungen.

Eine ControlFlowGraph für den Textkörper der anonymen Funktion ist über die eingeschlossene ControlFlowGraphFunktion verfügbar.
IFlowCaptureOperation

Stellt dar, dass ein Zwischenergebnis erfasst wird. Dieser Knoten wird nur als Teil einer ControlFlowGraph.

IFlowCaptureReferenceOperation

Stellt einen Punkt der Verwendung eines zuvor erfassten Zwischenergebnisses dar. Die Tatsache, dass das Ergebnis erfasst wird, wird durch IFlowCaptureOperationdargestellt. Dieser Knoten wird nur als Teil einer ControlFlowGraph.

IIsNullOperation

Stellt das Ergebnis der Überprüfung dar, ob es Operand sich um null handelt. Bei Referenztypen überprüft dies, ob es Operand sich um einen Nullverweis handelt, bei nullfähigen Typen wird überprüft, ob der Operand Wert nicht vorhanden ist. Der Knoten wird als Teil eines Flussdiagramms während der Neuschreibung von ICoalesceOperation und IConditionalAccessOperation Knoten erstellt.

IStaticLocalInitializationSemaphoreOperation

Stellt die Überprüfung während der Initialisierung eines statischen VB-Gebiets dar, das beim ersten Aufruf der Funktion initialisiert wird, und nie wieder. Wenn der Semaphor-Vorgang "true" zurückgibt, wurde die statische lokale Datei noch nicht initialisiert, und der Initialisierer wird ausgeführt. Wenn er "false" zurückgibt, wurde die lokale Datei bereits initialisiert, und der statische lokale Initialisiererbereich wird übersprungen. Dieser Knoten wird nur als Teil einer ControlFlowGraph.

Enumerationen

BasicBlockKind

BasicBlock Art.

ControlFlowBranchSemantics

Semantik, die einer ControlFlowBranch.

ControlFlowConditionKind

Stellt eine Art von bedingter Verzweigung aus einer BasicBlock.

ControlFlowRegionKind

Definiert Arten von Regionen, die in einer ControlFlowGraph