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


Microsoft.CodeAnalysis.FlowAnalysis Пространство имен

Классы

BasicBlock

Представляет базовый блок в ControlFlowGraph последовательности Operations. После ввода базового блока все операции в нем всегда выполняются. Необязательный BranchValue, если значение не равно NULL, вычисляется после Operations. Поток управления оставляет базовый блок, принимая ConditionalSuccessor ветвь или FallThroughSuccessor ветвь.

ControlFlowBranch

Представляет ветвь потока управления из Source базового блока в базовый блок в базовый DestinationControlFlowGraphблок.

ControlFlowGraph

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

ControlFlowGraphExtensions
ControlFlowRegion

Инкапсулирует сведения о регионах BasicBlockв a ControlFlowGraph. Регионы могут перекрываться, но никогда не пересекаются друг с другом.

Структуры

CaptureId

Идентификатор записи — это непрозрачный идентификатор, представляющий промежуточный результат.IFlowCaptureOperation

Интерфейсы

ICaughtExceptionOperation

Представляет экземпляр исключения, передаваемый средой выполнения в фильтр исключений или обработчик. Этот узел создается только как часть ControlFlowGraph.

IFlowAnonymousFunctionOperation

Представляет анонимную операцию функции в контексте .ControlFlowGraph

Текущее использование: (1) лямбда-выражение C#. (2) Выражение анонимного делегата VB.

A ControlFlowGraph для тела анонимной функции доступен из включающей ControlFlowGraphфункции.
IFlowCaptureOperation

Представляет, что фиксируется промежуточный результат. Этот узел создается только как часть ControlFlowGraph.

IFlowCaptureReferenceOperation

Представляет точку использования промежуточного результата, записанного ранее. Факт записи результата представлен IFlowCaptureOperation. Этот узел создается только как часть ControlFlowGraph.

IIsNullOperation

Представляет результат проверки, является ли Operand значение null. Для ссылочных типов, которые проверяют, является ли Operand ссылка null, для типов, допускающих значение NULL, проверяет, не имеет ли Operand значение. Узел создается как часть графа потока во время перезаписи ICoalesceOperation и IConditionalAccessOperation узлов.

IStaticLocalInitializationSemaphoreOperation

Представляет проверку во время инициализации статического локального объекта VB, который инициализирован при первом вызове функции, и никогда больше. Если операция семафора возвращает значение true, статический локальный объект еще не инициализирован, а инициализатор будет запущен. Если он возвращает значение false, локальный объект уже инициализирован, а статический регион локального инициализатора будет пропущен. Этот узел создается только как часть ControlFlowGraph.

Перечисления

BasicBlockKind

BasicBlock Вид.

ControlFlowBranchSemantics

Семантика, связанная с .ControlFlowBranch

ControlFlowConditionKind

Представляет вид условной ветви из .BasicBlock

ControlFlowRegionKind

Определяет типы регионов, которые могут присутствовать в ControlFlowGraph