다음을 통해 공유


Microsoft.CodeAnalysis.FlowAnalysis 네임스페이스

클래스

BasicBlock

시퀀Operations스가 있는 기본 블록을 ControlFlowGraph 나타냅니다. 기본 블록이 입력되면 기본 블록의 모든 작업이 항상 실행됩니다. 선택 사항 BranchValue이며 null이 Operations아닌 경우 . 제어 흐름은 분기 또는 FallThroughSuccessor 분기를 ConditionalSuccessor 사용하여 기본 블록을 남깁니다.

ControlFlowBranch

기본 블록에서 기본 블록으로 Source 의 제어 흐름 분기를 DestinationControlFlowGraph나타냅니다.

ControlFlowGraph

지정된 실행 코드 블록 OriginalOperation에 대한 제어 흐름 그래프 표현입니다. 이 그래프에는 진입 블록, 0개 이상의 중간 기본 블록 및 종료 블록이 있는 s 집합 BasicBlock이 포함되어 있습니다. 각 기본 블록에는 다른 기본 블록에 대한 0개 이상의 Operations 명시적 ControlFlowBranch블록이 포함됩니다.

ControlFlowGraphExtensions
ControlFlowRegion

의 영역에 대한 정보를 캡슐화합니다BasicBlockControlFlowGraph. 지역은 겹칠 수 있지만 서로 경계를 넘지 않습니다.

구조체

CaptureId

캡처 ID는 중간 결과를 나타내는 불투명 식별자입니다 IFlowCaptureOperation.

인터페이스

ICaughtExceptionOperation

실행 환경에서 예외 필터 또는 처리기에 전달된 예외 인스턴스를 나타냅니다. 이 노드는 .의 ControlFlowGraph일부로만 생성됩니다.

IFlowAnonymousFunctionOperation

의 컨텍스트 ControlFlowGraph에서 익명 함수 작업을 나타냅니다.

현재 사용: (1) C# 람다 식. (2) VB 익명 대리자 식입니다.

익명 함수의 본문에 대한 A ControlFlowGraph 는 바깥쪽에서 사용할 수 있습니다 ControlFlowGraph.
IFlowCaptureOperation

중간 결과가 캡처되고 있음을 나타냅니다. 이 노드는 .의 ControlFlowGraph일부로만 생성됩니다.

IFlowCaptureReferenceOperation

이전에 캡처한 중간 결과의 사용 지점을 나타냅니다. 결과를 캡처하는 팩트가 .로 IFlowCaptureOperation표시됩니다. 이 노드는 .의 ControlFlowGraph일부로만 생성됩니다.

IIsNullOperation

null인지 여부를 Operand 확인하는 결과를 나타냅니다. 참조 형식의 Operand 경우 null 참조인지 확인합니다. null 허용 형식의 경우 Operand 값이 없는지 확인합니다. 노드는 노드를 다시 작성하는 동안 흐름 그래프의 ICoalesceOperationIConditionalAccessOperation 일부로 생성됩니다.

IStaticLocalInitializationSemaphoreOperation

함수의 첫 번째 호출에서 초기화되고 다시는 발생하지 않는 VB 정적 로컬을 초기화하는 동안의 검사를 나타냅니다. 세마포 작업이 true를 반환하는 경우 정적 로컬이 아직 초기화되지 않았으며 이니셜라이저가 실행됩니다. false를 반환하면 로컬이 이미 초기화되었으며 정적 로컬 이니셜라이저 영역은 건너뜁습니다. 이 노드는 .의 ControlFlowGraph일부로만 생성됩니다.

열거형

BasicBlockKind

BasicBlock 종류.

ControlFlowBranchSemantics

에 연결된 ControlFlowBranch의미 체계

ControlFlowConditionKind

에서 조건부 분기 BasicBlock의 종류를 나타냅니다.

ControlFlowRegionKind

에 있을 수 있는 영역의 종류를 정의합니다. ControlFlowGraph