ControlFlowGraph 类

定义

给定可执行代码块 OriginalOperation的控制流图表示形式。 此图包含一组 BasicBlock,其中包含一个入口块、零个或多个中间基本块和一个退出块。 每个基本块包含零个或多个 OperationsControlFlowBranch 并且显式 () 到其他基本块 () 。

public ref class ControlFlowGraph sealed
public sealed class ControlFlowGraph
type ControlFlowGraph = class
Public NotInheritable Class ControlFlowGraph
继承
ControlFlowGraph

属性

Blocks

控制流图的基本块。

LocalFunctions

在 中 OriginalOperation声明的本地函数。

OriginalOperation

原始操作,表示从中生成此控制流图的可执行代码块。 请注意, Operations 在控制流图中,操作树与原始操作不同。

Parent

此图的可选父控制流图。 为本地函数或 lambda 生成的控制流图为非 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 的控制流图。

适用于