Поделиться через


ControlFlowGraph Класс

Определение

Представление графа потока управления для заданного блока OriginalOperationисполняемого кода . Этот граф содержит набор BasicBlockэлементов с блоком входа, нулевым или более промежуточными базовыми блоками и блоком выхода. Каждый базовый блок содержит ноль или более Operations и явный ControlFlowBranch(s) для других базовых блоков.

public ref class ControlFlowGraph sealed
public sealed class ControlFlowGraph
type ControlFlowGraph = class
Public NotInheritable Class ControlFlowGraph
Наследование
ControlFlowGraph

Свойства

Blocks

Основные блоки для графа потока управления.

LocalFunctions

Локальные функции, объявленные в .OriginalOperation

OriginalOperation

Исходная операция, представляющая блок исполняемого кода, из которого был создан этот граф потока управления. Обратите внимание, что в графе потока управления находятся не в том же дереве операций, что Operations и исходная операция.

Parent

Необязательный родительский граф потока управления для этого графа. Не равно NULL для графа потока управления, созданного для локальной функции или лямбда-выражения. В противном случае - значение NULL.

Root

Корневая область (Root) для графа.

Методы

Create(IAttributeOperation, CancellationToken)

ControlFlowGraph Создает для заданного блока attributeисполняемого кода .

Create(IBlockOperation, CancellationToken)

ControlFlowGraph Создает для заданного блока bodyисполняемого кода .

Create(IConstructorBodyOperation, CancellationToken)

ControlFlowGraph Создает для заданного блока constructorBodyисполняемого кода .

Create(IFieldInitializerOperation, CancellationToken)

ControlFlowGraph Создает для заданного блока initializerисполняемого кода .

Create(IMethodBodyOperation, CancellationToken)

ControlFlowGraph Создает для заданного блока methodBodyисполняемого кода .

Create(IParameterInitializerOperation, CancellationToken)

ControlFlowGraph Создает для заданного блока initializerисполняемого кода .

Create(IPropertyInitializerOperation, CancellationToken)

ControlFlowGraph Создает для заданного блока initializerисполняемого кода .

Create(SyntaxNode, SemanticModel, CancellationToken)

ControlFlowGraph Создает для заданного корня nodeблока исполняемого кода .

GetAnonymousFunctionControlFlowGraph(IFlowAnonymousFunctionOperation, CancellationToken)

Создает граф потока управления для заданного anonymousFunction.

GetLocalFunctionControlFlowGraph(IMethodSymbol, CancellationToken)

Создает граф потока управления для заданного localFunction.

Методы расширения

GetAnonymousFunctionControlFlowGraphInScope(ControlFlowGraph, IFlowAnonymousFunctionOperation, CancellationToken)

Возвращает или создает граф потока управления для заданного anonymousFunction , определенного в заданном controlFlowGraph или любом из его родительских графов потока управления.

GetLocalFunctionControlFlowGraphInScope(ControlFlowGraph, IMethodSymbol, CancellationToken)

Возвращает или создает граф потока управления для заданного localFunction , определенного в заданном controlFlowGraph или любом из его родительских графов потока управления.

Применяется к